Repository navigation
Commit a40ed6b
probe
test(webui): wait for the page's state in the isolated Chromium suite
The suite slept 750ms after every navigation, every frame and every
repaint. The case that walks a page's history spent five of those sleeps
— 3750ms of its 4412ms — asleep, so it blew through the 5000ms budget
on a runner a little slower than the one it was measured on. Nothing in
the product had changed: the case failed on mainline on its own
arithmetic.
Every sleep is now a wait for the state the case asserts: the title the
page shows, the generation the provider holds for it, the page's place
in the target list, the frame that has arrived. A wait that never comes
true fails the case at its own deadline with the state it waited for
named, so the cases fail faster and say more than they did — the sleeps
only ever guessed, and several of them guessed about something the
provider already reports exactly.
The streaming case opens each page's stream while that page is the one
on screen, because Chrome renders the front page and throttles the ones
behind it. Before, the second stream took the front and the first page
produced no picture at all: the case passed on CI by luck and failed
here every time.
The four cases that drive a real browser and measured over 700ms are
given a 30s budget, the number the repository's other real-browser
suites use (browser-panel-live-navigation and
workspace-browser-tab-acceptance; webui-dependency-check uses 60s for
its own gate). The eight that measured under 250ms keep the default
budget, so a case that suddenly takes seconds still says something. The
teeth are in the waits: a broken navigation fails at the 3s wait
deadline with the state it waited for named, not by running a budget
out.
Checked against a real Chromium: the case that failed on mainline went
from 4412ms (4503ms here) to 1075ms, and the file from 39910ms to about
5200ms. Breaking the provider's back/forward on purpose fails the case
in 3767ms with "timed out waiting for the back navigation to land";
breaking its generation counter fails two more, at 3851ms and 4146ms.
The suite's Chrome discovery now knows about macOS, the way the
provider's own candidate list does, so the suite runs — and can be
checked — on a developer machine at all.1 parent 90e0dce commit a40ed6b
1 file changed
Lines changed: 249 additions & 53 deletions
0 commit comments