test(e2e): skip the WebGL arm when no WebGL renderer exists

The #12164 probe runs two arms, webgl and dom, and closes by asserting the
active renderer is the requested one. That assertion is right for the dom arm —
it is what proves the pane actually left WebGL, without which the arm is
meaningless — but headless CI has no GPU, xterm falls back to DOM silently, and
the webgl arm then fails.

The failure reads as a Korean rendering defect and is not one, so the webgl arm
now skips with the active renderer named. The dom arm keeps the assertion
unchanged.

This is the third of three checks that have been red on this branch since
2026-08-06. `static analysis` and `verify` were fixed in c51c6b5837e; the CI log
shows this job as 1 failed / 1 passed, the pass being the dom arm.
This commit is contained in:
Neil
2026-08-07 05:35:46 -07:00
parent c51c6b5837
commit 478e67a50a
@@ -115,6 +115,12 @@ async function runProbe(orcaPage: Page, renderer: 'webgl' | 'dom'): Promise<void
item.expectedColumns - 4
)
}
// The DOM arm is only meaningful if the pane actually left WebGL.
// The DOM arm is only meaningful if the pane actually left WebGL. The WebGL arm
// needs a GPU that headless CI does not have, and xterm silently falls back to
// DOM rather than failing — so skip it there instead of asserting, which would
// otherwise report a missing GPU as a Korean rendering defect.
if (renderer === 'webgl' && canvas.renderer !== 'webgl') {
test.skip(true, `no WebGL renderer available (active: ${canvas.renderer})`)
}
expect(canvas.renderer, 'requested renderer was not the active renderer').toBe(renderer)
}