Skip to content

test(e2e): give the RUM flush-ladder test more wall-clock slack on slow runners - #112

Merged
krazymir merged 1 commit into
mainfrom
fix/rum-ladder-test-slack
Sep 23, 2026
Merged

krazymir merged 1 commit into
mainfrom
fix/rum-ladder-test-slack

Conversation

@krazymir

Copy link
Copy Markdown
Contributor

Summary

Fixes a flaky e2e test flagged in a Jenkins CI run: rum.spec.ts:165 — "the flush ladder backs off while idle and snaps back to the floor on a click (§32.4)" — failed on both the initial attempt and its retry, observing 2 of the 3 expected beacons within the 35s wait budget.

Root cause

The test needs ~19s of real ladder ticking (ladder [5, 7]: tick at 5s, then every 7s) before its third beacon lands, plus whatever page-load/hydration/round-trip overhead the runner adds on top. On a loaded CI box that overhead pushed the wait past its 35s budget by a single tick — not a bug in the ladder logic itself (154 other e2e tests in the same run passed, including the other RUM specs).

Fix

Only the two expect.poll() wait budgets grow — 35s → 55s (for the 3-beacon idle wait) and 12s → 18s (for the click-driven snap-back). The timing assertions that actually verify the ladder's behavior are unchanged: idleGap >= 6s and snapGap <= 8s still enforce the real spacing/snap-back correctness. Both new budgets stay comfortably inside the per-test timeout test.slow() already grants (90s locally, 270s in CI).

No application behavior changed — CI-only test change, so per CLAUDE.md's gate exemption this skips the spec-first workflow and the version bump.

🤖 Generated with Claude Code

…ow runners

rum.spec.ts:165 ("the flush ladder backs off while idle and snaps back
to the floor on a click") needs ~19s of real ladder ticking before its
first poll, plus whatever page-load/hydration/round-trip overhead the
runner adds on top. On a loaded CI box that overhead pushed the 3-beacon
wait past its 35s budget by a single tick, failing on both the initial
attempt and the retry with 2/3 beacons observed.

The ladder's own timing assertions (idleGap >= 6s, snapGap <= 8s) are
unchanged — those verify the actual behavior under test. Only the two
expect.poll() wait budgets grow (35s -> 55s, 12s -> 18s), giving a slow
runner real headroom instead of the test racing its own instrumentation.
Both stay comfortably inside the per-test timeout test.slow() already
grants (90s locally, 270s in CI).

No app behavior changed — CI-only test change per CLAUDE.md's gate
exemption; no version bump.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@krazymir
krazymir merged commit 34f17d2 into main Sep 23, 2026
9 checks passed
@krazymir
krazymir deleted the fix/rum-ladder-test-slack branch September 23, 2026 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants