Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bdf5f869dc927e99bacd206f46558a505ebbd5a1
      
https://github.com/WebKit/WebKit/commit/bdf5f869dc927e99bacd206f46558a505ebbd5a1
  Author: Keith Miller <[email protected]>
  Date:   2026-07-18 (Sat, 18 Jul 2026)

  Changed paths:
    M JSTests/wasm.yaml
    A JSTests/wasm/wpt/wpt-harness-mid.js
    A JSTests/wasm/wpt/wpt-harness-post.js
    A JSTests/wasm/wpt/wpt-harness-pre.js
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/align.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/bulk-memory/table_init.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/call_ref.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/gc/array_init_elem.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/gc/array_new_elem.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/js/harness/async_index.js
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/call_indirect64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory64-imports.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/memory64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_copy64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_copy_mixed.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_fill64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_get64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_grow64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_init64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_set64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/memory64/table_size64.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/return_call_indirect.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/return_call_ref.wast.js-expected.txt
    M 
LayoutTests/imported/w3c/web-platform-tests/wasm/core/unreached-invalid.wast.js-expected.txt
    M 
Source/JavaScriptCore/Scripts/PreferencesTemplates/JSCWebPreferenceOptions.h.erb
    M Source/JavaScriptCore/jsc.cpp
    M Tools/Scripts/run-jsc-stress-tests

  Log Message:
  -----------
  [JSC] Run WPT Wasm tests in run-jsc-stress-tests' wasm.yaml
https://bugs.webkit.org/show_bug.cgi?id=319669
rdar://182513824

Reviewed by Yusuke Suzuki.

Run the imported Web Platform Tests WebAssembly suite
(LayoutTests/imported/w3c/web-platform-tests/wasm/{core/js,jsapi}) directly in 
the jsc
command-line shell, diffing stdout against the committed -expected.txt 
baselines. This
exercises the tests across the full wasm JIT-configuration matrix 
(BBQ/OMG/no-CJIT/eager/
SIMD/...) that the browser layout-test run does not cover.

Three harness shims bracket each test to reproduce the browser testharness 
reporting path
in a shell that has no DOM or event loop:
- wpt-harness-pre.js supplies self and a no-op console before testharness.js 
loads.
- wpt-harness-mid.js drains microtasks (so the WAST harness's deferred import 
registry
Proxy is installed before the test body reads it) and marks the run 
explicit_done.
- wpt-harness-post.js registers a completion callback that prints the PASS/FAIL 
text in
the committed baseline format, then calls done().

run-jsc-stress-tests gains recursive collection support (one yaml entry per 
suite root
instead of per proposal directory) and a data-returning wasm JIT-config matrix 
shared by
the new runners.

async_index.js reduces the assertion-location stack in each assert description 
to
basenames so the text is identical whether the tests are served over HTTP by 
the WPT
server or loaded from local files by a shell; the core baselines are 
regenerated to match.

jsc gains --enable-all-experimental-features, generated from the JSC 
web-preference
feature flags via FOR_EACH_JSC_EXPERIMENTAL_WEB_PREFERENCE_OPTION, mirroring
WebKitTestRunner's --enable-all-experimental-features. run-jsc-stress-tests 
passes
it when running WPT tests. In a future change we can apply it to other test 
drivers.

Canonical link: https://commits.webkit.org/317464@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to