From ec8cedca6f4443341b63110aeb096e52d80b910f Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Sat, 15 Aug 2026 11:20:05 -0700 Subject: [PATCH] test: stealth-webdriver launch gets parallel-load headroom (120s) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Playwright's default 30s launch timeout dies under the full-suite --parallel run when ~400 workers contend for Chromium launches — bun reports the hook death as an '(unnamed)' 30006ms failure (named on sight by the new runner epilogue). Both launch sites get explicit 120s timeouts; the runner's external wall-clock still bounds the ceiling. Co-Authored-By: Claude Fable 5 --- browse/test/stealth-webdriver.test.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/browse/test/stealth-webdriver.test.ts b/browse/test/stealth-webdriver.test.ts index 466b06bdd..541dc0237 100644 --- a/browse/test/stealth-webdriver.test.ts +++ b/browse/test/stealth-webdriver.test.ts @@ -5,7 +5,11 @@ import { applyStealth, STEALTH_LAUNCH_ARGS } from '../src/stealth'; let browser: Browser; beforeAll(async () => { - browser = await chromium.launch({ headless: true, args: STEALTH_LAUNCH_ARGS }); + // Playwright's default launch timeout is 30s — under the full-suite + // --parallel run, ~400 workers contend and a cold Chromium launch can + // stall past it (observed: hook death reported as an '(unnamed)' test at + // 30006ms). The runner's external wall-clock still bounds the ceiling. + browser = await chromium.launch({ headless: true, args: STEALTH_LAUNCH_ARGS, timeout: 120_000 }); }); afterAll(async () => { @@ -292,6 +296,7 @@ describe('applyStealth — persistent context (headed + handoff parity)', () => const ctx = await chromium.launchPersistentContext(userDataDir, { headless: true, args: STEALTH_LAUNCH_ARGS, + timeout: 120_000, // same parallel-load headroom as the top-level launch }); try { await applyStealth(ctx);