2e108857

Author: Michael Lynch <git@mtlynch.io>

Stop e2e tests from failing while the game boots on a loaded machine

The gameplay suite intermittently failed on a busy machine: the
world-edge test failed once during a full flake-target build, and
running the suite under 2x CPU oversubscription reproduced failures in
other gameplay tests. Traces from the reproduced failures show every
one died before the test body started: spawning the per-test Phoenix
server took 15-17 seconds under load, which trips waitForServer's 15s
deadline ("Phoenix did not become ready") or leaves the openGame boot
gates to die against the 20s test timeout ("Test timeout of 20000ms
exceeded" while waiting for the loading screen).

The test assertions themselves tolerate load: the world-edge checks
hold even when the held key never reaches the page, verified with a
no-input probe, and 55 repetitions under CPU saturation never failed
an assertion. Only the boot path is timing-sensitive, so the fix
raises the three boot deadlines: waitForServer to 30s, the
loading-screen and ready gates to explicit 30s expect timeouts, and
the per-test timeout to 60s so the gates can operate. Assertion
timeouts stay at 5s.

Under the same 2x oversubscription that previously failed the suite,
the full gameplay spec now passes 24 of 24 repetitions.

Total

22s

Time to Start Worker time Duration Time to finish Idle
Config 2s 10s 10s 13s 2s
Eval 9s 14s 14s 24s 0s
Build 20s 0s 0s 20s 0s
Suite 2s 25s 22s 24s 2s

Timeline

Config Eval Build
0s10s20s