Files
amethyst/nestsClient/tests/browser-interop/playwright.config.ts
T
Claude bd7b166fda chore(nests): mv nestsClient-browser-interop/ → nestsClient/tests/browser-interop/
Mirrors the existing nestsClient/tests/hang-interop/ layout — all
T16 cross-stack interop test infrastructure (Rust sidecars + bun
browser harness) now lives under nestsClient/tests/.

Updates:
- nestsClient/build.gradle.kts: browserInteropDir path.
- PlaywrightDriver.kt + BrowserInteropTest.kt: kdoc comments.
- All plan docs in nestsClient/plans/ that referenced the old
  path.

Compiles clean post-move. No CI changes (those jobs are
intentionally not wired per 2026-05-07-cross-stack-interop-ci-gating.md;
when re-added they'll reference the new path).
2026-05-07 14:43:55 +00:00

57 lines
2.2 KiB
TypeScript

import { defineConfig } from "@playwright/test";
// Phase 4 (T16) browser-interop Playwright config.
//
// One-off Chromium spawn per Kotlin test. We disable the default test
// projects + reporters (the runner is invoked headlessly from the
// PlaywrightDriver Kotlin shim with `--reporter list` for stdout
// streaming).
//
// Chromium flags:
// --enable-quic — required for WebTransport.
// --ignore-certificate-errors — accept the self-signed
// cert moq-relay generates
// with --tls-generate.
// --enable-features=AutoplayPolicy=NoUserGestureRequired
// — let AudioContext.resume()
// succeed without a user
// gesture (we're headless).
// --enable-blink-features=WebTransport
// — defensively re-enable in
// case the build disables
// the blink feature flag
// by default.
export default defineConfig({
testDir: "./tests",
fullyParallel: false,
workers: 1,
forbidOnly: !!process.env.CI,
retries: 0,
reporter: process.env.PLAYWRIGHT_REPORTER ?? "list",
timeout: 120_000,
use: {
headless: true,
trace: "off",
video: "off",
screenshot: "off",
launchOptions: {
args: [
"--enable-quic",
"--ignore-certificate-errors",
"--enable-features=AutoplayPolicy=NoUserGestureRequired",
"--enable-blink-features=WebTransport",
// Disable network sandbox so WebTransport over loopback
// doesn't trip the network service sandbox in headless.
"--disable-features=IsolateOrigins,site-per-process",
],
},
},
projects: [
{
name: "chromium",
use: { browserName: "chromium" },
},
],
});