Skip to content

test: fix the 23 failing tests on main - #262

Merged
brettflorio merged 1 commit into
mainfrom
routine/elements-v1-green-20260908-104950
Sep 9, 2026
Merged

test: fix the 23 failing tests on main#262
brettflorio merged 1 commit into
mainfrom
routine/elements-v1-green-20260908-104950

Conversation

@pheekus

@pheekus pheekus commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

This PR fixes a bunch of test issues we've had for ages.

  • Headless test runners no longer cause timeouts where waiting for the next frame is involved;
  • More reliable i18n resolution callback (waiting for the actual bundle instead of guessing);
  • System font stacks are now resolved in-browser instead of being hardcoded.
  • executablePath now honours CHROME_PATH. The default is unchanged, so CI is unaffected; it is what makes the suite runnable off Linux.

Test files run as concurrent tabs. A browser produces no frames for a tab
that is not the visible one, so anything awaiting a frame never settled and
19 tests timed out after 20s each. Turn on CDP focus emulation per page, so
every page keeps getting frames.

The other four failed on their own terms, all from waiting a fixed number
of ticks or pinning one browser's output:

- three i18n tests waited a fixed number of ticks for a translation bundle
  that now needs one more, so they wait for the bundle instead;
- the payment card embed pinned one browser's serialization of the Lumo
  font stack, so it resolves that stack through the browser instead.

Producing frames again also surfaced a notice that was previously never
reached. `ResponsiveMixin` sets attributes on the element it observes,
which can resize it again in the same cycle; the browser's "ResizeObserver
loop completed with undelivered notifications" then lands on window.onerror
and counts against whichever test is running. Drop that one message before
the handler sees it - "loop limit exceeded" is a real runaway loop and must
still fail. Without this, foxy-tax-form and foxy-template-config-form fail.

CHROME_PATH now overrides the browser location. The default is unchanged,
so CI is unaffected; it is what makes the suite runnable off Linux.

Before: 23 failures in 5 groups. After: 177/177 groups green, 7397 passed.
Verified per group; a single group globbing all of ./src is not a reliable
way to run this suite.
@brettflorio
brettflorio merged commit b7984b2 into main Sep 9, 2026
7 checks passed
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