Skip to content

Commit 7975105

Browse files
test(webapp): give the Worker settlement poll room and poll gently
The bridge-integrity test polled its DOM integrity scan every 5ms (~200×/s) while waiting up to 5s for the Worker's release-exact solve. On a loaded CI runner that scan storm starved the very Worker message-handling it awaited, so the release-exact settlement counter did not advance in time and the poll timed out — while the integrity assertions it guards were never in question. Poll gently (100/250/500ms) and allow 15s for the Worker round-trip, with a 60s test budget. No change to what the test verifies. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014K2K5q7x9kmnkG3qpFQhwT
1 parent 04370cc commit 7975105

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

standalone/webapp/tests/e2e/edge-line-jump-integrity.spec.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,11 @@ test.describe("Line-jump geometry integrity", () => {
282282
test("bridges stay attached during Worker preview and at settlement handoff", async ({
283283
page,
284284
}) => {
285+
// This exercises the Worker preview + release-exact settlement path on a
286+
// 30-node fixture; the Worker round-trip can exceed the default budget on a
287+
// loaded CI runner, so give it room (the integrity assertions below are what
288+
// matter, not how fast the Worker returns).
289+
test.setTimeout(60_000)
285290
const fixture = load("perf-routing-30-nodes.json")
286291
await openLocalWithPerf(page, fixture)
287292
await page.waitForFunction(
@@ -330,7 +335,9 @@ test.describe("Line-jump geometry integrity", () => {
330335
perf.routingPreviewCount > 0
331336
)
332337
},
333-
{ intervals: [5], timeout: 5_000 }
338+
// Poll gently: a 5ms interval re-ran the full DOM integrity scan ~200×/s
339+
// and starved the very Worker message-handling it was waiting on.
340+
{ intervals: [100, 250, 500], timeout: 15_000 }
334341
)
335342
.toBe(true)
336343
// The perf write happens in the solver's layout effect. Inspect painted
@@ -372,7 +379,9 @@ test.describe("Line-jump geometry integrity", () => {
372379
}
373380
return false
374381
},
375-
{ intervals: [5], timeout: 5_000 }
382+
// Poll gently: a 5ms interval re-ran the full DOM integrity scan ~200×/s
383+
// and starved the very Worker message-handling it was waiting on.
384+
{ intervals: [100, 250, 500], timeout: 15_000 }
376385
)
377386
.toBe(true)
378387

0 commit comments

Comments
 (0)