mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-04 10:26:52 +02:00
test: pin every-record outcome counts and the twelve doc-sync callbacks
This commit is contained in:
1 parent
1e640bbfb7
commit
dc640acd8a
2 files changed
+6
-6
No files matched your search
@@ -582,7 +582,7 @@ mock.module(path.join(root, 'test/helpers/session-runner.ts'), () => ({ async ru
|
|||||||
return returnedResult;
|
return returnedResult;
|
||||||
} }));
|
} }));
|
||||||
await import(path.join(root, 'test/skill-e2e-ship-docsync.test.ts'));
|
await import(path.join(root, 'test/skill-e2e-ship-docsync.test.ts'));
|
||||||
expect(callbacks.size).toBe(13);
|
expect(callbacks.size).toBe(12);
|
||||||
const names = ['ship-docsync-failure', 'ship-docsync-missing-marker', 'ship-docsync-missing-asset',
|
const names = ['ship-docsync-failure', 'ship-docsync-missing-marker', 'ship-docsync-missing-asset',
|
||||||
'ship-docsync-launch-failure', 'ship-docsync-timeout-unsettled', 'ship-docsync-late-result',
|
'ship-docsync-launch-failure', 'ship-docsync-timeout-unsettled', 'ship-docsync-late-result',
|
||||||
'ship-docsync-stale-before', 'ship-docsync-stale-after', 'ship-docsync-recovery'];
|
'ship-docsync-stale-before', 'ship-docsync-stale-after', 'ship-docsync-recovery'];
|
||||||
|
|||||||
@@ -1183,7 +1183,7 @@ describe('shared-code capture attempt accounting', () => {
|
|||||||
expect(result.tests.map((row: EvalTestEntry) => row.transcript!.filter(event => event.scenario_name).length))
|
expect(result.tests.map((row: EvalTestEntry) => row.transcript!.filter(event => event.scenario_name).length))
|
||||||
.toEqual([3, 3, 2, 2, 4, 4]);
|
.toEqual([3, 3, 2, 2, 4, 4]);
|
||||||
expect(result.total_cost_usd).toBe(0.18);
|
expect(result.total_cost_usd).toBe(0.18);
|
||||||
expect(collectorOutcomeCounts([result])).toEqual({ executed: 3, reused: 0, passed: 3, failed: 0, manual_accepted: 0, attempts: 6 });
|
expect(collectorOutcomeCounts([result])).toEqual({ executed: 6, reused: 0, passed: 3, failed: 3, manual_accepted: 0, attempts: 6 });
|
||||||
});
|
});
|
||||||
|
|
||||||
test('missing scenarios in a later attempt cannot inherit an earlier pass', async () => {
|
test('missing scenarios in a later attempt cannot inherit an earlier pass', async () => {
|
||||||
@@ -1197,7 +1197,7 @@ describe('shared-code capture attempt accounting', () => {
|
|||||||
})).rejects.toThrow('missing scenarios: second');
|
})).rejects.toThrow('missing scenarios: second');
|
||||||
const result = await finalized(captures);
|
const result = await finalized(captures);
|
||||||
expect(result.tests[1]).toMatchObject({ attempt: 2, passed: false, exit_reason: 'attempt_incomplete' });
|
expect(result.tests[1]).toMatchObject({ attempt: 2, passed: false, exit_reason: 'attempt_incomplete' });
|
||||||
expect(collectorOutcomeCounts([result])).toEqual({ executed: 1, reused: 0, passed: 0, failed: 1, manual_accepted: 0, attempts: 2 });
|
expect(collectorOutcomeCounts([result])).toEqual({ executed: 2, reused: 0, passed: 1, failed: 1, manual_accepted: 0, attempts: 2 });
|
||||||
});
|
});
|
||||||
|
|
||||||
test('setup, verification and cleanup failures survive even when all recorded captures passed', async () => {
|
test('setup, verification and cleanup failures survive even when all recorded captures passed', async () => {
|
||||||
@@ -1327,7 +1327,7 @@ test('actual-retry', () => captures.runAttempt('actual-retry', ['audit'], 5_000,
|
|||||||
const result = JSON.parse(fs.readFileSync(path.join(resultDir, file), 'utf8'));
|
const result = JSON.parse(fs.readFileSync(path.join(resultDir, file), 'utf8'));
|
||||||
expect(result.tests.map((row: EvalTestEntry) => [row.attempt, row.passed, row.exit_reason]))
|
expect(result.tests.map((row: EvalTestEntry) => [row.attempt, row.passed, row.exit_reason]))
|
||||||
.toEqual([[1, false, 'timeout'], [2, true, 'success']]);
|
.toEqual([[1, false, 'timeout'], [2, true, 'success']]);
|
||||||
expect(collectorOutcomeCounts([result])).toEqual({ executed: 1, reused: 0, passed: 1, failed: 0, manual_accepted: 0, attempts: 2 });
|
expect(collectorOutcomeCounts([result])).toEqual({ executed: 2, reused: 0, passed: 1, failed: 1, manual_accepted: 0, attempts: 2 });
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Bun outer timeouts stay failed after late completion, with and without a retry', () => {
|
test('Bun outer timeouts stay failed after late completion, with and without a retry', () => {
|
||||||
@@ -1369,8 +1369,8 @@ test('outer-timeout', () => captures.runAttempt('outer-timeout', ['audit'], 50,
|
|||||||
.toEqual(mode === 'retry' ? [[1, false], [2, true]] : [[1, false]]);
|
.toEqual(mode === 'retry' ? [[1, false], [2, true]] : [[1, false]]);
|
||||||
expect(['timeout', 'attempt_incomplete']).toContain(result.tests[0].exit_reason);
|
expect(['timeout', 'attempt_incomplete']).toContain(result.tests[0].exit_reason);
|
||||||
expect(result.tests[0].error).toContain('Test attempt stopped:');
|
expect(result.tests[0].error).toContain('Test attempt stopped:');
|
||||||
expect(collectorOutcomeCounts([result])).toEqual({ executed: 1, reused: 0, manual_accepted: 0,
|
expect(collectorOutcomeCounts([result])).toEqual({ executed: mode === 'retry' ? 2 : 1, reused: 0, manual_accepted: 0,
|
||||||
passed: mode === 'retry' ? 1 : 0, failed: mode === 'retry' ? 0 : 1, attempts: mode === 'retry' ? 2 : 1 });
|
passed: mode === 'retry' ? 1 : 0, failed: 1, attempts: mode === 'retry' ? 2 : 1 });
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in new issue
Block a user