Repository navigation
test(workroomd): the downgrade test waits out a busy script and says what it got - #602
Merged
Merged
Conversation
…what it got (#601) a_hand_off_to_an_older_build_is_refused writes small scripts and runs them at once. On Linux a script can still be open for writing in a child another test thread forked and hasn't exec'd, and running it then fails with ETXTBSY; the probe's error didn't match the expected refusal and the bare assert said nothing. start_probe retries a start Linux reports busy (10 ms, up to 1 s), and assert_refused prints the error it got. A Linux-only test holds a script open for writing to show the plain start fails with ETXTBSY and start_probe succeeds once it is closed. Fixes #601 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QxGw2gUmeT3FCNK7RnCdky
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 Opened by Claude Code.
Summary
daemon::handoff::tests::a_hand_off_to_an_older_build_is_refusedfailed on CI (run 42504079128, #597) at a bareassert!(… .contains("older than this daemon's build 200")), which didn't say what error it got instead.The test writes small shell scripts and runs them straight away. On Linux, a script can still be open for writing in a child that another test thread has forked but not yet exec'd. Running it in that window fails with
ETXTBSY("Text file busy"), so the probe returns a start error, not the refusal the test expects.Test code only; the daemon's own hand-off is unchanged.
Evidence
rust:1.96.1-bookwormin Docker): it passes, which shows both halves:ETXTBSY;start_probewaits for the file to close, then succeeds.workroomd --libruns on Linux and 20 single-test runs on macOS. SoETXTBSYis the likely cause rather than a confirmed one. If it ever fails again,assert_refusednow names the real error.make vcs-lint(Rust 1.96.1): clean.make vcs-test VCS_TEST_FLAGS="-p workroomd --lib":330 passedwithoutterminal-state, and425 passed, 2 ignoredwith it.rustjobs, not on macOS.Merge Danger
Door: two-way. Blast Radius: none outside this test.
Fixes #601
🤖 Generated with Claude Code
https://claude.ai/code/session_01QxGw2gUmeT3FCNK7RnCdky