-
Notifications
You must be signed in to change notification settings - Fork 38
An extra setup Escape can close Home in the tagged TUI test #1481
Copy link
Copy link
Open
Labels
area:testsThe suite itself — flakes, harnesses, laws, CI redsThe suite itself — flakes, harnesses, laws, CI redsbugSomething the code does that it should notSomething the code does that it should nothygieneTests, laws, dead code, duplication — no person-facing changeTests, laws, dead code, duplication — no person-facing changesev:papercutA wording, a hint, a small wrongness that costs a momentA wording, a hint, a small wrongness that costs a moment
Milestone
Description
Activity
Metadata
Metadata
Assignees
Labels
area:testsThe suite itself — flakes, harnesses, laws, CI redsThe suite itself — flakes, harnesses, laws, CI redsbugSomething the code does that it should notSomething the code does that it should nothygieneTests, laws, dead code, duplication — no person-facing changeTests, laws, dead code, duplication — no person-facing changesev:papercutA wording, a hint, a small wrongness that costs a momentA wording, a hint, a small wrongness that costs a moment
Seen on
dev@debffabf6. Surfaced while verifying #1389; not introduced by it.What happened
TestHomeRestoredNavigationNoModel/180failed once under load whenskipSetupsent another Escape after setup had already disappeared. That Escape landed on Home and closed it. The helper checks the screen after each press but waits 900 ms before checking; a transition within that interval can put the next key on a different page. This is one observed flake, not a measured failure rate.Replication
Deterministic (no model). In the tagged e2e rig, script setup to disappear immediately after an Escape while the next captured frame still contains setup text briefly. Call
skipSetup; its loop can issue another Escape, which Home interprets as close. Assert the final page is Home. The real subtest isgo test -tags e2e -run 'TestHomeRestoredNavigationNoModel/180' ./internal/e2e/.Where
internal/e2e/tmux_test.go:247atdev@debffabf6,skipSetup, sends up to six Escapes separated by a fixed sleep; its screen predicate issetupIsUpat:273.The fix
Wait for a confirmed transition to the target page after each setup action, and stop sending Escape once that transition is observed.
Acceptance
invalidates.