[wpt-sync] Sync PR 20692 - Fix the order of operations in pipeTo
Categories
(Core :: JavaScript Engine, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox73 | --- | fixed |
People
(Reporter: mozilla.org, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 20692 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/20692
Details from upstream follow.
Adam Rice <ricea@chromium.org> wrote:
Fix the order of operations in pipeTo
Previously, Blink's implementations of pipeTo and pipeThrough did some
initialisation operations in the wrong order. This was done to simplify
the code when there were two implementations.Now only the native implementation remains, it is simpler to do the
operations in the correct order.In particular, switch the order of checking options w.r.t. checking the
locked status of the streams to match the standard.Also add tests to verify the order is correct.
BUG=1031895
Change-Id: I51fbf74f4cd33ffc357a34ab302d4c1bb7b1e77b
Reviewed-on: https://chromium-review.googlesource.com/1958550
WPT-Export-Revision: 695e43b0f43d88f82a460315f41a4f93e7e86b16
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 1•4 years ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=f609bdec3eff597f32dd49bc024fc8b4ab24c932
Assignee | ||
Comment 2•4 years ago
|
||
CI Results
Ran 13 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 10 tests
Status Summary
Firefox
OK : 4
FAIL : 88
TIMEOUT: 1
ERROR : 3
Chrome
CRASH : 8
Safari
OK : 3
FAIL : 75
ERROR : 5
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
/streams/piping/pipe-through.any.html: ERROR[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: ERROR)
pipeThrough should not call pipeTo on this: FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow '0': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'undefined': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'true': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'NaN': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow '0': FAIL (Safari: FAIL)
Piping through a duck-typed pass-through transform stream should work: FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'true': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'ReadableStream': FAIL (Safari: FAIL)
Piping through a transform errored on the writable end does not cause an unhandled promise rejection: FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'ReadableStream': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow '[object Object]': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'null': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'undefined': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow '[object Object]': FAIL (Safari: FAIL)
pipeThrough should not call pipeTo on the ReadableStream prototype: FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'null': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'NaN': FAIL (Safari: FAIL)
/streams/piping/general.any.js: SKIP (Chrome: SKIP, Safari: SKIP)
/streams/piping/general.any.html: OK[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: OK)
pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream: FAIL (Safari: FAIL)
Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo: FAIL (Safari: FAIL)
an undefined rejection from write should cause pipeTo() to reject when preventCancel is true: FAIL (Safari: FAIL)
an undefined rejection from pull should cause pipeTo() to reject when preventAbort is true: FAIL (Safari: FAIL)
pipeTo() should reject if an option getter grabs a writer: FAIL (Safari: FAIL)
an undefined rejection from pull should cause pipeTo() to reject when preventAbort is false: FAIL (Safari: FAIL)
Piping must lock both the ReadableStream and WritableStream: FAIL (Safari: FAIL)
pipeTo must check the brand of its ReadableStream this value: FAIL (Safari: FAIL)
pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream: FAIL (Safari: FAIL)
Piping finishing must unlock both the ReadableStream and WritableStream: FAIL (Safari: FAIL)
pipeTo must check the brand of its WritableStream argument: FAIL (Safari: FAIL)
an undefined rejection from write should cause pipeTo() to reject when preventCancel is false: FAIL (Safari: FAIL)
Piping from a ReadableStream from which lots of chunks are synchronously readable: FAIL (Safari: FAIL)
/streams/piping/general.any.serviceworker.html: OK[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: OK)
pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream: FAIL (Safari: FAIL)
Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo: FAIL (Safari: FAIL)
an undefined rejection from write should cause pipeTo() to reject when preventCancel is true: FAIL (Safari: FAIL)
an undefined rejection from pull should cause pipeTo() to reject when preventAbort is true: FAIL (Safari: FAIL)
pipeTo() should reject if an option getter grabs a writer: FAIL (Safari: FAIL)
an undefined rejection from pull should cause pipeTo() to reject when preventAbort is false: FAIL (Safari: FAIL)
Piping must lock both the ReadableStream and WritableStream: FAIL (Safari: FAIL)
pipeTo must check the brand of its ReadableStream this value: FAIL (Safari: FAIL)
pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream: FAIL (Safari: FAIL)
Piping finishing must unlock both the ReadableStream and WritableStream: FAIL (Safari: FAIL)
pipeTo must check the brand of its WritableStream argument: FAIL (Safari: FAIL)
an undefined rejection from write should cause pipeTo() to reject when preventCancel is false: FAIL (Safari: FAIL)
Piping from a ReadableStream from which lots of chunks are synchronously readable: FAIL (Safari: FAIL)
/streams/piping/general.any.sharedworker.html: OK[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: ERROR)
pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream: FAIL
Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo: FAIL
an undefined rejection from write should cause pipeTo() to reject when preventCancel is true: FAIL
an undefined rejection from pull should cause pipeTo() to reject when preventAbort is true: FAIL
pipeTo() should reject if an option getter grabs a writer: FAIL
an undefined rejection from pull should cause pipeTo() to reject when preventAbort is false: FAIL
Piping must lock both the ReadableStream and WritableStream: FAIL
pipeTo must check the brand of its ReadableStream this value: FAIL
pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream: FAIL
Piping finishing must unlock both the ReadableStream and WritableStream: FAIL
pipeTo must check the brand of its WritableStream argument: FAIL
an undefined rejection from write should cause pipeTo() to reject when preventCancel is false: FAIL
Piping from a ReadableStream from which lots of chunks are synchronously readable: FAIL
/streams/piping/pipe-through.any.js: SKIP (Chrome: SKIP, Safari: SKIP)
/streams/piping/pipe-through.any.worker.html: ERROR[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: ERROR)
pipeThrough should not call pipeTo on this: FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow '0': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'undefined': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'true': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'NaN': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow '0': FAIL (Safari: FAIL)
Piping through a duck-typed pass-through transform stream should work: FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'true': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'ReadableStream': FAIL (Safari: FAIL)
Piping through a transform errored on the writable end does not cause an unhandled promise rejection: FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'ReadableStream': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow '[object Object]': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'null': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'undefined': FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow '[object Object]': FAIL (Safari: FAIL)
pipeThrough should not call pipeTo on the ReadableStream prototype: FAIL (Safari: FAIL)
pipeThrough should brand-check readable and not allow 'null': FAIL (Safari: FAIL)
pipeThrough should brand-check this and not allow 'NaN': FAIL (Safari: FAIL)
/streams/piping/general.any.worker.html: OK[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: OK)
pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream: FAIL (Safari: FAIL)
Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo: FAIL (Safari: FAIL)
an undefined rejection from write should cause pipeTo() to reject when preventCancel is true: FAIL (Safari: FAIL)
an undefined rejection from pull should cause pipeTo() to reject when preventAbort is true: FAIL (Safari: FAIL)
pipeTo() should reject if an option getter grabs a writer: FAIL (Safari: FAIL)
an undefined rejection from pull should cause pipeTo() to reject when preventAbort is false: FAIL (Safari: FAIL)
Piping must lock both the ReadableStream and WritableStream: FAIL (Safari: FAIL)
pipeTo must check the brand of its ReadableStream this value: FAIL (Safari: FAIL)
pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream: FAIL (Safari: FAIL)
Piping finishing must unlock both the ReadableStream and WritableStream: FAIL (Safari: FAIL)
pipeTo must check the brand of its WritableStream argument: FAIL (Safari: FAIL)
an undefined rejection from write should cause pipeTo() to reject when preventCancel is false: FAIL (Safari: FAIL)
Piping from a ReadableStream from which lots of chunks are synchronously readable: FAIL (Safari: FAIL)
/streams/piping/pipe-through.any.serviceworker.html: ERROR[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: ERROR)
/streams/piping/pipe-through.any.sharedworker.html: SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt], TIMEOUT[GitHub] (Chrome: CRASH, Safari: ERROR)
Tests Disabled in Gecko Infrastructure
/streams/piping/pipe-through.any.html: ERROR[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: ERROR)
/streams/piping/general.any.js: SKIP (Chrome: SKIP, Safari: SKIP)
/streams/piping/general.any.html: OK[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: OK)
/streams/piping/general.any.serviceworker.html: OK[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: OK)
/streams/piping/general.any.sharedworker.html: OK[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: ERROR)
/streams/piping/pipe-through.any.js: SKIP (Chrome: SKIP, Safari: SKIP)
/streams/piping/pipe-through.any.worker.html: ERROR[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: ERROR)
/streams/piping/general.any.worker.html: OK[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: OK)
/streams/piping/pipe-through.any.serviceworker.html: ERROR[GitHub], SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt] (Chrome: CRASH, Safari: ERROR)
/streams/piping/pipe-through.any.sharedworker.html: SKIP[Gecko-android-em-7.0-x86_64-debug-geckoview,Gecko-android-em-7.0-x86_64-opt-geckoview,Gecko-linux64-asan-opt,Gecko-linux64-debug,Gecko-linux64-opt,Gecko-linux64-qr-debug,Gecko-linux64-qr-opt,Gecko-windows10-64-debug,Gecko-windows10-64-opt,Gecko-windows10-64-qr-debug,Gecko-windows10-64-qr-opt,Gecko-windows7-32-debug,Gecko-windows7-32-opt], TIMEOUT[GitHub] (Chrome: CRASH, Safari: ERROR)
Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9c700e5aa18c [wpt PR 20692] - Fix the order of operations in pipeTo, a=testonly
Comment 4•4 years ago
|
||
bugherder |
Description
•