test(e2e): skip the WebGL replay-presentation case where WebGL is unavailable (#29649)

Headless Linux CI (xvfb, no GPU) falls back to the DOM renderer, so the
WebGL scenario added in #29331 waited for a canvas that never attaches.
Other WebGL specs already skip the same way.
This commit is contained in:
Neil
2026-10-16 04:59:39 -07:00
committed by GitHub
parent e522986211
commit e79671b51f
+12 -3
View File
@@ -57,9 +57,18 @@ for (const scenario of [
)
const screen = orcaPage.locator('[data-replay-paint-probe="true"]')
const input = screen.locator('.xterm-helper-textarea')
await (scenario.gpu === 'on'
? expect.poll(() => screen.locator('canvas').count()).toBeGreaterThan(0)
: expect(screen.locator('.xterm-rows')).toBeVisible())
if (scenario.gpu === 'on') {
const webglAttached = await screen
.locator('canvas')
.first()
.waitFor({ state: 'attached', timeout: 10_000 })
.then(() => true)
.catch(() => false)
// Why: headless Linux CI (xvfb, no GPU) falls back to the DOM renderer.
test.skip(!webglAttached, 'WebGL renderer is unavailable in this environment')
} else {
await expect(screen.locator('.xterm-rows')).toBeVisible()
}
await expect(input).toBeFocused()
// Why: feature-tip tooltips can overlap the screen clip and change between captures.
await orcaPage.addStyleTag({