You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test: correct the harness docs, and stop one flake misreporting its cause
Three documentation claims in the test harness were wrong, and the wrong one
was load-bearing: it produced a diagnosis of the intermittent CI failure that
does not hold.
- `tests/helpers/webgl-context.js` said vitest runs every spec file in one
page, so WebGL contexts accumulate across files until the browser's cap
force-loses the oldest and a later `beforeAll` stalls. Measurably false: a
probe shows a global set in one file is `undefined` in the next, and a
context opened in one is already lost by the next. Vitest isolates each
spec FILE. Contexts accumulate only WITHIN a file, across describe blocks.
- `vitest.config.ts` repeated the same claim.
- `src/system/device.ts` carried a JSDoc `@example` calling `me.video.init()`
— an API that no longer exists — on an already-deprecated function. That
one is user-facing, since it ships in the published docs.
All three now say what was measured, and the helper carries an explicit note
not to rebuild the starvation theory from it. The helper itself is still
worth using, for a different reason: acquisition through a software
rasterizer is genuinely slow, so creating fewer contexts saves real time.
`application_lifecycle` is the one spec that has failed intermittently here.
It built SIX WebGL applications in a loop — the most context churn in the
suite — and checked handler identity before checking a handler exists, so a
cycle that failed to obtain a renderer reported "reused a previous handler".
That message sent this investigation the wrong way. Three cycles prove the
property just as well, and the existence check now runs first, so a failure
says what actually happened.
The cause of the CI flake remains unknown. The `hookTimeout` note — that
acquisition can take tens of seconds under load — is the better lead.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QVjYzf76AEU3wJk766JAQi
0 commit comments