(testName: string, result: CodexResult, passed: boolean)
| 85 | } |
| 86 | |
| 87 | function recordCodexResult(testName: string, result: CodexResult, passed: boolean) { |
| 88 | evalCollector?.addTest({ |
| 89 | name: testName, |
| 90 | suite: 'codex-e2e-plan-format', |
| 91 | tier: 'e2e', |
| 92 | passed, |
| 93 | duration_ms: result.durationMs, |
| 94 | cost_usd: 0, // Codex doesn't report cost in the same way; tokens tracked separately |
| 95 | output: result.output?.slice(0, 2000), |
| 96 | turns_used: result.toolCalls.length, |
| 97 | exit_reason: result.exitCode === 0 ? 'success' : `exit_code_${result.exitCode}`, |
| 98 | }); |
| 99 | } |
| 100 | |
| 101 | afterAll(async () => { |
| 102 | if (evalCollector) { |
no test coverage detected