Open Bug 2006815 Opened 1 day ago Updated 1 day ago

[wpt-sync] Sync PR 56842 - feat(runner): Integrate Test262 execution with wptrunner and add smoke tests

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(Not tracked)

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 56842 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/56842
Details from upstream follow.

wpt-pr-bot <wpt-pr-bot@users.noreply.github.com> wrote:

feat(runner): Integrate Test262 execution with wptrunner and add smoke tests

This commit completes the core integration of Test262 into the WPT runner (wptrunner), enabling the execution of Test262 JavaScript conformance tests within the browser environment. This work builds upon the manifest tooling (PR 1 #56840) and server-side handling (PR 2 #56841) to provide a full end-to-end testing solution for Test262.

Key components introduced and integrated:

  • Client-Side Harness: New JavaScript files (harness-adapter.js, testharness-client.js, testharness.js) under resources/test262/ provide the necessary environment for Test262 tests to execute in an iframe and report results back to the main WPT testharness.
  • Test262 Assertion Libraries (Vendored): For the purpose of enabling these initial smoke tests, the standard Test262 assertion libraries (assert.js and sta.js) are directly placed into third_party/test262/harness/. This provides the immediate dependencies required by the smoke tests. An autoamted vendoring solution, including version tracking via vendored.toml, will be implemented in a subsequent PR focused on automated updates, as described in the RFC.
  • Wptrunner Integration: Modifications to tools/wptrunner/wpttest.py and tools/wptrunner/browsers/*.py enable wptrunner to recognize the test262 test type and execute it using existing testharness executors.
  • Smoke Tests and Metadata: A suite of basic Test262 smoke tests (infrastructure/test262/) and their corresponding expected results (infrastructure/metadata/infrastructure/test262/) are added to verify the correct functioning of the entire integration.
  • Linting Exemption: lint.ignore is updated to exclude the vendored Test262 harness files from linting, respecting their upstream style.

This integration allows browser vendors to run Test262 directly with wptrunner, streamlining conformance testing efforts as specified in the RFC: https://github.com/web-platform-tests/rfcs/pull/229

This commit is the third in a series of smaller PRs split from the larger, original implementation in https://github.com/web-platform-tests/wpt/pull/55997.

PR 56842 applied with additional changes from upstream: 7006027a7afa5a72b6128816144e43ee5ffd95e1
You need to log in before you can comment on or make changes to this bug.