ci-fix: macOS shell wrapper interrupt test intermittently returns 130
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start with tests/integration_tests/foreground_jobs.rs around line 1302 and inspect the interrupted_shell_wrapper_applies_directive_and_cleans_up::case_2 setup and assertions. Compare the failed and passing CI runs, then determine how to capture shell output and wt's exit status on macOS. Done means a recurrence identifies whether wt or the interactive shell produced status 130 and the test failure can be diagnosed.
Written by the indexing model from the issue text.
Description
The affected coverage run on main failed on macOS in foreground_jobs::interrupted_shell_wrapper_applies_directive_and_cleans_up::case_2 at commit 882e7be5747701f751a0c22c912d60daf94b5286. The test sends Ctrl-C to a foreground Python worker and expects the wrapper command's saved status to be 0; wrapper-caught-status contained 130 at foreground_jobs.rs:1302. The test reached its WRAPPER_CAUGHT marker, so the shell continued after the command. The rerun passed both previously failed coverage jobs.
The failure log has no captured terminal output or wt exit status. It cannot distinguish wt returning 130 from the interactive shell setting that status while handling Ctrl-C. The commit changes directive file reading in fish, Nushell, and PowerShell, plus wt's existence check; this case uses bash. The preceding affected run passed. The evidence points to an intermittent failure, without identifying its cause.
No safe code fix is established. A recurrence needs the shell output and wt exit status to identify the failing path. This issue tracks the macOS wrapper case separately from the recurring Linux final-alias test in #4603, for which #4607 is already open. #4609 addresses a possible pending signal receipt race, but this log does not show whether that mechanism occurred here.
- Dominant language
- Rust
- Stars
- 8.8k
- Forks
- 315
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 204
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from max-sixty/worktrunk
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
max-sixty/worktrunk#4727 · 7 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
max-sixty/worktrunk#4260 · 5 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
max-sixty/worktrunk#3847 · 1 comment ·
Maintainers usually reply within 1 day
-
`wt step` confusionOpen
Difficulty 5/5 Over a week Newbie friendliness 28/100
max-sixty/worktrunk#4728 · 3 comments ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
max-sixty/worktrunk#4718 · 1 comment ·
Maintainers usually reply within 1 day
All issues in max-sixty/worktrunk
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
RustCrypto/utils#1597 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
follow-up
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
carrick-sh/carrick#1859 ·
Maintainers usually reply within 1 day
-
crate: spate-kafka documentation priority: medium
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Maintainers usually reply within 1 day