test: a five second wait is tight under four workers - #310
Merged
Merged
Conversation
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
Five batteries in a row on this machine each dropped one spec, a different one every time, and all of them on a five second wait:
transport-after-open,silent-machine,video-aspect,cue-split. Every one passes alone.The reason is written in
e2e/README.mdand the README had not noticed it: that section reasons about a battery that "runs one spec at a time", which stopped being true at N24. Four workers share the machine, so four apps are slower than one was, and five seconds that was generous for one is tight for four. A wait is not an assertion: it is how long the harness allows the app, and a check whose condition never becomes true still fails, only later.Thirteen waits go to fifteen seconds, raised at their own call sites, which is what that section already says to do rather than moving the global multiplier.
Changes
timeout: 5000waits becometimeout: 15000, incurrent-line-bands,dividers,grid-columns,interface-scale,transport-after-open,waveform-sashandwaveform-zoom.What was left alone, and why
asr.spec.jslooks for a dialog that may not be there at all and catches the timeout, so its five seconds is a cost ceiling and raising it would add ten seconds to every call that finds nothing.video-empty.spec.jsasks a surface to stay unmapped rather than to become it, which is a different shape of wait.Verified on Linux. Full gate green, battery 87 spec files and 514 tests in 5:50, and the gate's own verdict line reads GATE GREEN.