do not set ENTIRE_TEST_TTY=0 for actual agent execution in E2E tests#579
Conversation
Entire-Checkpoint: ef7f83c29f03
PR SummaryMedium Risk Overview This removes Written by Cursor Bugbot for commit 145bf93. Configure here. |
There was a problem hiding this comment.
Pull request overview
Adjusts E2E agent runners so they no longer force ENTIRE_TEST_TTY=0 during actual agent execution, helping E2E runs surface real-world TTY/env-dependent behaviors (e.g., inline commits, GEMINI_CLI=1, GIT_TERMINAL_PROMPT=0).
Changes:
- Removed
ENTIRE_TEST_TTY=0from non-interactive agent executions (RunPrompt) for opencode, gemini, and droid. - Removed
ENTIRE_TEST_TTY=0from tmux-based interactive session launches (StartSession) for opencode, gemini, and droid. - Removed
ENTIRE_TEST_TTY=0from Claude’s cleaned env / env args for both prompt runs and tmux sessions.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| e2e/agents/opencode.go | Stops forcing ENTIRE_TEST_TTY=0 for opencode prompt runs and tmux sessions. |
| e2e/agents/gemini.go | Stops forcing ENTIRE_TEST_TTY=0 while retaining ACCESSIBLE=1 and headless-mode-related env handling. |
| e2e/agents/droid.go | Stops forcing ENTIRE_TEST_TTY=0 for droid prompt runs and tmux sessions. |
| e2e/agents/claude.go | Removes ENTIRE_TEST_TTY=0 from Claude’s cleaned env and tmux env args. |
Comments suppressed due to low confidence (1)
e2e/agents/claude.go:132
- This stops forcing
ENTIRE_TEST_TTY=0, butcleanEnv()currently only stripsCLAUDECODE=. IfENTIRE_TEST_TTYis set in the parent environment (local debugging, other test harnesses), it will still be passed through and can reintroduce the masking this PR is trying to avoid. Consider also strippingENTIRE_TEST_TTYincleanEnv()(and/or unsetting it for the tmux session).
env := append(cleanEnv(),
"ACCESSIBLE=1",
// See https://code.claude.com/docs/en/settings - without this setting Claude was going off and
// trying to Git-clone its plugin marketplace, which meant calling git commands that could fail
// due to a user's exotic config (e.g. in paul's case, needing SSH-keychain access granted every
// time). That's no good, so for the E2E tests, we tell Claude not to make calls to auto-update
// itself, clone its plugins, etc.
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1",
"CLAUDE_CONFIG_DIR="+configDir,
)
Entire-Checkpoint: 5c54c447aad1
Resolve merge conflict markers in e2e.yml and manual_commit_hooks.go from merging main into the kiro-oneshot branch. Strip ENTIRE_TEST_TTY from Kiro's E2E tmux sessions so agents exercise real TTY detection paths, matching the pattern established in PR #579. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 838559434a74
This hides any issues with the agent doing inline commits and TTY or used env variables (like 'GEMINI_CLI=1
orGIT_TERMINAL_PROMPT=0` changes or hides problems with new agent integrations.So only set that when it's needed, for example when doing
git commit -m ""for manual commits since then we want to hide the prompt.