test(update): Windows progress self-test no longer flakes on transient /progress stalls - #91255
Merged
Merged
Conversation
… socket stalls A single urlopen(timeout=5) TimeoutError from the PS runspace listener failed the test on a loaded runner (run 32440286339) even though the listener recovered moments later — a transient stall is not the hang this test guards. /progress sampling now retries until a deadline (only a persistently unresponsive listener fails), the self-test hold grows 10s -> 30s so retry time cannot push sampling past the held stage, and the exit wait gets matching headroom.
Contributor
૮ >ﻌ< ა ci reviewran on 5cec152 — test(update): Windows progress self-test survives transient
|
13 tasks
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.
Summary
test_progress_advances_while_the_orchestrator_blocksno longer fails on a transient/progresssocket stall — only a listener that stays unresponsive until a deadline now fails the test.Root cause of the flake (run 32440286339, Aug 21): the test sampled the Windows updater's loopback
/progressendpoint with a single rawurlopen(timeout=5). On a loaded CI runner the PowerShell runspace listener can lose the CPU for a few seconds and answer late — the TimeoutError propagated straight out as a test failure even though the listener recovered immediately. A one-off slow reply is not the hang this test guards against.Changes
tests/test_desktop_update_windows_progress.py:_read_progress()retries transientTimeoutError/OSErroruntil a caller-supplied deadline (always at least one attempt); only persistent unresponsiveness raisesValidation
windows_onlymarker intactInfographic