test(harness): Firefox runs the standalone deployment, and only that
improvise-bck's criterion (1) reads "Chrome and Firefox" and the standalone deployment was the evidence offered for it -- but shell.spec.js ran on Chromium alone (improvise-zkkw). The recorded reason is that routeWebSocket is slower and flakier across three engines. That argument is about the four mocked-peer tests and was never made about the two beside them: the standalone block mocks nothing, and the engine's OPFS is already exercised by opfs.spec.js. So the mocked-peer describe is tagged and the firefox project widens its testMatch with grepInvert: /@mocked-peer/ -- a tag, not a third copy of the file. Measured: 2.0s for the pair, 10/10 green under --repeat-each=5. Nothing was quieted; had it flaked, the answer would have been to leave it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FC2jVn8Au7E9JPkw6bwXXH
This commit is contained in:
@@ -20,13 +20,18 @@ export default defineConfig({
|
||||
trace: "retain-on-failure",
|
||||
},
|
||||
// Chromium + Firefox run the OPFS battery; WebKit has no OPFS at all and is
|
||||
// kept for the day it does. Every other spec is Chromium-only: clients.md.
|
||||
// kept for the day it does. Firefox ALSO runs the standalone half of the
|
||||
// shell spec — the deployment improvise-bck's criterion (1) names, which
|
||||
// mocks nothing; the `@mocked-peer` block it excludes is the one the
|
||||
// routeWebSocket argument was actually made about (improvise-zkkw). Every
|
||||
// other spec is Chromium-only: clients.md.
|
||||
projects: [
|
||||
{ name: "chromium", use: { ...devices["Desktop Chrome"] } },
|
||||
{
|
||||
name: "firefox",
|
||||
use: { ...devices["Desktop Firefox"] },
|
||||
testMatch: /opfs\.spec\.js/,
|
||||
testMatch: /(opfs|shell)\.spec\.js/,
|
||||
grepInvert: /@mocked-peer/,
|
||||
},
|
||||
{
|
||||
name: "webkit",
|
||||
|
||||
@@ -53,7 +53,11 @@ async function outlastTheWatchdog(page) {
|
||||
).toBeGreaterThanOrEqual(jump);
|
||||
}
|
||||
|
||||
test.describe("the shell reports what its peer is doing", () => {
|
||||
// Tagged, and the tag is what the config's `grepInvert` reads: these four
|
||||
// mock their peer with `routeWebSocket`, which is slower and flakier across
|
||||
// three engines. That argument is about THESE, and was never made about the
|
||||
// standalone block below (improvise-zkkw).
|
||||
test.describe("the shell reports what its peer is doing", { tag: "@mocked-peer" }, () => {
|
||||
// improvise-hwpi. The fault is injected at the *peer*, not in the page, so
|
||||
// this exercises the real `on_frame` and the real catch.
|
||||
test("a frame the client cannot fold says so on screen", async ({ page }) => {
|
||||
@@ -122,6 +126,10 @@ test.describe("the shell reports what its peer is doing", () => {
|
||||
});
|
||||
});
|
||||
|
||||
// Chromium AND Firefox: this is the deployment improvise-bck's criterion (1)
|
||||
// is about, it mocks nothing, and the engine's OPFS is already exercised by
|
||||
// `opfs.spec.js` — so the one recorded reason for Chromium-only does not
|
||||
// reach it (improvise-zkkw).
|
||||
test.describe("the standalone deployment", () => {
|
||||
// No `?ws=`, so the page spawns the in-page worker over OPFS. If this draws
|
||||
// a grid, worker.js, bindings.rs, OpfsFs and the seed fetch all ran.
|
||||
|
||||
Reference in New Issue
Block a user