Wait for the boot as long as the boot takes

The specs added over this series each opened with an untimed check that the
canvas was there, which gives it Playwright's default five seconds. That is
the one wait in this suite that cannot be made faster: eight workers share a
software rasterizer, and what they are all waiting on is the same first paint.
Under a full parallel run five seconds is a coin toss, and it came up wrong on
the route-plotting spec.

Thirty, like every other wait in here that crosses a camera flight.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016jxMkwA2rbicdGxHosecYi
This commit is contained in:
2026-08-21 15:20:00 +02:00
co-authored by Claude Fable 5
parent b05324337c
commit 8ceea02875
4 changed files with 19 additions and 7 deletions
+5 -2
View File
@@ -34,7 +34,10 @@ test.describe('Plan view', () => {
await expect(plan).toHaveAttribute('aria-pressed', 'true');
// The scene survives the swap: it is still this system, still labelled, still readable.
await expect(page.getByTestId('scene-canvas')).toBeVisible();
// Generously timed on purpose: this suite shares one software rasterizer, and the boot
// it waits on is the slowest thing in it. The default five seconds is a coin toss
// under a full parallel run.
await expect(page.getByTestId('scene-canvas')).toBeVisible({ timeout: 30_000 });
await expect.poll(spread, { timeout: 30_000 }).toBeGreaterThan(2);
await page.getByRole('tab', { name: 'Readout' }).click();
await expect(page.getByTestId('hud-title')).toHaveText('Sol');
@@ -48,7 +51,7 @@ test.describe('Plan view', () => {
test('keeps the scale ladder honest about how far out the view is', async ({ page }) => {
test.setTimeout(90_000);
await page.goto('/?stars=4000');
await expect(page.getByTestId('scene-canvas')).toBeVisible();
await expect(page.getByTestId('scene-canvas')).toBeVisible({ timeout: 30_000 });
await expect(page.getByTestId('hud-current-level')).toHaveText('Solar Neighbourhood', { timeout: 30_000 });
await page.getByRole('tab', { name: 'Display' }).click();