Skip to content

Add Web Platform Test runner infrastructure#617

Open
andrewiggins wants to merge 3 commits into
Shopify:mainfrom
andrewiggins:wpt-runner-infrastructure
Open

Add Web Platform Test runner infrastructure#617
andrewiggins wants to merge 3 commits into
Shopify:mainfrom
andrewiggins:wpt-runner-infrastructure

Conversation

@andrewiggins

Copy link
Copy Markdown

Summary

  • add a private @remote-dom/wpt-runner workspace package for running selected upstream testharness.js HTML files unchanged against @remote-dom/polyfill
  • pin and checksum the upstream WPT archive, with validated extraction and revision-addressed caches that are safe to share across concurrent worktrees
  • add a canonical TSV capability inventory that distinguishes supported cases from documented deferred cases and rejects missing or unlisted results
  • add Playwright CLI and debug-page entry points plus a dedicated Ubuntu 22.04 CI job with cached WPT sources

Architecture

The browser control page parses the selected WPT HTML and preserves top-level markup and script order. It sends those operations to a fresh module worker, where the workspace polyfill installs a new Window and executes the real upstream testharness.js. Results return as structured data for capability enforcement.

This infrastructure tests the worker-side DOM implementation directly; it intentionally does not construct a Remote DOM host receiver or claim transport and rendering behavior. The initial capability table contains only the runner smoke fixture. Follow-up PRs can add upstream DOM, HTML, and SVG files one capability at a time.

Validation

  • pnpm run lint
  • pnpm run type-check
  • pnpm exec vitest run — 192 tests passed
  • pnpm run test:wpt
  • verified a cold archive download/extraction and the revision-root completion-marker layout
  • verified WPT_ROOT=/path/to/wpt reuses a local checkout without downloading

@andrewiggins
andrewiggins marked this pull request as ready for review July 16, 2026 03:03
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.

1 participant