fix: reject added test-runner failures

This commit is contained in:
bincxz committed 2026-07-31 18:50:09 +08:00
1 parent 0e1b42d578
commit 0d75e0703d
2 files changed
+20

No files matched your search

+10
View File
@@ -170,6 +170,16 @@ function compareTapResults(baseline, candidate) {
};
}
if (candidate.exitCode !== baseline.exitCode) {
return {
passed: false,
kind: 'unclassified_failure',
baselineFailures: baseline.failures,
candidateFailures: candidate.failures,
newFailures: candidate.failures,
};
}
if (candidate.failCount === 0 || candidate.testCount < baseline.testCount) {
return {
passed: false,
+10
View File
@@ -64,6 +64,16 @@ test('rejects a different candidate failure even when both runs are red', () =>
assert.deepEqual(result.newFailures, ['candidate regression']);
});
test('rejects an additional runner failure after comparable TAP output', () => {
const sameTap = tap({ failures: ['base failure'] });
const result = compareTapResults(
parseTapResult(sameTap, 1),
parseTapResult(`${sameTap}\nrunner crashed after tests`, 2),
);
assert.equal(result.passed, false);
assert.equal(result.kind, 'unclassified_failure');
});
test('distinguishes same-title failures by stable TAP diagnostics', () => {
const withDiagnostic = (error, location = '/workspace/example.test.js:10:1') => [
'TAP version 13',