MeetingPromptDetector tests: make the gate suites fail when their gate breaks - #1915
Merged
Merged
Conversation
…e breaks The own-capture, busy-presentation, disabled-detection and already-recording suites used a Chrome mic with no window titles (makeIsolatedDetector's default). An untitled browser waits 60 s before it prompts, so they stayed quiet whether or not their gate worked: removing the busy or the disabled gate turned nothing red, and removing the own-capture gate left the suite named for it green. Each now shows a Meet tab, which prompts at once, so the gate is the only thing keeping it quiet. Also raise the muted-browser suite's mic-release grace from 5 s to 60 s so a slow machine can't end the browser session inside the test's gap; the mic coming back cancels it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #1906 and #1907, which fixed the
MeetingPromptDetectorTestsload flake with a settle signal andmakeIsolatedDetector. I built the same fix in parallel, and mutation testing it turned up one gap that's still onmain. Test-only change.The gap
Four suites promise a gate keeps a live call quiet:
They all use a Chrome mic with no window titles, which is
makeIsolatedDetector's default. An untitled browser waits 60 s before it prompts. So these suites stay quiet whether the gate works or not, and they can't fail when it breaks.The fix
Each of those suites now shows a Meet tab, which prompts at once, so the gate is the only thing keeping it quiet. Also, the muted-browser suite's mic-release grace goes from 5 s to 60 s, so a slow machine can't end the browser session inside the test's gap. The mic coming back cancels it, so the test doesn't get slower.
Proof
Same detector on current
main, with three gates broken on purpose:maintodayUnmutated, the filtered suite passes 138/138: on the build run and 6 more runs of that binary (load ~74).
Earlier in the session I built the parallel settle-counter version on the pre-#1906 base. Against that, the old fixed ~100 ms wait failed 72 of 72 runs at load 147–390 on 18 cores (2–53 assertions each), including 65 runs alongside
bash build.sh --no-open. The counter version passed all 81 of its runs, 72 of them interleaved with those baseline runs. That's the same design #1906 merged, so that evidence backs it too.Checks
bash check.sh: PASS (5 mapped checks)build.sh --no-openrun-tests.sh: 19,961/19,961check-test-shape.py --self-testcheck-test-shape.pycheck-source-pins.py --changed-onlyReview:
/code-review(high) on the earlier, superseded version found no correctness issues; its two small fixes went into what #1906 already does. Codex review couldn't run:~/.codex/config.tomlpins a model this login rejects. This follow-up is 17 lines of test setup.Nothing quarantined. No mic, camera, Accessibility or real-call proof claimed or needed; detector behavior is unchanged.
🤖 Generated with Claude Code