Repository navigation
test: separate reftable semantics from production latency budgets - #13185
teamleaderleo wants to merge 2 commits into
Conversation
|
Warning Review limit reachedNext included review available in 1 minute. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: manaflow-ai/cmux/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
All contributors have signed the CLA ✍️ ✅ |
|
|
Duplicate of #13186, which merged. Both fixed the same reftable test flake in the same file. |
Reftable semantic tests inherit the production two-second Git-read budget while running real subprocesses alongside the rest of the package. The full package reproduces a failure in
metadataUsesGitResolvedWorktreeBranchAndWatchesReftableStorageeven though the suite passes in isolation. Temporary local instrumentation showed a successfulrev-parsestarting with 14 ms remaining and taking 33 ms; the reader correctly rejected it as incomplete after the deadline.Give these real-process semantic tests an explicit 15-second budget through existing injection points. For the ambient-repository test, use the executable that successfully created the reftable fixture, so environment isolation is tested independently of backend fallback. Preserve branch, commit, watch-path, unborn-branch, and fallback assertions, and add a direct check that an expired reference read remains unreadable without starting Git. Production code and its deadlines are unchanged.
Validation: baseline full-package runs failed locally; the test-first commit also fails the existing linked-worktree test (208 tests, 1 issue). With the fix, the full package passes, including the deadline/process-termination tests. A separate full run with Git 2.53 preferred for fixture creation also passes 208 tests. Builds use two compiler jobs locally, without launching the app. No hosted diagnostic run was dispatched.
This is a scoped reliability fix, not a claim that the original CI failure is conclusively explained: #13163 failed
plumbingIgnoresAmbientRepositorySelection, which still passes in isolation locally, and CI's Homebrew Git is 2.55 rather than the local versions. Hosted confirmation remains pending.Related: #13095, #13163.
Summary by cubic
Reftable semantic tests were inheriting the production two-second Git-read budget, so real-process assertions could time out when the full package runs in parallel. They now use an explicit 15-second wall-time budget; production code and deadlines are unchanged.
Changes
.unreadablewithout starting Git.Validation
Written for commit 23b61fe. Summary will update on new commits.