Repository navigation
Flake batch 9: Windows PTY console test and gh-shim rung tests wait out runner load - #1062
Merged
Merged
Conversation
…nd-trip budgets bash_pty_waiter_inherits_console_input failed on Windows CI with the task still running at 30 s and pty_raw ending in "ready". Native repro on a Windows Server 2022 runner: 0/180 failures unloaded (including input written before ReadLine and at spawn) and 0/96 with 16 round trips in parallel on 4 CPUs, where PowerShell took up to 21.5 s to print ready but ready-to-exit never exceeded 1.7 s. AFT answers ConPTY's ESC[6n query in the PTY reader, so the input is not held behind it. The single 30 s budget from spawn left no time for the round trip after a slow start. The test now waits up to 120 s for ready, then 30 s for exit, still writes once and checks the exact exit code and read: output, and its failure messages name the phase and when ready was seen and the write returned. write_pty logs an INFO line with the byte count (never the content) so a CI log shows whether input reached the terminal. Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com> (cherry picked from commit c90b8106690991dadbdc521d85f0943662cc8cc3)
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
cached_lower_rungs_are_reused_only_with_same_repository_provenance failed on a loaded Windows runner (main, run 40598367225): rung discovery overran the 2 s product budget, so the answer became R1 (budget exhausted) instead of the R2 the test expects. Tests that expect discovery to finish now use a 60 s test deadline; tests of the budget itself still pass an expired one. Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
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.
Main's Windows integration shard failed
bash_exit_status_test::bash_pty_waiter_inherits_console_input(run 40589580750): the task printed "ready" but was still running at the test's single 30 s deadline, which started at spawn.Native repro on a Windows Server 2022 runner: 0 lost inputs in 180 unloaded runs (including input written before ReadLine, at spawn, and 1.5 s late). With 16 parallel round trips on 4 CPUs, PowerShell took up to 21.5 s just to print "ready", while ready-to-exit never exceeded 1.66 s. AFT already answers the console's cursor-position query before any typed input. So this is test timing: startup used most of the shared budget.
The test now waits up to 120 s for "ready", then up to 30 s from the single write. It still checks exactly one write, exit code 3 and the
read:hellooutput, and failure messages name the stalled phase with timings.bash_writenow logs one INFO line with the byte count it sent (never the content), so a CI log shows whether input reached the terminal.Verified: fixed test passed natively on Windows, 96/96 at 16 in parallel; 16 bash_write lib tests on Linux; Windows target check with -D warnings.
Summary by cubic
Fixes two flaky Windows CI tests: the PTY console round-trip test now waits for PowerShell startup and the round trip separately, and gh-shim rung discovery no longer trips over the 2 s product budget on a loaded runner.
ready, then up to 30 s for exit after the single write; checks are unchanged and failures name the stalled phase with timings.bash_writelogs one INFO line with the byte count it sent (never the content) so CI logs show whether input reached the terminal.Written for commit 7c9e693. Summary will update on new commits.
Also:
gh_shim::tests::cached_lower_rungs_are_reused_only_with_same_repository_provenancefailed on main's Windows shard (run 40598367225): rung discovery overran the 2 s product budget on the loaded runner, so it answered R1 (budget exhausted) instead of the expected R2. The seven gh-shim tests that expect discovery to finish now use a 60 s test deadline. Tests of the budget itself (expired deadlines, slow test daemons, probe stages) keep the 2 s product budget. 149 gh_shim tests pass on Linux.