gitlab-ce/scripts/frontend/check_jest_vue3_quarantine_...

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;