27 lines
981 B
JavaScript
27 lines
981 B
JavaScript
const { relative } = require('node:path');
|
|
const FixtureCISequencer = require('./fixture_ci_sequencer');
|
|
const { getLocalQuarantinedFiles } = require('./jest_vue3_quarantine_utils');
|
|
|
|
function relativePath(test) {
|
|
return relative(test.context.config.rootDir, test.path);
|
|
}
|
|
|
|
class CheckVue3QuarantineSequencer extends FixtureCISequencer {
|
|
async shard(tests, settings) {
|
|
const quarantinedFiles = new Set(await getLocalQuarantinedFiles());
|
|
const testsUnderQuarantine = tests.filter((test) => quarantinedFiles.has(relativePath(test)));
|
|
const testsNotUnderQuarantine = tests.filter(
|
|
(test) => !quarantinedFiles.has(relativePath(test)),
|
|
);
|
|
|
|
console.log(
|
|
`[check_vue3_quarantine_sequencer] Omitting ${testsNotUnderQuarantine.length} specs not under quarantine:`,
|
|
);
|
|
console.log(testsNotUnderQuarantine.map(relativePath).join('\n'));
|
|
|
|
return super.shard(testsUnderQuarantine, settings);
|
|
}
|
|
}
|
|
|
|
module.exports = CheckVue3QuarantineSequencer;
|