browser tests run only by hand: the suites that launch Chrome / Chromium move to tests/browser/*.browser.ts (bun test, ci, ci:quick and the Forgejo workflows never pick them up; bun run test:browser runs them); the desktop boot check leaves bun run ci (it stays in desktop-release.ts mac at release time); CI=full is gone: Forgejo's ci runs the Rust steps when the push changed a Rust input (STOREBOUND_CI_BASE=HEAD~1), no Playwright install; CONTRIBUTING

This commit is contained in:
CRTkafa 2026-10-15 01:25:17 +08:00
parent 4c7ff89950
commit cd1e13c1e2
20 changed files with 116 additions and 133 deletions

View file

@ -1,5 +1,5 @@
// Shared plumbing of the headless browser tests (tests/console-fill.test.ts, tests/site-overflow.test.ts,
// tests/console-session.test.ts). They used to time out now and then, mostly when the machine was busy:
// Shared plumbing of the headless browser tests (tests/browser/console-fill.browser.ts, tests/browser/site-overflow.browser.ts,
// tests/browser/console-session.browser.ts). They used to time out now and then, mostly when the machine was busy:
// - the afterAll browser close (30 s, "(unnamed)" hook timeout). Cause: Google Chrome (the fallback when
// playwright's own Chromium is not downloaded) often hangs in its own shutdown after loading http pages and only
// exits when its 10 s teardown watchdog fires ("Teardown watchdog expired" in DEBUG=pw:browser); under load that
@ -89,7 +89,7 @@ const firstLine = (e: unknown) => (e as Error).message.split('\n')[0]!;
const notInstalled = (e: unknown) => /Executable doesn't exist|distribution '[^']+' is not found|Failed to launch .* because executable/i.test((e as Error).message);
/**
* The browser the persistent-profile tests (tests/console-persist.test.ts) launch: the same kind `console fill` uses
* The browser the persistent-profile tests (tests/browser/console-persist.browser.ts) launch: the same kind `console fill` uses
* for storebound's own profile (cli/shots/browser.ts, kind "visible"): real Google Chrome (channel "chrome"), else
* Playwright's FULL Chromium (channel "chromium"). Never the fast headless shell launchTestBrowser uses: it ignores
* --restore-last-session, so session cookies are dropped on relaunch. `label` is null when neither is installed.