From 72fe0538f188b19a6211096a7f78bb264207126b Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Tue, 23 Jul 2024 15:15:18 -0700 Subject: [PATCH] ci: run WPT tests on CI --- .github/workflows/main.yml | 34 +- .gitmodules | 3 + .../compression-stream.tentative.any.js.json | 2 +- ...ession-corrupt-input.tentative.any.js.json | 4 +- .../basic/header-value-null-byte.any.js.json | 2 +- .../fetch/api/basic/integrity.sub.any.js.json | 2 +- .../fetch/api/basic/request-head.any.js.json | 2 +- .../request-headers-nonascii.any.js.json | 2 +- .../api/basic/request-upload.any.js.json | 10 +- .../api/basic/request-upload.h2.any.js.json | 6 +- .../header-values-normalize.any.js.json | 6 +- .../api/headers/header-values.any.js.json | 6 +- .../api/headers/headers-basic.any.js.json | 2 +- .../api/headers/headers-errors.any.js.json | 28 +- .../api/request/request-error.any.js.json | 2 +- .../request/request-init-stream.any.js.json | 12 +- .../api/request/request-structure.any.js.json | 2 +- .../api/response/response-error.any.js.json | 16 +- .../response/response-from-stream.any.js.json | 6 +- .../response/response-static-json.any.js.json | 22 +- .../response-stream-disturbed-2.any.js.json | 12 +- .../response-stream-disturbed-3.any.js.json | 12 +- .../structured-clone.any.js.json | 14 +- .../transform-streams/terminate.any.js.json | 8 +- .../url/url-constructor.any.js.json | 544 +++++++++--------- .../expectations/url/url-setters.any.js.json | 6 +- .../urlsearchparams-constructor.any.js.json | 2 +- .../url/urlsearchparams-delete.any.js.json | 2 +- tests/wpt-harness/run-wpt.mjs | 8 +- tests/wpt-harness/wpt.cmake | 2 +- wpt | 1 + 31 files changed, 407 insertions(+), 373 deletions(-) create mode 100644 .gitmodules create mode 160000 wpt diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 20064ba..0a7a1a3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,8 +25,6 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - with: - submodules: recursive - name: Install Rust 1.77.1 run: | @@ -45,3 +43,35 @@ jobs: - name: StarlingMonkey E2E & Integration Tests run: | CTEST_OUTPUT_ON_FAILURE=1 ctest --test-dir cmake-build-debug -j4 + + wpt: + name: Web Platform Tests + strategy: + matrix: + build: [release] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: recursive + + - name: Install Rust 1.77.1 + run: | + rustup toolchain install 1.77.1 + rustup target add wasm32-wasi --toolchain 1.77.1 + + - uses: actions/setup-node@v2 + with: + node-version: 'lts/*' + + - name: Build StarlingMonkey WPT + run: | + cmake -S . -B cmake-build-${{ matrix.build }} -DENABLE_WPT:BOOL=ON -DCMAKE_BUILD_TYPE=${{ matrix.build == 'release' && 'Release' || 'Debug' }} + cmake --build cmake-build-${{ matrix.build }} --parallel 4 --target wpt-runtime + env: + WPT_ROOT: ../wpt + + - name: StarlingMonkey WPT Test + env: + CTEST_OUTPUT_ON_FAILURE: 1 + run: ctest -R wpt --test-dir cmake-build-${{ matrix.build }} -j4 --verbose diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..2be8284 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "wpt"] + path = wpt + url = git@github.com:web-platform-tests/wpt diff --git a/tests/wpt-harness/expectations/compression/compression-stream.tentative.any.js.json b/tests/wpt-harness/expectations/compression/compression-stream.tentative.any.js.json index f901cc7..f59f14f 100644 --- a/tests/wpt-harness/expectations/compression/compression-stream.tentative.any.js.json +++ b/tests/wpt-harness/expectations/compression/compression-stream.tentative.any.js.json @@ -1,6 +1,6 @@ { "CompressionStream constructor should throw on invalid format": { - "status": "FAIL" + "status": "PASS" }, "deflated empty data should be reinflated back to its origin": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/compression/decompression-corrupt-input.tentative.any.js.json b/tests/wpt-harness/expectations/compression/decompression-corrupt-input.tentative.any.js.json index 1b9447d..3b266e3 100644 --- a/tests/wpt-harness/expectations/compression/decompression-corrupt-input.tentative.any.js.json +++ b/tests/wpt-harness/expectations/compression/decompression-corrupt-input.tentative.any.js.json @@ -30,7 +30,7 @@ "status": "PASS" }, "format 'deflate' field ADLER should be error for 255": { - "status": "PASS" + "status": "FAIL" }, "the unchanged input for 'gzip' should decompress successfully": { "status": "PASS" @@ -72,7 +72,7 @@ "status": "PASS" }, "format 'gzip' field ISIZE should be error for 1": { - "status": "PASS" + "status": "FAIL" }, "the deflate input compressed with dictionary should give an error": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/fetch/api/basic/header-value-null-byte.any.js.json b/tests/wpt-harness/expectations/fetch/api/basic/header-value-null-byte.any.js.json index 5512f3f..c86b411 100644 --- a/tests/wpt-harness/expectations/fetch/api/basic/header-value-null-byte.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/basic/header-value-null-byte.any.js.json @@ -1,5 +1,5 @@ { "Ensure fetch() rejects null bytes in headers": { - "status": "FAIL" + "status": "PASS" } } \ No newline at end of file diff --git a/tests/wpt-harness/expectations/fetch/api/basic/integrity.sub.any.js.json b/tests/wpt-harness/expectations/fetch/api/basic/integrity.sub.any.js.json index de3376e..7b111ec 100644 --- a/tests/wpt-harness/expectations/fetch/api/basic/integrity.sub.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/basic/integrity.sub.any.js.json @@ -51,6 +51,6 @@ "status": "FAIL" }, "SHA-* integrity for opaque response": { - "status": "FAIL" + "status": "PASS" } } \ No newline at end of file diff --git a/tests/wpt-harness/expectations/fetch/api/basic/request-head.any.js.json b/tests/wpt-harness/expectations/fetch/api/basic/request-head.any.js.json index 312a3f7..a4e4098 100644 --- a/tests/wpt-harness/expectations/fetch/api/basic/request-head.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/basic/request-head.any.js.json @@ -1,5 +1,5 @@ { "Fetch with HEAD with body": { - "status": "FAIL" + "status": "PASS" } } \ No newline at end of file diff --git a/tests/wpt-harness/expectations/fetch/api/basic/request-headers-nonascii.any.js.json b/tests/wpt-harness/expectations/fetch/api/basic/request-headers-nonascii.any.js.json index d06c8d5..a320d3b 100644 --- a/tests/wpt-harness/expectations/fetch/api/basic/request-headers-nonascii.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/basic/request-headers-nonascii.any.js.json @@ -1,5 +1,5 @@ { "Non-ascii bytes in request headers": { - "status": "PASS" + "status": "FAIL" } } \ No newline at end of file diff --git a/tests/wpt-harness/expectations/fetch/api/basic/request-upload.any.js.json b/tests/wpt-harness/expectations/fetch/api/basic/request-upload.any.js.json index d353b0b..e22071b 100644 --- a/tests/wpt-harness/expectations/fetch/api/basic/request-upload.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/basic/request-upload.any.js.json @@ -33,19 +33,19 @@ "status": "FAIL" }, "Fetch with POST with ReadableStream containing String": { - "status": "FAIL" + "status": "PASS" }, "Fetch with POST with ReadableStream containing null": { - "status": "FAIL" + "status": "PASS" }, "Fetch with POST with ReadableStream containing number": { - "status": "FAIL" + "status": "PASS" }, "Fetch with POST with ReadableStream containing ArrayBuffer": { - "status": "FAIL" + "status": "PASS" }, "Fetch with POST with ReadableStream containing Blob": { - "status": "FAIL" + "status": "PASS" }, "Fetch with POST with text body on 421 response should be retried once on new connection.": { "status": "FAIL" diff --git a/tests/wpt-harness/expectations/fetch/api/basic/request-upload.h2.any.js.json b/tests/wpt-harness/expectations/fetch/api/basic/request-upload.h2.any.js.json index ef5cad9..451a059 100644 --- a/tests/wpt-harness/expectations/fetch/api/basic/request-upload.h2.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/basic/request-upload.h2.any.js.json @@ -21,13 +21,13 @@ "status": "PASS" }, "Streaming upload with body containing a String": { - "status": "FAIL" + "status": "PASS" }, "Streaming upload with body containing null": { - "status": "FAIL" + "status": "PASS" }, "Streaming upload with body containing a number": { - "status": "FAIL" + "status": "PASS" }, "Streaming upload should fail on a 401 response": { "status": "FAIL" diff --git a/tests/wpt-harness/expectations/fetch/api/headers/header-values-normalize.any.js.json b/tests/wpt-harness/expectations/fetch/api/headers/header-values-normalize.any.js.json index 3326acc..76d18cd 100644 --- a/tests/wpt-harness/expectations/fetch/api/headers/header-values-normalize.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/headers/header-values-normalize.any.js.json @@ -1,6 +1,6 @@ { "fetch() with value %00": { - "status": "FAIL" + "status": "PASS" }, "fetch() with value %01": { "status": "FAIL" @@ -30,10 +30,10 @@ "status": "PASS" }, "fetch() with value %0A": { - "status": "FAIL" + "status": "PASS" }, "fetch() with value %0D": { - "status": "FAIL" + "status": "PASS" }, "fetch() with value %0E": { "status": "FAIL" diff --git a/tests/wpt-harness/expectations/fetch/api/headers/header-values.any.js.json b/tests/wpt-harness/expectations/fetch/api/headers/header-values.any.js.json index d597731..627db7d 100644 --- a/tests/wpt-harness/expectations/fetch/api/headers/header-values.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/headers/header-values.any.js.json @@ -1,12 +1,12 @@ { "fetch() with value x%00x needs to throw": { - "status": "FAIL" + "status": "PASS" }, "fetch() with value x%0Ax needs to throw": { - "status": "FAIL" + "status": "PASS" }, "fetch() with value x%0Dx needs to throw": { - "status": "FAIL" + "status": "PASS" }, "fetch() with all valid values": { "status": "FAIL" diff --git a/tests/wpt-harness/expectations/fetch/api/headers/headers-basic.any.js.json b/tests/wpt-harness/expectations/fetch/api/headers/headers-basic.any.js.json index 25820e3..4fd7a46 100644 --- a/tests/wpt-harness/expectations/fetch/api/headers/headers-basic.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/headers/headers-basic.any.js.json @@ -12,7 +12,7 @@ "status": "PASS" }, "Create headers with 1 should throw": { - "status": "FAIL" + "status": "PASS" }, "Create headers with sequence": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/fetch/api/headers/headers-errors.any.js.json b/tests/wpt-harness/expectations/fetch/api/headers/headers-errors.any.js.json index 0f54c16..26cc9e1 100644 --- a/tests/wpt-harness/expectations/fetch/api/headers/headers-errors.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/headers/headers-errors.any.js.json @@ -1,54 +1,54 @@ { "Create headers giving an array having one string as init argument": { - "status": "FAIL" + "status": "PASS" }, "Create headers giving an array having three strings as init argument": { - "status": "FAIL" + "status": "PASS" }, "Create headers giving bad header name as init argument": { - "status": "FAIL" + "status": "PASS" }, "Create headers giving bad header value as init argument": { "status": "FAIL" }, "Check headers get with an invalid name invalidĀ": { - "status": "FAIL" + "status": "PASS" }, "Check headers get with an invalid name [object Object]": { - "status": "FAIL" + "status": "PASS" }, "Check headers delete with an invalid name invalidĀ": { - "status": "FAIL" + "status": "PASS" }, "Check headers delete with an invalid name [object Object]": { - "status": "FAIL" + "status": "PASS" }, "Check headers has with an invalid name invalidĀ": { - "status": "FAIL" + "status": "PASS" }, "Check headers has with an invalid name [object Object]": { - "status": "FAIL" + "status": "PASS" }, "Check headers set with an invalid name invalidĀ": { - "status": "FAIL" + "status": "PASS" }, "Check headers set with an invalid name [object Object]": { - "status": "FAIL" + "status": "PASS" }, "Check headers set with an invalid value invalidĀ": { "status": "FAIL" }, "Check headers append with an invalid name invalidĀ": { - "status": "FAIL" + "status": "PASS" }, "Check headers append with an invalid name [object Object]": { - "status": "FAIL" + "status": "PASS" }, "Check headers append with an invalid value invalidĀ": { "status": "FAIL" }, "Headers forEach throws if argument is not callable": { - "status": "FAIL" + "status": "PASS" }, "Headers forEach loop should stop if callback is throwing exception": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/fetch/api/request/request-error.any.js.json b/tests/wpt-harness/expectations/fetch/api/request/request-error.any.js.json index 43f5469..f483406 100644 --- a/tests/wpt-harness/expectations/fetch/api/request/request-error.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/request/request-error.any.js.json @@ -3,7 +3,7 @@ "status": "FAIL" }, "Input URL is not valid": { - "status": "FAIL" + "status": "PASS" }, "Input URL has credentials": { "status": "FAIL" diff --git a/tests/wpt-harness/expectations/fetch/api/request/request-init-stream.any.js.json b/tests/wpt-harness/expectations/fetch/api/request/request-init-stream.any.js.json index 034bd6b..2e19eb8 100644 --- a/tests/wpt-harness/expectations/fetch/api/request/request-init-stream.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/request/request-init-stream.any.js.json @@ -3,22 +3,22 @@ "status": "PASS" }, "Constructing a Request with a stream on which getReader() is called": { - "status": "FAIL" + "status": "PASS" }, "Constructing a Request with a stream on which read() is called": { - "status": "FAIL" + "status": "PASS" }, "Constructing a Request with a stream on which read() and releaseLock() are called": { - "status": "FAIL" + "status": "PASS" }, "Constructing a Request with a Request on which body.getReader() is called": { - "status": "FAIL" + "status": "PASS" }, "Constructing a Request with a Request on which body.getReader().read() is called": { - "status": "FAIL" + "status": "PASS" }, "Constructing a Request with a Request on which read() and releaseLock() are called": { - "status": "FAIL" + "status": "PASS" }, "It is OK to omit .duplex when the body is null.": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/fetch/api/request/request-structure.any.js.json b/tests/wpt-harness/expectations/fetch/api/request/request-structure.any.js.json index 408376f..5860291 100644 --- a/tests/wpt-harness/expectations/fetch/api/request/request-structure.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/request/request-structure.any.js.json @@ -1,6 +1,6 @@ { "Request has clone method": { - "status": "PASS" + "status": "FAIL" }, "Request has arrayBuffer method": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/fetch/api/response/response-error.any.js.json b/tests/wpt-harness/expectations/fetch/api/response/response-error.any.js.json index e41e7c4..0dcb3c6 100644 --- a/tests/wpt-harness/expectations/fetch/api/response/response-error.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/response/response-error.any.js.json @@ -1,18 +1,18 @@ { "Throws RangeError when responseInit's status is 0": { - "status": "FAIL" + "status": "PASS" }, "Throws RangeError when responseInit's status is 100": { - "status": "FAIL" + "status": "PASS" }, "Throws RangeError when responseInit's status is 199": { - "status": "FAIL" + "status": "PASS" }, "Throws RangeError when responseInit's status is 600": { - "status": "FAIL" + "status": "PASS" }, "Throws RangeError when responseInit's status is 1000": { - "status": "FAIL" + "status": "PASS" }, "Throws TypeError when responseInit's statusText is \n": { "status": "FAIL" @@ -21,12 +21,12 @@ "status": "FAIL" }, "Throws TypeError when building a response with body and a body status of 204": { - "status": "FAIL" + "status": "PASS" }, "Throws TypeError when building a response with body and a body status of 205": { - "status": "FAIL" + "status": "PASS" }, "Throws TypeError when building a response with body and a body status of 304": { - "status": "FAIL" + "status": "PASS" } } \ No newline at end of file diff --git a/tests/wpt-harness/expectations/fetch/api/response/response-from-stream.any.js.json b/tests/wpt-harness/expectations/fetch/api/response/response-from-stream.any.js.json index 4d94cc9..710a47e 100644 --- a/tests/wpt-harness/expectations/fetch/api/response/response-from-stream.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/response/response-from-stream.any.js.json @@ -1,11 +1,11 @@ { "Constructing a Response with a stream on which getReader() is called": { - "status": "FAIL" + "status": "PASS" }, "Constructing a Response with a stream on which read() is called": { - "status": "FAIL" + "status": "PASS" }, "Constructing a Response with a stream on which read() and releaseLock() are called": { - "status": "FAIL" + "status": "PASS" } } \ No newline at end of file diff --git a/tests/wpt-harness/expectations/fetch/api/response/response-static-json.any.js.json b/tests/wpt-harness/expectations/fetch/api/response/response-static-json.any.js.json index d0bb0c3..82df161 100644 --- a/tests/wpt-harness/expectations/fetch/api/response/response-static-json.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/response/response-static-json.any.js.json @@ -1,21 +1,21 @@ { "Check response returned by static json() with init undefined": { - "status": "PASS" + "status": "FAIL" }, "Check response returned by static json() with init {\"status\":400}": { - "status": "PASS" + "status": "FAIL" }, "Check response returned by static json() with init {\"statusText\":\"foo\"}": { - "status": "PASS" + "status": "FAIL" }, "Check response returned by static json() with init {\"headers\":{}}": { - "status": "PASS" + "status": "FAIL" }, "Check response returned by static json() with init {\"headers\":{\"content-type\":\"foo/bar\"}}": { - "status": "PASS" + "status": "FAIL" }, "Check response returned by static json() with init {\"headers\":{\"x-foo\":\"bar\"}}": { - "status": "PASS" + "status": "FAIL" }, "Throws TypeError when calling static json() with a status of 204": { "status": "PASS" @@ -27,7 +27,7 @@ "status": "PASS" }, "Check static json() encodes JSON objects correctly": { - "status": "PASS" + "status": "FAIL" }, "Check static json() throws when data is not encodable": { "status": "PASS" @@ -36,15 +36,15 @@ "status": "PASS" }, "Check static json() propagates JSON serializer errors": { - "status": "PASS" + "status": "FAIL" }, "Check response returned by static json() with input 𝌆": { - "status": "PASS" + "status": "FAIL" }, "Check response returned by static json() with input U+df06U+d834": { - "status": "PASS" + "status": "FAIL" }, "Check response returned by static json() with input U+dead": { - "status": "PASS" + "status": "FAIL" } } \ No newline at end of file diff --git a/tests/wpt-harness/expectations/fetch/api/response/response-stream-disturbed-2.any.js.json b/tests/wpt-harness/expectations/fetch/api/response/response-stream-disturbed-2.any.js.json index 24e0e1e..d81b359 100644 --- a/tests/wpt-harness/expectations/fetch/api/response/response-stream-disturbed-2.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/response/response-stream-disturbed-2.any.js.json @@ -3,13 +3,13 @@ "status": "FAIL" }, "Getting text after getting a locked Response body (body source: fetch)": { - "status": "FAIL" + "status": "PASS" }, "Getting json after getting a locked Response body (body source: fetch)": { - "status": "FAIL" + "status": "PASS" }, "Getting arrayBuffer after getting a locked Response body (body source: fetch)": { - "status": "FAIL" + "status": "PASS" }, "Getting blob after getting a locked Response body (body source: stream)": { "status": "FAIL" @@ -27,12 +27,12 @@ "status": "FAIL" }, "Getting text after getting a locked Response body (body source: string)": { - "status": "FAIL" + "status": "PASS" }, "Getting json after getting a locked Response body (body source: string)": { - "status": "FAIL" + "status": "PASS" }, "Getting arrayBuffer after getting a locked Response body (body source: string)": { - "status": "FAIL" + "status": "PASS" } } \ No newline at end of file diff --git a/tests/wpt-harness/expectations/fetch/api/response/response-stream-disturbed-3.any.js.json b/tests/wpt-harness/expectations/fetch/api/response/response-stream-disturbed-3.any.js.json index fd99fdf..b306c09 100644 --- a/tests/wpt-harness/expectations/fetch/api/response/response-stream-disturbed-3.any.js.json +++ b/tests/wpt-harness/expectations/fetch/api/response/response-stream-disturbed-3.any.js.json @@ -3,13 +3,13 @@ "status": "FAIL" }, "Getting text after reading the Response body (body source: fetch)": { - "status": "FAIL" + "status": "PASS" }, "Getting json after reading the Response body (body source: fetch)": { - "status": "FAIL" + "status": "PASS" }, "Getting arrayBuffer after reading the Response body (body source: fetch)": { - "status": "FAIL" + "status": "PASS" }, "Getting blob after reading the Response body (body source: stream)": { "status": "FAIL" @@ -27,12 +27,12 @@ "status": "FAIL" }, "Getting text after reading the Response body (body source: string)": { - "status": "FAIL" + "status": "PASS" }, "Getting json after reading the Response body (body source: string)": { - "status": "FAIL" + "status": "PASS" }, "Getting arrayBuffer after reading the Response body (body source: string)": { - "status": "FAIL" + "status": "PASS" } } \ No newline at end of file diff --git a/tests/wpt-harness/expectations/html/webappapis/structured-clone/structured-clone.any.js.json b/tests/wpt-harness/expectations/html/webappapis/structured-clone/structured-clone.any.js.json index 832fe89..f85c26b 100644 --- a/tests/wpt-harness/expectations/html/webappapis/structured-clone/structured-clone.any.js.json +++ b/tests/wpt-harness/expectations/html/webappapis/structured-clone/structured-clone.any.js.json @@ -342,7 +342,7 @@ "status": "PASS" }, "Serializing a non-serializable platform object fails": { - "status": "FAIL" + "status": "PASS" }, "An object whose interface is deleted from the global must still deserialize": { "status": "FAIL" @@ -351,16 +351,16 @@ "status": "FAIL" }, "Resizable ArrayBuffer": { - "status": "FAIL" + "status": "PASS" }, "Growable SharedArrayBuffer": { "status": "FAIL" }, "Length-tracking TypedArray": { - "status": "FAIL" + "status": "PASS" }, "Length-tracking DataView": { - "status": "FAIL" + "status": "PASS" }, "Serializing OOB TypedArray throws": { "status": "FAIL" @@ -390,13 +390,13 @@ "status": "FAIL" }, "Resizable ArrayBuffer is transferable": { - "status": "FAIL" + "status": "PASS" }, "Length-tracking TypedArray is transferable": { - "status": "FAIL" + "status": "PASS" }, "Length-tracking DataView is transferable": { - "status": "FAIL" + "status": "PASS" }, "Transferring OOB TypedArray throws": { "status": "FAIL" diff --git a/tests/wpt-harness/expectations/streams/transform-streams/terminate.any.js.json b/tests/wpt-harness/expectations/streams/transform-streams/terminate.any.js.json index 5313323..aa20c02 100644 --- a/tests/wpt-harness/expectations/streams/transform-streams/terminate.any.js.json +++ b/tests/wpt-harness/expectations/streams/transform-streams/terminate.any.js.json @@ -1,18 +1,18 @@ { "controller.terminate() should error pipeTo()": { - "status": "FAIL" + "status": "PASS" }, "controller.terminate() should prevent remaining chunks from being processed": { - "status": "FAIL" + "status": "PASS" }, "controller.enqueue() should throw after controller.terminate()": { "status": "PASS" }, "controller.error() after controller.terminate() with queued chunk should error the readable": { - "status": "FAIL" + "status": "PASS" }, "controller.error() after controller.terminate() without queued chunk should do nothing": { - "status": "FAIL" + "status": "PASS" }, "controller.terminate() inside flush() should not prevent writer.close() from succeeding": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/url/url-constructor.any.js.json b/tests/wpt-harness/expectations/url/url-constructor.any.js.json index d532457..8f58490 100644 --- a/tests/wpt-harness/expectations/url/url-constructor.any.js.json +++ b/tests/wpt-harness/expectations/url/url-constructor.any.js.json @@ -51,25 +51,25 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: <> against ": { "status": "PASS" @@ -198,16 +198,16 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -216,7 +216,7 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -240,16 +240,16 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -516,7 +516,7 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -534,7 +534,7 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -678,34 +678,34 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -720,13 +720,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -780,19 +780,19 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -804,52 +804,52 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -861,13 +861,13 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -876,16 +876,16 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -900,34 +900,34 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -975,10 +975,10 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -990,10 +990,10 @@ "status": "PASS" }, "Parsing: <../i> against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: <../i> against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: <../i> against ": { "status": "PASS" @@ -1005,10 +1005,10 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -1020,10 +1020,10 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -1068,16 +1068,16 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -1101,31 +1101,31 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: b> without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -1137,118 +1137,118 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: b> without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -1260,142 +1260,142 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -1404,16 +1404,16 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -1443,7 +1443,7 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -1494,7 +1494,7 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -1503,25 +1503,25 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -1530,25 +1530,25 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -1752,7 +1752,7 @@ "status": "PASS" }, "Parsing: <\\\\\\.\\Y:> without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -1767,7 +1767,7 @@ "status": "PASS" }, "Parsing: <\\\\\\.\\y:> without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "FAIL" @@ -1806,43 +1806,43 @@ "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -1965,7 +1965,7 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2010,7 +2010,7 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2046,19 +2046,19 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { "status": "PASS" @@ -2100,13 +2100,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: <#link> against ": { "status": "PASS" @@ -2169,103 +2169,103 @@ "status": "PASS" }, "Parsing: <#> without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: against ": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2277,7 +2277,7 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2313,7 +2313,7 @@ "status": "PASS" }, "Parsing: <> without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2322,13 +2322,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2340,13 +2340,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2358,13 +2358,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2376,13 +2376,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2394,13 +2394,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2412,13 +2412,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2430,13 +2430,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" @@ -2448,13 +2448,13 @@ "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { - "status": "FAIL" + "status": "PASS" }, "Parsing: without base": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/url/url-setters.any.js.json b/tests/wpt-harness/expectations/url/url-setters.any.js.json index efe8b4a..552bbde 100644 --- a/tests/wpt-harness/expectations/url/url-setters.any.js.json +++ b/tests/wpt-harness/expectations/url/url-setters.any.js.json @@ -564,7 +564,7 @@ "status": "PASS" }, "URL: Setting .pathname = '' Non-special URLs can have their paths erased": { - "status": "FAIL" + "status": "PASS" }, "URL: Setting .pathname = '' Non-special URLs with an empty host can have their paths erased": { "status": "FAIL" @@ -684,10 +684,10 @@ "status": "PASS" }, "URL: Setting .search = '' Do not drop trailing spaces from non-trailing opaque paths": { - "status": "FAIL" + "status": "PASS" }, "URL: Setting .search = ''": { - "status": "FAIL" + "status": "PASS" }, "URL: Setting .search = ' ' Trailing space should be encoded": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/url/urlsearchparams-constructor.any.js.json b/tests/wpt-harness/expectations/url/urlsearchparams-constructor.any.js.json index 0e4a3af..b5d4f45 100644 --- a/tests/wpt-harness/expectations/url/urlsearchparams-constructor.any.js.json +++ b/tests/wpt-harness/expectations/url/urlsearchparams-constructor.any.js.json @@ -57,7 +57,7 @@ "status": "PASS" }, "Constructor with sequence of sequences of strings": { - "status": "FAIL" + "status": "PASS" }, "Construct with object with +": { "status": "PASS" diff --git a/tests/wpt-harness/expectations/url/urlsearchparams-delete.any.js.json b/tests/wpt-harness/expectations/url/urlsearchparams-delete.any.js.json index 2a755c8..8e8e51b 100644 --- a/tests/wpt-harness/expectations/url/urlsearchparams-delete.any.js.json +++ b/tests/wpt-harness/expectations/url/urlsearchparams-delete.any.js.json @@ -15,7 +15,7 @@ "status": "PASS" }, "Changing the query of a URL with an opaque path can impact the path if the URL has no fragment": { - "status": "FAIL" + "status": "PASS" }, "Two-argument delete()": { "status": "FAIL" diff --git a/tests/wpt-harness/run-wpt.mjs b/tests/wpt-harness/run-wpt.mjs index bad8b45..796b59f 100644 --- a/tests/wpt-harness/run-wpt.mjs +++ b/tests/wpt-harness/run-wpt.mjs @@ -215,14 +215,14 @@ async function run() { console.log(`\n${"Done. Stats:".padEnd(pathLength)} ${formatStats(stats)}`); - shutdown(); - if (config.tests.updateExpectations) { console.log(`Expectations updated: ${expectationsUpdated}`); + shutdown(); } else if (stats.unexpectedFail + stats.unexpectedPass != 0 || unexpectedFailure) { - process.exitCode = 1; + shutdown('Unexpected failures or passes. Run with --update-expectations to fix.'); + } else { + shutdown(); } - return process.exit(); } } diff --git a/tests/wpt-harness/wpt.cmake b/tests/wpt-harness/wpt.cmake index bfb541d..2775c3b 100644 --- a/tests/wpt-harness/wpt.cmake +++ b/tests/wpt-harness/wpt.cmake @@ -24,5 +24,5 @@ endif () add_test( NAME wpt WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E env PATH=${WASMTIME_DIR}:$ENV{PATH} WASMTIME_BACKTRACE_DETAILS=${BT_DETAILS} node ${CMAKE_CURRENT_SOURCE_DIR}/tests/wpt-harness/run-wpt.mjs --wpt-root=$ENV{WPT_ROOT} -v $ENV{WPT_FILTER} + COMMAND ${CMAKE_COMMAND} -E env PATH=${WASMTIME_DIR}:$ENV{PATH} WASMTIME_BACKTRACE_DETAILS=${BT_DETAILS} node ${CMAKE_CURRENT_SOURCE_DIR}/tests/wpt-harness/run-wpt.mjs --wpt-root=$ENV{WPT_ROOT} $ENV{WPT_FLAGS} -v $ENV{WPT_FILTER} ) diff --git a/wpt b/wpt new file mode 160000 index 0000000..bd65bb4 --- /dev/null +++ b/wpt @@ -0,0 +1 @@ +Subproject commit bd65bb46410dd6ea3319e3688a5248a0a7d06960