test: bound tmux input capture waits and diagnose failed key sends - #13173
Conversation
|
Warning Review limit reachedNext included review available in 6 minutes. 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 (4)
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 ✍️ ✅ |
|
903088e test: bound tmux input capture waits and diagnose failed key sends (manaflow-ai#13173) 82acb3c ci: bound optional compile-admission lookup time (manaflow-ai#13258) 52b9950 Merge pull request manaflow-ai#13306 from manaflow-ai/13070-cloud-sidebar-reference-layout-followup e9f61b9 fix: restore reference Cloud sidebar layout
Summary
The tmux input-mapping tests currently record failed synthetic key sends with nonfatal assertions, then wait for commands those sends never produced. The pipe writer remains open until capture exits, so missing output can leave the test waiting until Xcode's five-minute allowance kills the host. This pattern was observed on #13117 and #13160; it does not establish either PR caused the underlying input failure.
Make failed key sends fatal preconditions. Require a usable window and report hosted-window/live-surface state to help distinguish attachment failures. Extract the command collector into a test helper with a five-second, cancellable deadline and explicit errors for incomplete output. Read events feed an async stream; deadline/cancellation can finish that stream even while the writer remains open. The read source owns a duplicate descriptor and closes it after event delivery stops.
This bounds pipe waits and improves diagnostics. It does not fix or claim to establish the underlying window/readiness cause, does not change the initial runtime-readiness wait, and does not fix the separate CI classifier that can accept timeout/restart runs.
Validation
git diff --checkpass.Related investigation: #13095.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by cubic
Bounds tmux input-mapping test waits so failed key sends and silent pipes fail fast instead of hanging until Xcode kills the test host.
RemoteTmuxInputCommandCapture, a test helper with a 5-second cancellable deadline and explicit timeout/EOF errors.Written for commit b61708c. Summary will update on new commits.