Repository navigation
fix(tests): master's CI test job is green again: locale-free clock text, decision tests that start no git process behind a guard that fails before any process starts, dated version folders, platform-pinned openFiles, color-free dry-run log - #560
Conversation
…he system locale, because the UTC runner with LANG=C.UTF-8 prints 10:00:00 AM
…because two folders made in one test share an mtime on Linux and directory order chose the one kept
…odes, because picocolors colors its output whenever CI is set
…nux reads /proc since the process layer moved it there and never reached the mocked spawn
…t process, because bun 1.4.2 loses a child's exit under bun test --parallel and the hung post timed out every later test until the CI budget ran out
|
🐉 eve review — ✅ APPROVE · 0 findings
run Previous runs (1)
|
|
Warning Review limit reachedEnable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Next included review available in 30 minutes. View limit details
Comment |
There was a problem hiding this comment.
🐉 eve review — 🟡 Review comments
cd73b1b· 1 actionable finding · reviewed by find codex/gpt-6.1-sol + codex/gpt-6-luna, verify codex/gpt-6-luna · view run ↗
| Severity | Count |
|---|---|
| 🟡 Medium | 1 |
Blast radius
isGit(+) → 1 dependent(s) outside this PR: src/indexer/lib/sources/file-source.ts- 4 compiler diagnostic(s) on the PR head touch this diff
ℹ️ Claims vs diff — Claim c1 'The PR changes tests or test helpers only; it makes no production-code changes, loosens n…' is not supported: The changed test files include only tests, but
src/utils/test/no-git.tsis a new test helper; the summary cannot establish whether assertions or timeouts changed.
5 claims could not be checked from the diff (c2, c3, c4, c5, c6).
…xpected start before a process exists, so a regression fails at once instead of hanging
There was a problem hiding this comment.
🐉 eve review — ✅ Approved
c1f3269· 0 actionable findings · reviewed by codex/gpt-6.1-sol · view run ↗
Blast radius
answerGitWithoutSpawning(~) → 2 dependent(s) outside this PR: src/question/lib/inbox/drafts.test.ts, src/question/lib/inbox/inbox.test.ts- 4 compiler diagnostic(s) on the PR head touch this diff
Master's CI test job fails on its own (run 39253069643 at cc0ec45), and every PR that runs it inherits the failure (#554, #558). 26 failing tests, four causes. All fixes change tests or test helpers only: no production code, no loosened assertion, no raised timeout.
1.
ClaudeSessionFormatterclock tests (4). The clock text depends on the locale: the runner'sLANG=C.UTF-8prints10:00:00 AM, the test expected a 24-hour clock. The test now builds its expected text withformatDateTime. Reproduced and proven in a Linux container (oven/bun:1.4.2, UTC,CI=true).2. Decision store, inbox and drafts tests hanging at 20 s (18). Bun 1.4.2 under
--parallelon Linux sometimes loses a child process's exit (oven-sh/bun#43697), after which every later test of the file times out and the suite never finishes. A decision post startsgiteight times (about 400 starts in the store tests). The newsrc/utils/test/no-git.tsanswersgitwith "not a repository" without starting a process; a guard test proves a post starts no process. The same class was fixed for the pending-form tests in #523. Not reproduced locally (8 parallel loops passed in the container); the cause is inferred from six hung CI logs, each first timeout inside a post. The repository-context tests use fixture folders that do not exist, so real git already answered "not a repository" there.3. app-bloat old cursor-agent version (1). Both version folders got the same mtime, and directory order kept the wrong one. The test now dates the old folder 30 days back. Proven in the container.
4.
openFilestimeout test andrunPresetdry run (2). On LinuxopenFilesreads/procand never startslsof, so the test now pins the darwin path. picocolors colors output wheneverCIis set, so the dry-run test strips color codes. Proven in the container and withCI=trueon macOS.Verify:
CI=true bun scripts/test.ts <the 7 changed test files>: 285 pass, 0 fail.tsgo --noEmitclean.Left out on purpose: the analyzer itself still breaks an mtime tie by directory order on real machines, and the store tests on macOS still read the live cmux; both are separate fixes.