diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 3f9485883c0..8dc8b982941 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -14773,6 +14773,18 @@ {} ] ], + "payment-request/show-method-optional-promise-rejects-manual.https.html": [ + [ + "/payment-request/show-method-optional-promise-rejects-manual.https.html", + {} + ] + ], + "payment-request/show-method-optional-promise-resolves-manual.https.html": [ + [ + "/payment-request/show-method-optional-promise-resolves-manual.https.html", + {} + ] + ], "payment-request/updateWith-method-pmi-handling-manual.https.html": [ [ "/payment-request/updateWith-method-pmi-handling-manual.https.html", @@ -306060,7 +306072,9 @@ "acid/acid3/numbered-tests.html": [ [ "/acid/acid3/numbered-tests.html", - {} + { + "timeout": "long" + } ] ], "ambient-light/AmbientLightSensor-disabled-by-feature-policy.https.html": [ @@ -316219,12 +316233,6 @@ {} ] ], - "css/css-typed-om/the-stylepropertymap/properties/whitespace.html": [ - [ - "/css/css-typed-om/the-stylepropertymap/properties/whitespace.html", - {} - ] - ], "css/css-typed-om/the-stylepropertymap/properties/width.html": [ [ "/css/css-typed-om/the-stylepropertymap/properties/width.html", @@ -389401,7 +389409,7 @@ "support" ], "./.travis.yml": [ - "975f331eb3438e5b66ccd721e1afce796b6af0d5", + "82073bf454e8b5bd5466222849d0f123f550c1a2", "support" ], "./CONTRIBUTING.md": [ @@ -396941,7 +396949,7 @@ "support" ], "acid/acid3/numbered-tests.html": [ - "b715328b9b59f27f51c070011528d29103783f42", + "24baf04e2bd2516aad4189950d768a368c495b13", "testharness" ], "acid/acid3/reference.png": [ @@ -479577,7 +479585,7 @@ "manual" ], "css/build-css-testsuites.sh": [ - "97cc415658e55acdc98c10db219bd832abf37ca5", + "0f1d955402449b61d134265ea5962d6ed93836f4", "support" ], "css/compositing/Blending_in_a_group_with_filter-ref.html": [ @@ -520205,10 +520213,6 @@ "testharness" ], "css/css-typed-om/the-stylepropertymap/properties/white-space.html": [ - "f8afed394e920abbaa9eb8d2e6f4405ae4453c2c", - "testharness" - ], - "css/css-typed-om/the-stylepropertymap/properties/whitespace.html": [ "b51dea7a7d0f93f13fda93c0f27e5084fa4c3b3e", "testharness" ], @@ -531897,7 +531901,7 @@ "support" ], "css/requirements.txt": [ - "d62efcaa0e8ba6782088f0468774a935e4461e73", + "8a4e55be1e7e92dd25d87976c92098294a7cc04d", "support" ], "css/selectors/CHANGES": [ @@ -534013,7 +534017,7 @@ "support" ], "css/tools/w3ctestlib/Sources.py": [ - "36436dff53c614783778a373223c07be4f70fc1d", + "082c7b33d16c1a109894293d495f83b21c15c21b", "support" ], "css/tools/w3ctestlib/Suite.py": [ @@ -572541,7 +572545,7 @@ "testharness" ], "notifications/interfaces.html": [ - "0a653fc93d0d01761fb642d426461130134d9cbf", + "95c5c3bb1e952c4adec92c65f7d09f147b119c9c", "testharness" ], "notifications/lang.html": [ @@ -579076,6 +579080,14 @@ "db68756c6cc3cc2146f608a04988cd938a2dd0de", "manual" ], + "payment-request/show-method-optional-promise-rejects-manual.https.html": [ + "62542519059ab38ee0753deff5e7e6e587f8adbf", + "manual" + ], + "payment-request/show-method-optional-promise-resolves-manual.https.html": [ + "cc65cc042e4eca1c6e70aa2fcc1f48b6ea0e1fa0", + "manual" + ], "payment-request/updateWith-method-pmi-handling-manual.https.html": [ "b473073ad106e9e0732adb6bfbed5f54d6ec3194", "manual" @@ -591825,7 +591837,7 @@ "testharness" ], "streams/piping/close-propagation-forward.js": [ - "0af3e390230c35baf08ef8c97ffcccc7a7304b3b", + "7840ff0fabf15c8c86b91fbc57a8fca105af4c91", "support" ], "streams/piping/close-propagation-forward.serviceworker.https.html": [ @@ -591865,7 +591877,7 @@ "testharness" ], "streams/piping/error-propagation-forward.js": [ - "2cd0c4476388f6a6fd104f1e00e08bf2fe8706bb", + "eb8e24af040ea6c09e5fe6754ef942af5dc4b46e", "support" ], "streams/piping/error-propagation-forward.serviceworker.https.html": [ @@ -604561,7 +604573,7 @@ "support" ], "workers/data-url-shared.html": [ - "7fae8fa78f0e66ffa8cf0dd1bf3e887fae349e4e", + "2414958d6e5635c8093b8d677636d30ca9fee5fe", "testharness" ], "workers/data-url.html": [ diff --git a/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-round.xht.ini b/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-round.xht.ini index 6a81f9784ed..80199983591 100644 --- a/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-round.xht.ini +++ b/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-round.xht.ini @@ -2,4 +2,3 @@ type: reftest expected: if os == "linux": FAIL - diff --git a/tests/wpt/metadata/css/css-backgrounds/css3-box-shadow.html.ini b/tests/wpt/metadata/css/css-backgrounds/css3-box-shadow.html.ini index 09e1da3d4db..fe8d7eacd1c 100644 --- a/tests/wpt/metadata/css/css-backgrounds/css3-box-shadow.html.ini +++ b/tests/wpt/metadata/css/css-backgrounds/css3-box-shadow.html.ini @@ -2,4 +2,3 @@ type: reftest expected: if os == "linux": FAIL - diff --git a/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini b/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini new file mode 100644 index 00000000000..26435e28b09 --- /dev/null +++ b/tests/wpt/metadata/css/css-values/vh_not_refreshing_on_chrome.html.ini @@ -0,0 +1,2 @@ +[vh_not_refreshing_on_chrome.html] + expected: FAIL diff --git a/tests/wpt/mozilla/meta/css/border-image-linear-gradient.html.ini b/tests/wpt/mozilla/meta/css/border-image-linear-gradient.html.ini index 04804793c48..c78d4b5e09c 100644 --- a/tests/wpt/mozilla/meta/css/border-image-linear-gradient.html.ini +++ b/tests/wpt/mozilla/meta/css/border-image-linear-gradient.html.ini @@ -1,4 +1,3 @@ [border-image-linear-gradient.html] type: reftest expected: FAIL - diff --git a/tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini b/tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini deleted file mode 100644 index 65c78fd3a4a..00000000000 --- a/tests/wpt/mozilla/meta/css/iframe/hide_after_load.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[hide_after_load.html] - expected: TIMEOUT diff --git a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini index ad64e1afe0b..c508ae3ae71 100644 --- a/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini +++ b/tests/wpt/mozilla/meta/webgl/conformance-1.0.3/conformance/glsl/misc/shader-with-non-reserved-words.html.ini @@ -1,6 +1,5 @@ [shader-with-non-reserved-words.html] type: testharness - expected: TIMEOUT [WebGL test #1696: shader with: 'dmat2' failed to compile] expected: FAIL @@ -145,6 +144,3 @@ [WebGL test #1862: shader with: 'dmat4x4' failed to compile] expected: FAIL - [Overall test] - expected: NOTRUN - diff --git a/tests/wpt/web-platform-tests/.travis.yml b/tests/wpt/web-platform-tests/.travis.yml index 7e81ffcfe10..9ce0e0c75b3 100644 --- a/tests/wpt/web-platform-tests/.travis.yml +++ b/tests/wpt/web-platform-tests/.travis.yml @@ -15,6 +15,7 @@ addons: jwt: secure: N9lvgkqUPtFlz6Vpa6qTPFhymEsDCsbaCsT64/hj3vlHRxK94r5+ugVJ3zm99zC0q2j1ish8yJC7mN/W4wRfBE4sAwmdxrlowxF1DDGCkaLE9i/GWW92s0fBVGJmXLh8kwNkQ31hMOsaGfHIMpeLFS7Se741te7YqsHIzmBCdQs= before_install: + # This needs be sourced as it sets various env vars - . ./tools/ci/before_install.sh install: - ./tools/ci/install.sh diff --git a/tests/wpt/web-platform-tests/acid/acid3/numbered-tests.html b/tests/wpt/web-platform-tests/acid/acid3/numbered-tests.html index dfe7f3876f4..42d3324c69e 100644 --- a/tests/wpt/web-platform-tests/acid/acid3/numbered-tests.html +++ b/tests/wpt/web-platform-tests/acid/acid3/numbered-tests.html @@ -1,5 +1,6 @@ Acid3 numbered tests + diff --git a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/whitespace.html b/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/whitespace.html deleted file mode 100644 index f050da2839e..00000000000 --- a/tests/wpt/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/whitespace.html +++ /dev/null @@ -1,24 +0,0 @@ - - -'white-space' property - - - - - - - - -
- diff --git a/tests/wpt/web-platform-tests/css/requirements.txt b/tests/wpt/web-platform-tests/css/requirements.txt index 9267157acaa..416628d8cc5 100644 --- a/tests/wpt/web-platform-tests/css/requirements.txt +++ b/tests/wpt/web-platform-tests/css/requirements.txt @@ -1,5 +1,6 @@ -six==1.10.0 Template-Python==0.1.post1 -html5lib==0.9999999 -lxml==3.7.3 -mercurial==4.1 +html5lib==1.0.1 +lxml==4.1.1 +mercurial==4.5 +six==1.11.0 +webencodings==0.5.1 diff --git a/tests/wpt/web-platform-tests/css/tools/w3ctestlib/Sources.py b/tests/wpt/web-platform-tests/css/tools/w3ctestlib/Sources.py index 3bc25830734..8af95dba09b 100644 --- a/tests/wpt/web-platform-tests/css/tools/w3ctestlib/Sources.py +++ b/tests/wpt/web-platform-tests/css/tools/w3ctestlib/Sources.py @@ -12,7 +12,7 @@ import codecs import collections from xml import dom import html5lib -from html5lib import treebuilders, inputstream +from html5lib import treebuilders from lxml import etree from lxml.etree import ParseError from Utils import getMimeFromExt, escapeToNamedASCII, basepath, isPathInsideBase, relativeURL, assetName @@ -1363,10 +1363,8 @@ class HTMLSource(XMLSource): if data: with warnings.catch_warnings(): warnings.simplefilter("ignore") - htmlStream = html5lib.inputstream.HTMLInputStream(data) - if ('utf-8-sig' != self.encoding): # if we found a BOM, respect it - self.encoding = htmlStream.detectEncoding()[0] - self.tree = self.__parser.parse(data, encoding = self.encoding) + self.tree = self.__parser.parse(data) + self.encoding = self.__parser.documentEncoding self.injectedTags = {} else: self.tree = None diff --git a/tests/wpt/web-platform-tests/notifications/interfaces.html b/tests/wpt/web-platform-tests/notifications/interfaces.html index 95d648d7ad3..dd441f24690 100644 --- a/tests/wpt/web-platform-tests/notifications/interfaces.html +++ b/tests/wpt/web-platform-tests/notifications/interfaces.html @@ -17,10 +17,13 @@ callback EventHandlerNonNull = any (Event event); typedef EventHandlerNonNull? EventHandler; + + +

+ PaymentRequest .show(optional detailsPromise) tests +

+

+ Bad details - causes `detailsPromise` to reject. +

+

+ Click on each button in sequence from top to bottom without refreshing the page. + No payment sheet should be shown, as all provided values cause an error. +

+

+ + If you see a payment sheet, it means the test has failed. + +

+
    +
  1. + +
  2. + +
  3. + +
  4. + +
  5. + +
  6. +
  7. + +
  8. + +
  9. + +
  10. + +
  11. +
+ + + If you find a buggy test, please file a bug + and tag one of the owners. + diff --git a/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-resolves-manual.https.html b/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-resolves-manual.https.html new file mode 100644 index 00000000000..44e23b09884 --- /dev/null +++ b/tests/wpt/web-platform-tests/payment-request/show-method-optional-promise-resolves-manual.https.html @@ -0,0 +1,319 @@ + + +Test for PaymentRequest.show(optional promise) method + + + + +

+ PaymentRequest .show(optional detailsPromise) tests +

+

+ These test cause detailsPromise to resolve successfully with some updated value. As such, that will cause + something in the payment sheet to change. Each test describes what is expected to change - if anything. +

+

+ Instructions: Click on each button in sequence from top to bottom without refreshing the page. The payment + sheet will be shown. If required, confirm that the expected value appears in the payment sheet. Finally, manually abort/cancel + the payment request by closing the payment sheet. +

+
    +
  1. +
  2. +
  3. +
  4. +
  5. +
  6. +
  7. +
  8. +
  9. +
  10. +
  11. +
  12. +
  13. +
  14. + +
  15. +
  16. + +
  17. +
  18. + +
  19. +
+ + + If you find a buggy test, please file a bug + and tag one of the owners. + diff --git a/tests/wpt/web-platform-tests/streams/piping/close-propagation-forward.js b/tests/wpt/web-platform-tests/streams/piping/close-propagation-forward.js index 113e455a20c..0f0b7bb1a35 100644 --- a/tests/wpt/web-platform-tests/streams/piping/close-propagation-forward.js +++ b/tests/wpt/web-platform-tests/streams/piping/close-propagation-forward.js @@ -448,12 +448,15 @@ promise_test(() => { // Flush async events and verify that no shutdown occurs. return flushAsyncEvents().then(() => { assert_array_equals(ws.events, ['write', 'a'], - 'the chunk must have been written, but close must not have happened yet'); + 'the chunk must have been written, but close must not have happened'); assert_equals(pipeComplete, false, 'the pipe must not be complete'); resolveWritePromise(); return pipePromise; + }).then(() => flushAsyncEvents()).then(() => { + assert_array_equals(ws.events, ['write', 'a'], + 'the chunk must have been written, but close must not have happened'); }); }, 'Closing must be propagated forward: shutdown must not occur until the final write completes; preventClose = true'); @@ -488,7 +491,7 @@ promise_test(() => { return writeCalledPromise.then(() => flushAsyncEvents()).then(() => { assert_array_equals(ws.events, ['write', 'a'], - 'the chunk must have been written, but close must not have happened yet'); + 'the first chunk must have been written, but close must not have happened yet'); assert_false(pipeComplete, 'the pipe should not complete while the first write is pending'); rs.controller.close(); @@ -537,21 +540,21 @@ promise_test(() => { return writeCalledPromise.then(() => flushAsyncEvents()).then(() => { assert_array_equals(ws.events, ['write', 'a'], - 'the chunk must have been written, but close must not have happened yet'); + 'the first chunk must have been written, but close must not have happened'); assert_false(pipeComplete, 'the pipe should not complete while the first write is pending'); rs.controller.close(); resolveWritePromise(); }).then(() => flushAsyncEvents()).then(() => { assert_array_equals(ws.events, ['write', 'a', 'write', 'b'], - 'the second chunk must have been written, but close must not have happened yet'); + 'the second chunk must have been written, but close must not have happened'); assert_false(pipeComplete, 'the pipe should not complete while the second write is pending'); resolveWritePromise(); return pipePromise; }).then(() => flushAsyncEvents()).then(() => { assert_array_equals(ws.events, ['write', 'a', 'write', 'b'], - 'all chunks must have been written, but close must not have happened yet'); + 'all chunks must have been written, but close must not have happened'); }); }, 'Closing must be propagated forward: shutdown must not occur until the final write completes; becomes closed after first write; preventClose = true'); diff --git a/tests/wpt/web-platform-tests/streams/piping/error-propagation-forward.js b/tests/wpt/web-platform-tests/streams/piping/error-propagation-forward.js index cf95c443275..983b92b9c3f 100644 --- a/tests/wpt/web-platform-tests/streams/piping/error-propagation-forward.js +++ b/tests/wpt/web-platform-tests/streams/piping/error-propagation-forward.js @@ -428,6 +428,50 @@ promise_test(t => { }, 'Errors must be propagated forward: shutdown must not occur until the final write completes'); +promise_test(t => { + + const rs = recordingReadableStream(); + + let resolveWriteCalled; + const writeCalledPromise = new Promise(resolve => { + resolveWriteCalled = resolve; + }); + + let resolveWritePromise; + const ws = recordingWritableStream({ + write() { + resolveWriteCalled(); + + return new Promise(resolve => { + resolveWritePromise = resolve; + }); + } + }); + + let pipeComplete = false; + const pipePromise = promise_rejects(t, error1, rs.pipeTo(ws, { preventAbort: true })).then(() => { + pipeComplete = true; + }); + + rs.controller.enqueue('a'); + + return writeCalledPromise.then(() => { + rs.controller.error(error1); + + // Flush async events and verify that no shutdown occurs. + return flushAsyncEvents(); + }).then(() => { + assert_array_equals(ws.events, ['write', 'a']); // no 'abort' + assert_equals(pipeComplete, false, 'the pipe must not be complete'); + + resolveWritePromise(); + return pipePromise; + }).then(() => flushAsyncEvents()).then(() => { + assert_array_equals(ws.events, ['write', 'a']); // no 'abort' + }); + +}, 'Errors must be propagated forward: shutdown must not occur until the final write completes; preventAbort = true'); + promise_test(t => { const rs = recordingReadableStream(); @@ -457,7 +501,8 @@ promise_test(t => { rs.controller.enqueue('b'); return writeCalledPromise.then(() => flushAsyncEvents()).then(() => { - assert_array_equals(ws.events, ['write', 'a'], 'abort should not be called before the first write completes'); + assert_array_equals(ws.events, ['write', 'a'], + 'the first chunk must have been written, but abort must not have happened yet'); assert_false(pipeComplete, 'the pipe should not complete while the first write is pending'); rs.controller.error(error1); @@ -465,15 +510,65 @@ promise_test(t => { return flushAsyncEvents(); }).then(() => { assert_array_equals(ws.events, ['write', 'a', 'write', 'b'], - 'abort should not be called before the second write completes'); + 'the second chunk must have been written, but abort must not have happened yet'); assert_false(pipeComplete, 'the pipe should not complete while the second write is pending'); resolveWritePromise(); return pipePromise; }).then(() => { - assert_array_equals(ws.events, ['write', 'a', 'write', 'b', 'abort', error1], 'sink abort should be called'); + assert_array_equals(ws.events, ['write', 'a', 'write', 'b', 'abort', error1], + 'all chunks must have been written and abort must have happened'); }); -}, 'Errors must be propagated forward: abort should not happen until all queued writes complete'); +}, 'Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write'); + +promise_test(t => { + + const rs = recordingReadableStream(); + + let resolveWriteCalled; + const writeCalledPromise = new Promise(resolve => { + resolveWriteCalled = resolve; + }); + + let resolveWritePromise; + const ws = recordingWritableStream({ + write() { + resolveWriteCalled(); + + return new Promise(resolve => { + resolveWritePromise = resolve; + }); + } + }, new CountQueuingStrategy({ highWaterMark: 2 })); + + let pipeComplete = false; + const pipePromise = promise_rejects(t, error1, rs.pipeTo(ws, { preventAbort: true })).then(() => { + pipeComplete = true; + }); + + rs.controller.enqueue('a'); + rs.controller.enqueue('b'); + + return writeCalledPromise.then(() => flushAsyncEvents()).then(() => { + assert_array_equals(ws.events, ['write', 'a'], + 'the first chunk must have been written, but abort must not have happened'); + assert_false(pipeComplete, 'the pipe should not complete while the first write is pending'); + + rs.controller.error(error1); + resolveWritePromise(); + }).then(() => flushAsyncEvents()).then(() => { + assert_array_equals(ws.events, ['write', 'a', 'write', 'b'], + 'the second chunk must have been written, but abort must not have happened'); + assert_false(pipeComplete, 'the pipe should not complete while the second write is pending'); + + resolveWritePromise(); + return pipePromise; + }).then(() => flushAsyncEvents()).then(() => { + assert_array_equals(ws.events, ['write', 'a', 'write', 'b'], + 'all chunks must have been written, but abort must not have happened'); + }); + +}, 'Errors must be propagated forward: shutdown must not occur until the final write completes; becomes errored after first write; preventAbort = true'); done(); diff --git a/tests/wpt/web-platform-tests/tools/ci/before_install.sh b/tests/wpt/web-platform-tests/tools/ci/before_install.sh old mode 100755 new mode 100644 index bf7d48c0042..9b80fd95785 --- a/tests/wpt/web-platform-tests/tools/ci/before_install.sh +++ b/tests/wpt/web-platform-tests/tools/ci/before_install.sh @@ -1,13 +1,13 @@ #!/bin/bash set -e -if [[ $(./wpt test-jobs --includes $JOB; echo $?) -eq 0 ]]; then +if [[ -z ${RUN_JOB+x} && $(./wpt test-jobs --includes $JOB; echo $?) -eq 0 ]] || [[ $RUN_JOB -eq 1 ]]; then export RUN_JOB=1 git submodule update --init --recursive 1>&2 export DISPLAY=:99.0 sh -e /etc/init.d/xvfb start 1>&2 # For uploading the manifest export WPT_MANIFEST_FILE=$HOME/meta/MANIFEST-$(git rev-parse HEAD).json -else +elif [[ -z ${RUN_JOB+x} ]]; then export RUN_JOB=0 fi diff --git a/tests/wpt/web-platform-tests/tools/ci/ci_lint.sh b/tests/wpt/web-platform-tests/tools/ci/ci_lint.sh old mode 100644 new mode 100755 diff --git a/tests/wpt/web-platform-tests/tools/ci/ci_manifest.sh b/tests/wpt/web-platform-tests/tools/ci/ci_manifest.sh old mode 100644 new mode 100755 diff --git a/tests/wpt/web-platform-tests/tools/ci/ci_stability.sh b/tests/wpt/web-platform-tests/tools/ci/ci_stability.sh old mode 100644 new mode 100755 diff --git a/tests/wpt/web-platform-tests/tools/ci/ci_wpt.sh b/tests/wpt/web-platform-tests/tools/ci/ci_wpt.sh old mode 100644 new mode 100755 diff --git a/tests/wpt/web-platform-tests/tools/ci/run.sh b/tests/wpt/web-platform-tests/tools/ci/run.sh index d126dbe3e57..ae58f58c336 100755 --- a/tests/wpt/web-platform-tests/tools/ci/run.sh +++ b/tests/wpt/web-platform-tests/tools/ci/run.sh @@ -6,5 +6,5 @@ WPT_ROOT=$(readlink -f $SCRIPT_DIR/../..) cd $WPT_ROOT if [[ $RUN_JOB -eq 1 ]]; then - . $SCRIPT + $SCRIPT fi diff --git a/tests/wpt/web-platform-tests/tools/manifest/vcs.py b/tests/wpt/web-platform-tests/tools/manifest/vcs.py index 010bce81a9c..8d5e7854eb6 100644 --- a/tests/wpt/web-platform-tests/tools/manifest/vcs.py +++ b/tests/wpt/web-platform-tests/tools/manifest/vcs.py @@ -14,7 +14,11 @@ class Git(object): def get_func(repo_path): def git(cmd, *args): full_cmd = ["git", cmd] + list(args) - return subprocess.check_output(full_cmd, cwd=repo_path, stderr=subprocess.STDOUT) + try: + return subprocess.check_output(full_cmd, cwd=repo_path, stderr=subprocess.STDOUT) + except WindowsError: + full_cmd[0] = "git.bat" + return subprocess.check_output(full_cmd, cwd=repo_path, stderr=subprocess.STDOUT) return git @classmethod diff --git a/tests/wpt/web-platform-tests/workers/data-url-shared.html b/tests/wpt/web-platform-tests/workers/data-url-shared.html index 7b51b4b9207..aae76d46cd7 100644 --- a/tests/wpt/web-platform-tests/workers/data-url-shared.html +++ b/tests/wpt/web-platform-tests/workers/data-url-shared.html @@ -40,7 +40,7 @@ assert_worker_throws('indexedDB is inaccessible', 'self.indexedDB.open("someDBNa assert_worker_sends_pass('cross-origin worker', '', 'fetch("/").then(() => port.postMessage("FAIL"), () => port.postMessage("PASS"))'); // 'data:' workers have opaque origin -assert_worker_sends_pass('worker has opaque origin', 'application/javascript', 'if (self.location.origin == "null") port.postMessage("PASS"); else { port.postMessage("FAIL"); }'); +assert_worker_sends_pass('worker has opaque origin', 'application/javascript', 'port.postMessage(self.location.origin == "null" ? "PASS" : "FAIL")'); function openWindow(url) { return new Promise(resolve => {