Fix integration tests hanging on machines with a TTY#414
Conversation
After #404 moved detectOrSelectAgent to the command handler, integration tests calling `entire enable --strategy` now hit the interactive agent selection form when a real TTY is available. Set ENTIRE_TEST_TTY=0 in cliEnv() so all CLI subprocesses skip the TTY check by default. Tests that need TTY simulation already override this per-subprocess. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 6e19340bc0c8
PR SummaryLow Risk Overview
Written by Cursor Bugbot for commit 8253d4b. Configure here. |
There was a problem hiding this comment.
Pull request overview
This PR fixes a regression introduced in PR #404 where integration tests would hang on machines with a real TTY. After PR #404 moved detectOrSelectAgent to the enable command handler, tests calling entire enable --strategy started hitting the interactive agent selection form when running on machines with a TTY available, causing the tests to block indefinitely.
Changes:
- Sets
ENTIRE_TEST_TTY=0in the default test environment to prevent interactive prompts from blocking tests - Tests that specifically need TTY simulation (like hook tests) already override this per-subprocess with
ENTIRE_TEST_TTY=1
Summary
detectOrSelectAgentto the command handler, integration tests callingentire enable --strategynow hit the interactive agent selection form when a real TTY is available, causing hangsENTIRE_TEST_TTY=0incliEnv()so all CLI subprocesses skip the TTY check by defaultENTIRE_TEST_TTY=1Test plan
mise run fmt && mise run lintpassesmise run test:cipasses (unit + integration)ENTIRE_TEST_TTY=1usages are on per-subprocess env, not viacliEnv()🤖 Generated with Claude Code