Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream streams tests from whatwg/streams #4559

Merged
merged 6 commits into from
Jan 19, 2017
Merged

Conversation

domenic
Copy link
Member

@domenic domenic commented Jan 18, 2017

Includes writable streams, readable byte streams, and piping from https://github.com/whatwg/streams/tree/7285b02adaee5e9f9d80e9d9f55dc51949237713.

Reviewed upstream, but let's see what the stability checker thinks of this.

@wpt-pr-bot
Copy link
Collaborator

@domenic
Copy link
Member Author

domenic commented Jan 18, 2017

Dang, it doesn't like the duplicate test names. See #4210. Let's see what I can do...

@wpt-stability-bot
Copy link

wpt-stability-bot commented Jan 18, 2017

Firefox (nightly channel)

Testing revision 904d6483e527b83f63ed4a6a591d74690878f6c7
Starting 10 test iterations

Unstable results

Test Subtest Results
/streams/writable-streams/close.https.html releaseLock() should not change the result of async close() FAIL: 40/10
/streams/writable-streams/close.https.html when sink calls error asynchronously while closing, the stream should become errored FAIL: 40/10
/streams/writable-streams/close.https.html the promise returned by async abort during close should resolve FAIL: 40/10
/streams/writable-streams/close.https.html releaseLock() should not change the result of sync close() FAIL: 40/10
/streams/writable-streams/close.https.html when close is called on a WritableStream in writable state, ready should return a fulfilled promise FAIL: 40/10
/streams/writable-streams/close.https.html returning a thenable from close() should work FAIL: 40/10
/streams/writable-streams/close.https.html when sink calls error synchronously while closing, the stream should become errored FAIL: 40/10
/streams/writable-streams/close.https.html close() should set state to CLOSED even if writer has detached FAIL: 40/10
/streams/writable-streams/close.https.html when close is called on a WritableStream in waiting state, ready promise should be fulfilled FAIL: 40/10
/streams/writable-streams/close.https.html fulfillment value of ws.close() call must be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
/streams/writable-streams/close.https.html when close is called on a WritableStream in waiting state, ready should be fulfilled immediately even if close takes a long time FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true, preventClose = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = a (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = [object Object] (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = false (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = null (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: shutdown must not occur until the final write completes FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = undefined (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = 1 (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = Symbol() (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = true (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = NaN (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = 0 (falsy); fulfilled abort promise FAIL: 80/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = undefined (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = 1 (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true, preventClose = true FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = null (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = [object Object] (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = a (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = Symbol() (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = 0 (falsy); fulfilled cancel promise FAIL: 80/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = NaN (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = true (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = false (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = (falsy); fulfilled cancel promise FAIL: 40/10
/streams/writable-streams/write.https.html fulfillment value of ws.write() call should be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
/streams/writable-streams/write.https.html WritableStream should complete asynchronous writes before close resolves FAIL: 40/10
/streams/writable-streams/write.https.html returning a thenable from write() should work FAIL: 40/10
/streams/writable-streams/write.https.html WritableStream should complete synchronous writes before close resolves FAIL: 40/10
/streams/writable-streams/write.https.html when sink's write throws an error, the stream should become errored and the promise should reject FAIL: 40/10
/streams/writable-streams/write.https.html WritableStream should transition to waiting until write is acknowledged FAIL: 40/10
/streams/writable-streams/write.https.html WritableStreamDefaultWriter should work when manually constructed FAIL: 40/10
/streams/writable-streams/write.https.html a large queue of writes should be processed completely FAIL: 40/10
/streams/writable-streams/write.https.html when write returns a rejected promise, queued writes and close should be cleared FAIL: 40/10
/streams/writable-streams/count-queuing-strategy.https.html Correctly governs the value of a WritableStream's state property (HWM = 0) FAIL: 40/10
/streams/writable-streams/count-queuing-strategy.https.html Can construct a writable stream with a valid CountQueuingStrategy FAIL: 40/10
/streams/writable-streams/count-queuing-strategy.https.html Correctly governs the value of a WritableStream's state property (HWM = 4) FAIL: 40/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Multiple read(view), close() and respond() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throwing in pull function must error the stream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Automatic pull() after start() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Multiple enqueue(), getReader(), then read(view) FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then respond() and close() in pull() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Test that closing a stream does not release a reader automatically FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: A stream must be errored if close()-d before fulfilling read(view) with Uint16Array FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then respond() with a transferred ArrayBuffer FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue() with Uint16Array, getReader(), then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read(view) with a smaller views FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read(view) FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Test that erroring a stream does not release a reader automatically FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Respond to pull() by enqueue() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read() twice, then enqueue() twice FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStreamBYOBReader constructor requires a ReadableStream with type "bytes" FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: releaseLock() on ReadableStreamReader with pending read() must throw FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStreamBYOBReader constructor requires a ReadableStream argument FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Mix of auto allocate and BYOB FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with Uint16Array on close()-d stream with 1 byte enqueue()-d must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then respond() with too big value FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with Uint32Array, then fill it by multiple respond() calls FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: autoAllocateChunkSize FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then cancel() FAIL: 60/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Construct and expect start and pull being called FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then respond() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then error() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), but pull() function is not callable FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Automatic pull() after start() and read(view) FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStreamBYOBReader can be constructed directly FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throwing in pull in response to read() must be ignored if the stream is errored in it FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: cancel() with partially filled pending pull() request FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source can be constructed with no errors FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Test that closing a stream does not release a BYOB reader automatically FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(), then error() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(), but pull() function is not callable FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html getReader({mode: "byob"}) throws on non-bytes streams FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: respond(3) to read(view) with 2 element Uint16Array enqueues the 1 byte remainder FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue() 1 byte, getReader(), then read(view) with Uint16Array FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue() 3 byte, getReader(), then read(view) with 2-element Uint16Array FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Automatic pull() after start() and read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throw if close()-ed more than once FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: getReader(), read(view), then cancel() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throwing in pull in response to read(view) must be ignored if the stream is errored in it FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: getReader() with mode set to byob, then releaseLock() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: getReader(), enqueue(), close(), then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throwing in pull in response to read(view) function must error the stream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: getReader(), then releaseLock() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStreamBYOBReader constructor requires an unlocked ReadableStream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Even read(view) with passing ArrayBufferView like object as view must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), close(), getReader(), then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read(view) with a bigger view FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read(view) where view.buffer is not fully covered by view FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read() on an errored stream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Push source that doesn't understand pull signal FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throw on enqueue() after close() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with zero-length view must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with passing an empty object as view must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Multiple read(view), big enqueue() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Construct with highWaterMark of 0 FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Respond to pull() by enqueue() asynchronously FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Multiple read(view) and multiple enqueue() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Test that erroring a stream does not release a BYOB reader automatically FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with passing undefined as view must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) on an errored stream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), read(view) partially, then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: No automatic pull call if start doesn't finish FAIL: 30/10
/streams/writable-streams/bad-underlying-sinks.https.html write: returning a promise that becomes rejected after the writer write() should cause writer write() and ready to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html abort: non-function abort method with .apply FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html write: throwing method should cause write() and closed to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html close: returning a rejected promise should cause writer close() and ready to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html close: throwing method should cause writer close() and ready to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html write: returning a rejected promise (second write) should cause writer write() and ready to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html abort: throwing getter should cause abort() and closed to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html close: throwing getter should cause writer close() to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html write: throwing getter should cause write() and closed to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html start: errors in start cause WritableStream constructor to throw FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html abort: throwing method should cause abort() and closed to reject FAIL: 40/10
/streams/piping/flow-control.https.html Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream FAIL: 40/10
/streams/piping/flow-control.https.html Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks, but then does FAIL: 40/10
/streams/piping/flow-control.https.html Piping from an empty ReadableStream into a WritableStream that does not desire chunks, but then the readable stream becomes non-empty and the writable stream starts desiring chunks FAIL: 40/10
/streams/piping/flow-control.https.html Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks FAIL: 40/10
/streams/writable-streams/aborting.https.html underlying abort() should not be called until underlying write() completes FAIL: 40/10
/streams/writable-streams/aborting.https.html .closed should not resolve before fulfilled write() FAIL: 40/10
/streams/writable-streams/aborting.https.html WritableStream if sink's abort throws, the promise returned by ws.abort() rejects FAIL: 40/10
/streams/writable-streams/aborting.https.html WritableStream should NOT call underlying sink's close if no abort is supplied (historical) FAIL: 40/10
/streams/writable-streams/aborting.https.html WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects FAIL: 40/10
/streams/writable-streams/aborting.https.html close() should use error from underlying write() on abort FAIL: 40/10
/streams/writable-streams/aborting.https.html underlying abort() should not be called if underlying close() has started FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream passes through the given reason FAIL: 40/10
/streams/writable-streams/aborting.https.html underlying abort() should be called while closing if underlying close() has not started yet FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream puts it in an errored state, with a TypeError as the stored error FAIL: 40/10
/streams/writable-streams/aborting.https.html writer.ready should reject on controller error without waiting for underlying write FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream causes any outstanding write() promises to be rejected with a TypeError FAIL: 40/10
/streams/writable-streams/aborting.https.html if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream prevents further writes after any that are in progress FAIL: 40/10
/streams/writable-streams/aborting.https.html writes should be satisfied in order when aborting FAIL: 40/10
/streams/writable-streams/aborting.https.html .closed should not resolve before rejected write(); write() error should overwrite abort() error FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream immediately prevents future writes FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream should cause the writer's unsettled ready promise to reject FAIL: 40/10
/streams/writable-streams/aborting.https.html Fulfillment value of ws.abort() call must be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
/streams/writable-streams/aborting.https.html writes should be satisfied in order after rejected write when aborting FAIL: 40/10
/streams/writable-streams/aborting.https.html releaseLock() while aborting should reject the original closed promise FAIL: 40/10
/streams/writable-streams/aborting.https.html releaseLock() during delayed async abort() should create a new rejected closed promise FAIL: 40/10
/streams/writable-streams/aborting.https.html returning a thenable from abort() should work FAIL: 40/10
/streams/writable-streams/aborting.https.html abort() on a released writer rejects FAIL: 40/10
/streams/writable-streams/aborting.https.html Closing a WritableStream and aborting it while it closes causes the stream to error FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream after it is closed is a no-op FAIL: 40/10
/streams/writable-streams/aborting.https.html writer close() promise should resolve before abort() promise FAIL: 40/10
/streams/writable-streams/aborting.https.html WritableStream if sink's abort throws, the promise returned by writer.abort() rejects FAIL: 40/10
/streams/writable-streams/aborting.https.html Closing but then immediately aborting a WritableStream causes the stream to error FAIL: 40/10
/streams/writable-streams/start.https.html underlying sink's write or close should not be called if start throws FAIL: 40/10
/streams/writable-streams/start.https.html underlying sink's write or close should not be invoked if the promise returned by start is rejected FAIL: 40/10
/streams/writable-streams/start.https.html returning a thenable from start() should work FAIL: 40/10
/streams/writable-streams/start.https.html underlying sink's write should not be called until start finishes FAIL: 40/10
/streams/writable-streams/start.https.html underlying sink's close should not be called until start finishes FAIL: 40/10
/streams/writable-streams/byte-length-queuing-strategy.https.html Closing a writable stream with in-flight writes below the high water mark delays the close call properly FAIL: 40/10
/streams/writable-streams/constructor.https.html controller argument should be passed to write method FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStream should be constructible with no arguments FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStream instances should have standard methods and properties FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStreamDefaultWriter constructor should throw when stream argument is locked FAIL: 40/10
/streams/writable-streams/constructor.https.html controller argument should be passed to start method FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStreamDefaultWriter should throw unless passed a WritableStream FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStream should be writable and ready should fulfill immediately if the strategy does not apply backpressure FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStreamDefaultController constructor should throw when passed an initialised WritableStream FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStreamDefaultController constructor should throw unless passed a WritableStream FAIL: 40/10
/streams/writable-streams/constructor.https.html highWaterMark should be reflected to desiredSize FAIL: 40/10
/streams/writable-streams/constructor.https.html controller argument should be passed to close method FAIL: 40/10
/streams/writable-streams/constructor.https.html private constructors should not be exported PASS: 40/10
/streams/piping/general.https.html pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream FAIL: 40/10
/streams/piping/general.https.html Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo FAIL: 40/10
/streams/piping/general.https.html Piping must lock both the ReadableStream and WritableStream FAIL: 40/10
/streams/piping/general.https.html pipeTo must check the brand of its ReadableStream this value FAIL: 40/10
/streams/piping/general.https.html pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream FAIL: 40/10
/streams/piping/general.https.html Piping finishing must unlock both the ReadableStream and WritableStream FAIL: 40/10
/streams/piping/general.https.html pipeTo must check the brand of its WritableStream argument FAIL: 40/10
/streams/piping/general.https.html Piping from a ReadableStream from which lots of chunks are synchronously readable FAIL: 40/10
/streams/writable-streams/general.https.html closed and ready on a released writer FAIL: 40/10
/streams/writable-streams/general.https.html ws.getWriter() on an errored WritableStream FAIL: 40/10
/streams/writable-streams/general.https.html ws.getWriter() on an aborted WritableStream FAIL: 40/10
/streams/writable-streams/general.https.html WritableStream's strategy.size should not be called as a method FAIL: 40/10
/streams/writable-streams/general.https.html ws.getWriter() on a closing WritableStream FAIL: 40/10
/streams/writable-streams/general.https.html methods should not not have .apply() or .call() called FAIL: 40/10
/streams/writable-streams/general.https.html WritableStream should call underlying sink methods as methods FAIL: 40/10
/streams/writable-streams/general.https.html ws.getWriter() on a closed WritableStream FAIL: 40/10
/streams/writable-streams/general.https.html desiredSize on a writer for a closed stream FAIL: 40/10
/streams/writable-streams/general.https.html desiredSize on a released writer FAIL: 40/10
/streams/writable-streams/general.https.html redundant releaseLock() is no-op FAIL: 40/10
/streams/writable-streams/general.https.html desiredSize initial value FAIL: 40/10
/streams/piping/transform-streams.https.html Piping through an identity transform stream should close the destination when the source closes FAIL: 30/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed after one chunk; preventClose = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = 1 (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = Symbol() (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; preventClose = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = true (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true, preventCancel = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = [object Object] (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = a (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: shutdown must not occur until the final write completes FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise FAIL: 80/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true, preventAbort = true, preventClose = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 0 (falsy); fulfilled cancel promise FAIL: 80/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 1 (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = a (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = undefined (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = null (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = false (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: starts errored; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = NaN (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel omitted (but cancel is never called) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write, preventCancel = true; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = Symbol() (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping via abort; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = [object Object] (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: erroring via the controller errors once pending write completes FAIL: 40/10
/streams/piping/pipe-through.https.html Piping through a duck-typed pass-through transform stream should work FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html reject any non-function value for strategy.size FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: invalid strategy.size return value FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: invalid strategy.highWaterMark FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: throwing strategy.highWaterMark getter FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: throwing strategy.size method FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: throwing strategy.size getter FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from an errored readable stream to a closed writable stream FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from a closed readable stream to a closed writable stream FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from a closed readable stream to an errored writable stream FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from an errored readable stream to an errored writable stream FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from an errored readable stream to an errored writable stream; preventAbort = true FAIL: 40/10

All results

/streams/writable-streams/close.https.html
Subtest Results
OK
releaseLock() should not change the result of async close() FAIL: 40/10
when sink calls error asynchronously while closing, the stream should become errored FAIL: 40/10
the promise returned by async abort during close should resolve FAIL: 40/10
releaseLock() should not change the result of sync close() FAIL: 40/10
when close is called on a WritableStream in writable state, ready should return a fulfilled promise FAIL: 40/10
Untitled PASS
returning a thenable from close() should work FAIL: 40/10
when sink calls error synchronously while closing, the stream should become errored FAIL: 40/10
close() should set state to CLOSED even if writer has detached FAIL: 40/10
when close is called on a WritableStream in waiting state, ready promise should be fulfilled FAIL: 40/10
fulfillment value of ws.close() call must be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
when close is called on a WritableStream in waiting state, ready should be fulfilled immediately even if close takes a long time FAIL: 40/10
/streams/writable-streams/brand-checks.https.html
Subtest Results
ERROR
Untitled FAIL
/streams/piping/error-propagation-forward.https.html
Subtest Results
OK
Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = true FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true, preventClose = true FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; preventAbort = true FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = a (truthy) FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = [object Object] (truthy) FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; preventAbort = true FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = false (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = null (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: shutdown must not occur until the final write completes FAIL: 40/10
Untitled PASS
Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = undefined (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = 1 (truthy) FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = true FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = Symbol() (truthy) FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = true (truthy) FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = NaN (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = 0 (falsy); fulfilled abort promise FAIL: 80/10
/streams/piping/close-propagation-backward.https.html
Subtest Results
OK
Closing must be propagated backward: starts closed; preventCancel = undefined (falsy); fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel omitted; rejected cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = 1 (truthy) FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true, preventClose = true FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = null (falsy); fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = [object Object] (truthy) FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = a (truthy) FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = Symbol() (truthy) FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = 0 (falsy); fulfilled cancel promise FAIL: 80/10
Closing must be propagated backward: starts closed; preventCancel = NaN (falsy); fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = true (truthy) FAIL: 40/10
Untitled PASS
Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = false (falsy); fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = (falsy); fulfilled cancel promise FAIL: 40/10
/streams/writable-streams/write.https.html
Subtest Results
OK
fulfillment value of ws.write() call should be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
WritableStream should complete asynchronous writes before close resolves FAIL: 40/10
returning a thenable from write() should work FAIL: 40/10
WritableStream should complete synchronous writes before close resolves FAIL: 40/10
Untitled PASS
when sink's write throws an error, the stream should become errored and the promise should reject FAIL: 40/10
WritableStream should transition to waiting until write is acknowledged FAIL: 40/10
WritableStreamDefaultWriter should work when manually constructed FAIL: 40/10
a large queue of writes should be processed completely FAIL: 40/10
when write returns a rejected promise, queued writes and close should be cleared FAIL: 40/10
/streams/writable-streams/count-queuing-strategy.https.html
Subtest Results
OK
Correctly governs the value of a WritableStream's state property (HWM = 0) FAIL: 40/10
Can construct a writable stream with a valid CountQueuingStrategy FAIL: 40/10
Correctly governs the value of a WritableStream's state property (HWM = 4) FAIL: 40/10
Untitled PASS
/streams/readable-byte-stream/readable-byte-stream.html
Subtest Results
OK
ReadableStream with byte source: Multiple read(view), close() and respond() FAIL: 30/10
ReadableStream with byte source: Throwing in pull function must error the stream FAIL: 30/10
ReadableStream with byte source: Automatic pull() after start() FAIL: 30/10
ReadableStream with byte source: Multiple enqueue(), getReader(), then read(view) FAIL: 30/10
ReadableStream with byte source: read(view), then respond() and close() in pull() FAIL: 30/10
ReadableStream with byte source: Test that closing a stream does not release a reader automatically FAIL: 30/10
ReadableStream with byte source: A stream must be errored if close()-d before fulfilling read(view) with Uint16Array FAIL: 30/10
ReadableStream with byte source: read(view), then respond() with a transferred ArrayBuffer FAIL: 30/10
ReadableStream with byte source: enqueue() with Uint16Array, getReader(), then read() FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read(view) with a smaller views FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read(view) FAIL: 30/10
ReadableStream with byte source: Test that erroring a stream does not release a reader automatically FAIL: 30/10
ReadableStream with byte source: Respond to pull() by enqueue() FAIL: 30/10
ReadableStream with byte source: read() twice, then enqueue() twice FAIL: 30/10
ReadableStreamBYOBReader constructor requires a ReadableStream with type "bytes" FAIL: 30/10
ReadableStream with byte source: releaseLock() on ReadableStreamReader with pending read() must throw FAIL: 30/10
ReadableStreamBYOBReader constructor requires a ReadableStream argument FAIL: 30/10
ReadableStream with byte source: Mix of auto allocate and BYOB FAIL: 30/10
ReadableStream with byte source: read(view) with Uint16Array on close()-d stream with 1 byte enqueue()-d must fail FAIL: 30/10
ReadableStream with byte source: read(view), then respond() with too big value FAIL: 30/10
ReadableStream with byte source: read(view) with Uint32Array, then fill it by multiple respond() calls FAIL: 30/10
ReadableStream with byte source: autoAllocateChunkSize FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then cancel() FAIL: 60/10
ReadableStream with byte source: Construct and expect start and pull being called FAIL: 30/10
ReadableStream with byte source: read(view), then respond() FAIL: 30/10
ReadableStream with byte source: read(view), then error() FAIL: 30/10
ReadableStream with byte source: read(view), but pull() function is not callable FAIL: 30/10
ReadableStream with byte source: Automatic pull() after start() and read(view) FAIL: 30/10
ReadableStreamBYOBReader can be constructed directly FAIL: 30/10
ReadableStream with byte source: Throwing in pull in response to read() must be ignored if the stream is errored in it FAIL: 30/10
ReadableStream with byte source: cancel() with partially filled pending pull() request FAIL: 30/10
ReadableStream with byte source can be constructed with no errors FAIL: 30/10
ReadableStream with byte source: Test that closing a stream does not release a BYOB reader automatically FAIL: 30/10
ReadableStream with byte source: read(), then error() FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read() FAIL: 30/10
ReadableStream with byte source: read(), but pull() function is not callable FAIL: 30/10
getReader({mode: "byob"}) throws on non-bytes streams FAIL: 30/10
ReadableStream with byte source: respond(3) to read(view) with 2 element Uint16Array enqueues the 1 byte remainder FAIL: 30/10
ReadableStream with byte source: enqueue() 1 byte, getReader(), then read(view) with Uint16Array FAIL: 30/10
ReadableStream with byte source: enqueue() 3 byte, getReader(), then read(view) with 2-element Uint16Array FAIL: 30/10
ReadableStream with byte source: Automatic pull() after start() and read() FAIL: 30/10
ReadableStream with byte source: Throw if close()-ed more than once FAIL: 30/10
Untitled FAIL
ReadableStream with byte source: getReader(), read(view), then cancel() FAIL: 30/10
ReadableStream with byte source: Throwing in pull in response to read(view) must be ignored if the stream is errored in it FAIL: 30/10
ReadableStream with byte source: getReader() with mode set to byob, then releaseLock() FAIL: 30/10
ReadableStream with byte source: getReader(), enqueue(), close(), then read() FAIL: 30/10
ReadableStream with byte source: Throwing in pull in response to read(view) function must error the stream FAIL: 30/10
ReadableStream with byte source: getReader(), then releaseLock() FAIL: 30/10
ReadableStreamBYOBReader constructor requires an unlocked ReadableStream FAIL: 30/10
ReadableStream with byte source: Even read(view) with passing ArrayBufferView like object as view must fail FAIL: 30/10
ReadableStream with byte source: enqueue(), close(), getReader(), then read() FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read(view) with a bigger view FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read(view) where view.buffer is not fully covered by view FAIL: 30/10
ReadableStream with byte source: read() on an errored stream FAIL: 30/10
ReadableStream with byte source: Push source that doesn't understand pull signal FAIL: 30/10
ReadableStream with byte source: Throw on enqueue() after close() FAIL: 30/10
ReadableStream with byte source: read(view) with zero-length view must fail FAIL: 30/10
ReadableStream with byte source: read(view) with passing an empty object as view must fail FAIL: 30/10
ReadableStream with byte source: Multiple read(view), big enqueue() FAIL: 30/10
ReadableStream with byte source: Construct with highWaterMark of 0 FAIL: 30/10
ReadableStream with byte source: Respond to pull() by enqueue() asynchronously FAIL: 30/10
ReadableStream with byte source: Multiple read(view) and multiple enqueue() FAIL: 30/10
ReadableStream with byte source: Test that erroring a stream does not release a BYOB reader automatically FAIL: 30/10
ReadableStream with byte source: read(view) with passing undefined as view must fail FAIL: 30/10
ReadableStream with byte source: read(view) on an errored stream FAIL: 30/10
ReadableStream with byte source: enqueue(), read(view) partially, then read() FAIL: 30/10
ReadableStream with byte source: No automatic pull call if start doesn't finish FAIL: 30/10
/streams/writable-streams/bad-underlying-sinks.https.html
Subtest Results
OK
write: returning a promise that becomes rejected after the writer write() should cause writer write() and ready to reject FAIL: 40/10
abort: non-function abort method with .apply FAIL: 40/10
write: throwing method should cause write() and closed to reject FAIL: 40/10
close: returning a rejected promise should cause writer close() and ready to reject FAIL: 40/10
Untitled PASS
close: throwing method should cause writer close() and ready to reject FAIL: 40/10
write: returning a rejected promise (second write) should cause writer write() and ready to reject FAIL: 40/10
abort: throwing getter should cause abort() and closed to reject FAIL: 40/10
close: throwing getter should cause writer close() to reject FAIL: 40/10
write: throwing getter should cause write() and closed to reject FAIL: 40/10
start: errors in start cause WritableStream constructor to throw FAIL: 40/10
abort: throwing method should cause abort() and closed to reject FAIL: 40/10
/streams/piping/flow-control.https.html
Subtest Results
OK
Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream FAIL: 40/10
Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks, but then does FAIL: 40/10
Untitled PASS
Piping from an empty ReadableStream into a WritableStream that does not desire chunks, but then the readable stream becomes non-empty and the writable stream starts desiring chunks FAIL: 40/10
Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks FAIL: 40/10
/streams/writable-streams/aborting.https.html
Subtest Results
OK
underlying abort() should not be called until underlying write() completes FAIL: 40/10
.closed should not resolve before fulfilled write() FAIL: 40/10
WritableStream if sink's abort throws, the promise returned by ws.abort() rejects FAIL: 40/10
WritableStream should NOT call underlying sink's close if no abort is supplied (historical) FAIL: 40/10
WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects FAIL: 40/10
close() should use error from underlying write() on abort FAIL: 40/10
underlying abort() should not be called if underlying close() has started FAIL: 40/10
Aborting a WritableStream passes through the given reason FAIL: 40/10
underlying abort() should be called while closing if underlying close() has not started yet FAIL: 40/10
Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one FAIL: 40/10
Aborting a WritableStream puts it in an errored state, with a TypeError as the stored error FAIL: 40/10
writer.ready should reject on controller error without waiting for underlying write FAIL: 40/10
Aborting a WritableStream causes any outstanding write() promises to be rejected with a TypeError FAIL: 40/10
if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason FAIL: 40/10
Aborting a WritableStream prevents further writes after any that are in progress FAIL: 40/10
writes should be satisfied in order when aborting FAIL: 40/10
.closed should not resolve before rejected write(); write() error should overwrite abort() error FAIL: 40/10
Aborting a WritableStream immediately prevents future writes FAIL: 40/10
Aborting a WritableStream should cause the writer's unsettled ready promise to reject FAIL: 40/10
Fulfillment value of ws.abort() call must be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
writes should be satisfied in order after rejected write when aborting FAIL: 40/10
releaseLock() while aborting should reject the original closed promise FAIL: 40/10
releaseLock() during delayed async abort() should create a new rejected closed promise FAIL: 40/10
Untitled PASS
returning a thenable from abort() should work FAIL: 40/10
abort() on a released writer rejects FAIL: 40/10
Closing a WritableStream and aborting it while it closes causes the stream to error FAIL: 40/10
Aborting a WritableStream after it is closed is a no-op FAIL: 40/10
writer close() promise should resolve before abort() promise FAIL: 40/10
WritableStream if sink's abort throws, the promise returned by writer.abort() rejects FAIL: 40/10
Closing but then immediately aborting a WritableStream causes the stream to error FAIL: 40/10
/streams/writable-streams/start.https.html
Subtest Results
OK
underlying sink's write or close should not be called if start throws FAIL: 40/10
underlying sink's write or close should not be invoked if the promise returned by start is rejected FAIL: 40/10
Untitled PASS
returning a thenable from start() should work FAIL: 40/10
underlying sink's write should not be called until start finishes FAIL: 40/10
underlying sink's close should not be called until start finishes FAIL: 40/10
/streams/writable-streams/byte-length-queuing-strategy.https.html
Subtest Results
OK
Closing a writable stream with in-flight writes below the high water mark delays the close call properly FAIL: 40/10
Untitled PASS
/streams/writable-streams/constructor.https.html
Subtest Results
OK
controller argument should be passed to write method FAIL: 40/10
WritableStream should be constructible with no arguments FAIL: 40/10
WritableStream instances should have standard methods and properties FAIL: 40/10
WritableStreamDefaultWriter constructor should throw when stream argument is locked FAIL: 40/10
controller argument should be passed to start method FAIL: 40/10
WritableStreamDefaultWriter should throw unless passed a WritableStream FAIL: 40/10
WritableStream should be writable and ready should fulfill immediately if the strategy does not apply backpressure FAIL: 40/10
WritableStreamDefaultController constructor should throw when passed an initialised WritableStream FAIL: 40/10
WritableStreamDefaultController constructor should throw unless passed a WritableStream FAIL: 40/10
Untitled PASS
highWaterMark should be reflected to desiredSize FAIL: 40/10
controller argument should be passed to close method FAIL: 40/10
private constructors should not be exported PASS: 40/10
/streams/piping/general.https.html
Subtest Results
OK
pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream FAIL: 40/10
Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo FAIL: 40/10
Untitled PASS
Piping must lock both the ReadableStream and WritableStream FAIL: 40/10
pipeTo must check the brand of its ReadableStream this value FAIL: 40/10
pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream FAIL: 40/10
Piping finishing must unlock both the ReadableStream and WritableStream FAIL: 40/10
pipeTo must check the brand of its WritableStream argument FAIL: 40/10
Piping from a ReadableStream from which lots of chunks are synchronously readable FAIL: 40/10
/streams/writable-streams/general.https.html
Subtest Results
OK
closed and ready on a released writer FAIL: 40/10
ws.getWriter() on an errored WritableStream FAIL: 40/10
ws.getWriter() on an aborted WritableStream FAIL: 40/10
WritableStream's strategy.size should not be called as a method FAIL: 40/10
ws.getWriter() on a closing WritableStream FAIL: 40/10
Untitled PASS
methods should not not have .apply() or .call() called FAIL: 40/10
WritableStream should call underlying sink methods as methods FAIL: 40/10
ws.getWriter() on a closed WritableStream FAIL: 40/10
desiredSize on a writer for a closed stream FAIL: 40/10
desiredSize on a released writer FAIL: 40/10
redundant releaseLock() is no-op FAIL: 40/10
desiredSize initial value FAIL: 40/10
/streams/piping/transform-streams.https.html
Subtest Results
ERROR
Piping through an identity transform stream should close the destination when the source closes FAIL: 30/10
/streams/piping/close-propagation-forward.https.html
Subtest Results
OK
Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise FAIL: 40/10
Closing must be propagated forward: becomes closed after one chunk; preventClose = true FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = 1 (truthy) FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = Symbol() (truthy) FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; preventClose = true FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = true (truthy) FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true, preventCancel = true FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose = true FAIL: 40/10
Untitled PASS
Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = [object Object] (truthy) FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = a (truthy) FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise FAIL: 40/10
Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise FAIL: 40/10
Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise FAIL: 40/10
Closing must be propagated forward: shutdown must not occur until the final write completes FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise FAIL: 80/10
Closing must be propagated forward: starts closed; preventClose = (falsy); fulfilled close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html
Subtest Results
OK
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true, preventAbort = true, preventClose = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 0 (falsy); fulfilled cancel promise FAIL: 80/10
Errors must be propagated backward: becomes errored during piping due to write; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 1 (truthy) FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = a (truthy) FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = undefined (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = null (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = false (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: starts errored; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = NaN (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel omitted (but cancel is never called) FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write, preventCancel = true; preventAbort = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel = true FAIL: 40/10
Untitled PASS
Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = Symbol() (truthy) FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; preventCancel omitted; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping via abort; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = [object Object] (truthy) FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true (truthy) FAIL: 40/10
Errors must be propagated backward: erroring via the controller errors once pending write completes FAIL: 40/10
/streams/piping/pipe-through.https.html
Subtest Results
OK
Piping through a duck-typed pass-through transform stream should work FAIL: 40/10
Untitled PASS
/streams/writable-streams/bad-strategies.https.html
Subtest Results
OK
reject any non-function value for strategy.size FAIL: 40/10
Writable stream: invalid strategy.size return value FAIL: 40/10
Writable stream: invalid strategy.highWaterMark FAIL: 40/10
Writable stream: throwing strategy.highWaterMark getter FAIL: 40/10
Untitled PASS
Writable stream: throwing strategy.size method FAIL: 40/10
Writable stream: throwing strategy.size getter FAIL: 40/10
/streams/piping/multiple-propagation.https.html
Subtest Results
OK
Piping from an errored readable stream to a closed writable stream FAIL: 40/10
Piping from a closed readable stream to a closed writable stream FAIL: 40/10
Piping from a closed readable stream to an errored writable stream FAIL: 40/10
Untitled PASS
Piping from an errored readable stream to an errored writable stream FAIL: 40/10
Piping from an errored readable stream to an errored writable stream; preventAbort = true FAIL: 40/10

@wpt-stability-bot
Copy link

wpt-stability-bot commented Jan 18, 2017

Chrome (unstable channel)

Testing revision 904d6483e527b83f63ed4a6a591d74690878f6c7
Starting 10 test iterations

Unstable results

Test Subtest Results
/streams/writable-streams/close.https.html releaseLock() should not change the result of async close() FAIL: 40/10
/streams/writable-streams/close.https.html when sink calls error asynchronously while closing, the stream should become errored FAIL: 40/10
/streams/writable-streams/close.https.html the promise returned by async abort during close should resolve FAIL: 40/10
/streams/writable-streams/close.https.html releaseLock() should not change the result of sync close() FAIL: 40/10
/streams/writable-streams/close.https.html when close is called on a WritableStream in writable state, ready should return a fulfilled promise FAIL: 40/10
/streams/writable-streams/close.https.html returning a thenable from close() should work FAIL: 40/10
/streams/writable-streams/close.https.html when sink calls error synchronously while closing, the stream should become errored FAIL: 40/10
/streams/writable-streams/close.https.html close() should set state to CLOSED even if writer has detached FAIL: 40/10
/streams/writable-streams/close.https.html when close is called on a WritableStream in waiting state, ready promise should be fulfilled FAIL: 40/10
/streams/writable-streams/close.https.html fulfillment value of ws.close() call must be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
/streams/writable-streams/close.https.html when close is called on a WritableStream in waiting state, ready should be fulfilled immediately even if close takes a long time FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true, preventClose = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = a (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = [object Object] (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = false (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = null (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: shutdown must not occur until the final write completes FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; preventAbort = false; fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored while empty; preventAbort = false; rejected abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = undefined (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = 1 (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = Symbol() (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = true (truthy) FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = NaN (falsy); fulfilled abort promise FAIL: 40/10
/streams/piping/error-propagation-forward.https.html Errors must be propagated forward: starts errored; preventAbort = 0 (falsy); fulfilled abort promise FAIL: 80/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = undefined (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = 1 (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true, preventClose = true FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = null (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = [object Object] (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = a (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = Symbol() (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = 0 (falsy); fulfilled cancel promise FAIL: 80/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = NaN (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = true (truthy) FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = false (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/close-propagation-backward.https.html Closing must be propagated backward: starts closed; preventCancel = (falsy); fulfilled cancel promise FAIL: 40/10
/streams/writable-streams/write.https.html fulfillment value of ws.write() call should be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
/streams/writable-streams/write.https.html WritableStream should complete asynchronous writes before close resolves FAIL: 40/10
/streams/writable-streams/write.https.html returning a thenable from write() should work FAIL: 40/10
/streams/writable-streams/write.https.html WritableStream should complete synchronous writes before close resolves FAIL: 40/10
/streams/writable-streams/write.https.html when sink's write throws an error, the stream should become errored and the promise should reject FAIL: 40/10
/streams/writable-streams/write.https.html WritableStream should transition to waiting until write is acknowledged FAIL: 40/10
/streams/writable-streams/write.https.html WritableStreamDefaultWriter should work when manually constructed FAIL: 40/10
/streams/writable-streams/write.https.html a large queue of writes should be processed completely FAIL: 40/10
/streams/writable-streams/write.https.html when write returns a rejected promise, queued writes and close should be cleared FAIL: 40/10
/streams/writable-streams/count-queuing-strategy.https.html Correctly governs the value of a WritableStream's state property (HWM = 0) FAIL: 40/10
/streams/writable-streams/count-queuing-strategy.https.html Can construct a writable stream with a valid CountQueuingStrategy FAIL: 40/10
/streams/writable-streams/count-queuing-strategy.https.html Correctly governs the value of a WritableStream's state property (HWM = 4) FAIL: 40/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Multiple read(view), close() and respond() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throwing in pull function must error the stream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Automatic pull() after start() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Multiple enqueue(), getReader(), then read(view) FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then respond() and close() in pull() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Test that closing a stream does not release a reader automatically FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: A stream must be errored if close()-d before fulfilling read(view) with Uint16Array FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then respond() with a transferred ArrayBuffer FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue() with Uint16Array, getReader(), then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read(view) with a smaller views FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read(view) FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Test that erroring a stream does not release a reader automatically FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Respond to pull() by enqueue() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read() twice, then enqueue() twice FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStreamBYOBReader constructor requires a ReadableStream with type "bytes" FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: releaseLock() on ReadableStreamReader with pending read() must throw FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStreamBYOBReader constructor requires a ReadableStream argument FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Mix of auto allocate and BYOB FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with Uint16Array on close()-d stream with 1 byte enqueue()-d must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then respond() with too big value FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with Uint32Array, then fill it by multiple respond() calls FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: autoAllocateChunkSize FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then cancel() FAIL: 60/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Construct and expect start and pull being called FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then respond() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), then error() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view), but pull() function is not callable FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Automatic pull() after start() and read(view) FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStreamBYOBReader can be constructed directly FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throwing in pull in response to read() must be ignored if the stream is errored in it FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: cancel() with partially filled pending pull() request FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source can be constructed with no errors FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Test that closing a stream does not release a BYOB reader automatically FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(), then error() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(), but pull() function is not callable FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html getReader({mode: "byob"}) throws on non-bytes streams FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: respond(3) to read(view) with 2 element Uint16Array enqueues the 1 byte remainder FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue() 1 byte, getReader(), then read(view) with Uint16Array FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue() 3 byte, getReader(), then read(view) with 2-element Uint16Array FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Automatic pull() after start() and read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throw if close()-ed more than once FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: getReader(), read(view), then cancel() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throwing in pull in response to read(view) must be ignored if the stream is errored in it FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: getReader() with mode set to byob, then releaseLock() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: getReader(), enqueue(), close(), then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throwing in pull in response to read(view) function must error the stream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: getReader(), then releaseLock() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStreamBYOBReader constructor requires an unlocked ReadableStream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Even read(view) with passing ArrayBufferView like object as view must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), close(), getReader(), then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read(view) with a bigger view FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), getReader(), then read(view) where view.buffer is not fully covered by view FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read() on an errored stream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Push source that doesn't understand pull signal FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Throw on enqueue() after close() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with zero-length view must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with passing an empty object as view must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Multiple read(view), big enqueue() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Construct with highWaterMark of 0 FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Respond to pull() by enqueue() asynchronously FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Multiple read(view) and multiple enqueue() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: Test that erroring a stream does not release a BYOB reader automatically FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) with passing undefined as view must fail FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: read(view) on an errored stream FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: enqueue(), read(view) partially, then read() FAIL: 30/10
/streams/readable-byte-stream/readable-byte-stream.html ReadableStream with byte source: No automatic pull call if start doesn't finish FAIL: 30/10
/streams/writable-streams/bad-underlying-sinks.https.html write: returning a promise that becomes rejected after the writer write() should cause writer write() and ready to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html abort: non-function abort method with .apply FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html write: throwing method should cause write() and closed to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html close: returning a rejected promise should cause writer close() and ready to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html close: throwing method should cause writer close() and ready to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html write: returning a rejected promise (second write) should cause writer write() and ready to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html abort: throwing getter should cause abort() and closed to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html close: throwing getter should cause writer close() to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html write: throwing getter should cause write() and closed to reject FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html start: errors in start cause WritableStream constructor to throw FAIL: 40/10
/streams/writable-streams/bad-underlying-sinks.https.html abort: throwing method should cause abort() and closed to reject FAIL: 40/10
/streams/piping/flow-control.https.html Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream FAIL: 40/10
/streams/piping/flow-control.https.html Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks, but then does FAIL: 40/10
/streams/piping/flow-control.https.html Piping from an empty ReadableStream into a WritableStream that does not desire chunks, but then the readable stream becomes non-empty and the writable stream starts desiring chunks FAIL: 40/10
/streams/piping/flow-control.https.html Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks FAIL: 40/10
/streams/writable-streams/aborting.https.html underlying abort() should not be called until underlying write() completes FAIL: 40/10
/streams/writable-streams/aborting.https.html .closed should not resolve before fulfilled write() FAIL: 40/10
/streams/writable-streams/aborting.https.html WritableStream if sink's abort throws, the promise returned by ws.abort() rejects FAIL: 40/10
/streams/writable-streams/aborting.https.html WritableStream should NOT call underlying sink's close if no abort is supplied (historical) FAIL: 40/10
/streams/writable-streams/aborting.https.html WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects FAIL: 40/10
/streams/writable-streams/aborting.https.html close() should use error from underlying write() on abort FAIL: 40/10
/streams/writable-streams/aborting.https.html underlying abort() should not be called if underlying close() has started FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream passes through the given reason FAIL: 40/10
/streams/writable-streams/aborting.https.html underlying abort() should be called while closing if underlying close() has not started yet FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream puts it in an errored state, with a TypeError as the stored error FAIL: 40/10
/streams/writable-streams/aborting.https.html writer.ready should reject on controller error without waiting for underlying write FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream causes any outstanding write() promises to be rejected with a TypeError FAIL: 40/10
/streams/writable-streams/aborting.https.html if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream prevents further writes after any that are in progress FAIL: 40/10
/streams/writable-streams/aborting.https.html writes should be satisfied in order when aborting FAIL: 40/10
/streams/writable-streams/aborting.https.html .closed should not resolve before rejected write(); write() error should overwrite abort() error FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream immediately prevents future writes FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream should cause the writer's unsettled ready promise to reject FAIL: 40/10
/streams/writable-streams/aborting.https.html Fulfillment value of ws.abort() call must be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
/streams/writable-streams/aborting.https.html writes should be satisfied in order after rejected write when aborting FAIL: 40/10
/streams/writable-streams/aborting.https.html releaseLock() while aborting should reject the original closed promise FAIL: 40/10
/streams/writable-streams/aborting.https.html releaseLock() during delayed async abort() should create a new rejected closed promise FAIL: 40/10
/streams/writable-streams/aborting.https.html returning a thenable from abort() should work FAIL: 40/10
/streams/writable-streams/aborting.https.html abort() on a released writer rejects FAIL: 40/10
/streams/writable-streams/aborting.https.html Closing a WritableStream and aborting it while it closes causes the stream to error FAIL: 40/10
/streams/writable-streams/aborting.https.html Aborting a WritableStream after it is closed is a no-op FAIL: 40/10
/streams/writable-streams/aborting.https.html writer close() promise should resolve before abort() promise FAIL: 40/10
/streams/writable-streams/aborting.https.html WritableStream if sink's abort throws, the promise returned by writer.abort() rejects FAIL: 40/10
/streams/writable-streams/aborting.https.html Closing but then immediately aborting a WritableStream causes the stream to error FAIL: 40/10
/streams/writable-streams/start.https.html underlying sink's write or close should not be called if start throws FAIL: 40/10
/streams/writable-streams/start.https.html underlying sink's write or close should not be invoked if the promise returned by start is rejected FAIL: 40/10
/streams/writable-streams/start.https.html returning a thenable from start() should work FAIL: 40/10
/streams/writable-streams/start.https.html underlying sink's write should not be called until start finishes FAIL: 40/10
/streams/writable-streams/start.https.html underlying sink's close should not be called until start finishes FAIL: 40/10
/streams/writable-streams/byte-length-queuing-strategy.https.html Closing a writable stream with in-flight writes below the high water mark delays the close call properly FAIL: 40/10
/streams/writable-streams/constructor.https.html controller argument should be passed to write method FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStream should be constructible with no arguments FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStream instances should have standard methods and properties FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStreamDefaultWriter constructor should throw when stream argument is locked FAIL: 40/10
/streams/writable-streams/constructor.https.html controller argument should be passed to start method FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStreamDefaultWriter should throw unless passed a WritableStream FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStream should be writable and ready should fulfill immediately if the strategy does not apply backpressure FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStreamDefaultController constructor should throw when passed an initialised WritableStream FAIL: 40/10
/streams/writable-streams/constructor.https.html WritableStreamDefaultController constructor should throw unless passed a WritableStream FAIL: 40/10
/streams/writable-streams/constructor.https.html highWaterMark should be reflected to desiredSize FAIL: 40/10
/streams/writable-streams/constructor.https.html controller argument should be passed to close method FAIL: 40/10
/streams/writable-streams/constructor.https.html private constructors should not be exported PASS: 40/10
/streams/piping/general.https.html pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream FAIL: 40/10
/streams/piping/general.https.html Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo FAIL: 40/10
/streams/piping/general.https.html Piping must lock both the ReadableStream and WritableStream FAIL: 40/10
/streams/piping/general.https.html pipeTo must check the brand of its ReadableStream this value FAIL: 40/10
/streams/piping/general.https.html pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream FAIL: 40/10
/streams/piping/general.https.html Piping finishing must unlock both the ReadableStream and WritableStream FAIL: 40/10
/streams/piping/general.https.html pipeTo must check the brand of its WritableStream argument FAIL: 40/10
/streams/piping/general.https.html Piping from a ReadableStream from which lots of chunks are synchronously readable FAIL: 40/10
/streams/writable-streams/general.https.html closed and ready on a released writer FAIL: 40/10
/streams/writable-streams/general.https.html ws.getWriter() on an errored WritableStream FAIL: 40/10
/streams/writable-streams/general.https.html ws.getWriter() on an aborted WritableStream FAIL: 40/10
/streams/writable-streams/general.https.html WritableStream's strategy.size should not be called as a method FAIL: 40/10
/streams/writable-streams/general.https.html ws.getWriter() on a closing WritableStream FAIL: 40/10
/streams/writable-streams/general.https.html methods should not not have .apply() or .call() called FAIL: 40/10
/streams/writable-streams/general.https.html WritableStream should call underlying sink methods as methods FAIL: 40/10
/streams/writable-streams/general.https.html ws.getWriter() on a closed WritableStream FAIL: 40/10
/streams/writable-streams/general.https.html desiredSize on a writer for a closed stream FAIL: 40/10
/streams/writable-streams/general.https.html desiredSize on a released writer FAIL: 40/10
/streams/writable-streams/general.https.html redundant releaseLock() is no-op FAIL: 40/10
/streams/writable-streams/general.https.html desiredSize initial value FAIL: 40/10
/streams/piping/transform-streams.https.html Piping through an identity transform stream should close the destination when the source closes FAIL: 30/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed after one chunk; preventClose = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = 1 (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = Symbol() (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; preventClose = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = true (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true, preventCancel = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose = true FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = [object Object] (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = a (truthy) FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: shutdown must not occur until the final write completes FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise FAIL: 80/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/close-propagation-forward.https.html Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true, preventAbort = true, preventClose = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 0 (falsy); fulfilled cancel promise FAIL: 80/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 1 (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = a (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = undefined (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = null (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = false (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: starts errored; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = NaN (falsy); fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel omitted (but cancel is never called) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write, preventCancel = true; preventAbort = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = Symbol() (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; preventCancel omitted; rejected cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored after piping; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping via abort; preventCancel = true FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = [object Object] (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true (truthy) FAIL: 40/10
/streams/piping/error-propagation-backward.https.html Errors must be propagated backward: erroring via the controller errors once pending write completes FAIL: 40/10
/streams/piping/pipe-through.https.html Piping through a duck-typed pass-through transform stream should work FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html reject any non-function value for strategy.size FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: invalid strategy.size return value FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: invalid strategy.highWaterMark FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: throwing strategy.highWaterMark getter FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: throwing strategy.size method FAIL: 40/10
/streams/writable-streams/bad-strategies.https.html Writable stream: throwing strategy.size getter FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from an errored readable stream to a closed writable stream FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from a closed readable stream to a closed writable stream FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from a closed readable stream to an errored writable stream FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from an errored readable stream to an errored writable stream FAIL: 40/10
/streams/piping/multiple-propagation.https.html Piping from an errored readable stream to an errored writable stream; preventAbort = true FAIL: 40/10

All results

/streams/writable-streams/close.https.html
Subtest Results
ERROR
releaseLock() should not change the result of async close() FAIL: 40/10
when sink calls error asynchronously while closing, the stream should become errored FAIL: 40/10
the promise returned by async abort during close should resolve FAIL: 40/10
releaseLock() should not change the result of sync close() FAIL: 40/10
when close is called on a WritableStream in writable state, ready should return a fulfilled promise FAIL: 40/10
Untitled PASS
returning a thenable from close() should work FAIL: 40/10
when sink calls error synchronously while closing, the stream should become errored FAIL: 40/10
close() should set state to CLOSED even if writer has detached FAIL: 40/10
when close is called on a WritableStream in waiting state, ready promise should be fulfilled FAIL: 40/10
fulfillment value of ws.close() call must be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
when close is called on a WritableStream in waiting state, ready should be fulfilled immediately even if close takes a long time FAIL: 40/10
/streams/writable-streams/brand-checks.https.html
Subtest Results
ERROR
Untitled FAIL
/streams/piping/error-propagation-forward.https.html
Subtest Results
ERROR
Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = true FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true, preventClose = true FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; preventAbort = true FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = a (truthy) FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = [object Object] (truthy) FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; preventAbort = true FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = false (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = null (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; dest never desires chunks; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = true, preventCancel = true FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: shutdown must not occur until the final write completes FAIL: 40/10
Untitled PASS
Errors must be propagated forward: becomes errored after one chunk; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; preventAbort = false; fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: becomes errored while empty; preventAbort = false; rejected abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = undefined (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = 1 (truthy) FAIL: 40/10
Errors must be propagated forward: becomes errored after one chunk; dest never desires chunks; preventAbort = true FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = Symbol() (truthy) FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = true (truthy) FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = NaN (falsy); fulfilled abort promise FAIL: 40/10
Errors must be propagated forward: starts errored; preventAbort = 0 (falsy); fulfilled abort promise FAIL: 80/10
/streams/piping/close-propagation-backward.https.html
Subtest Results
ERROR
Closing must be propagated backward: starts closed; preventCancel = undefined (falsy); fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel omitted; rejected cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = 1 (truthy) FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true, preventClose = true FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = null (falsy); fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = [object Object] (truthy) FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = a (truthy) FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = Symbol() (truthy) FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = 0 (falsy); fulfilled cancel promise FAIL: 80/10
Closing must be propagated backward: starts closed; preventCancel = NaN (falsy); fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = true (truthy) FAIL: 40/10
Untitled PASS
Closing must be propagated backward: starts closed; preventCancel = true, preventAbort = true FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = false (falsy); fulfilled cancel promise FAIL: 40/10
Closing must be propagated backward: starts closed; preventCancel = (falsy); fulfilled cancel promise FAIL: 40/10
/streams/writable-streams/write.https.html
Subtest Results
ERROR
fulfillment value of ws.write() call should be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
WritableStream should complete asynchronous writes before close resolves FAIL: 40/10
returning a thenable from write() should work FAIL: 40/10
WritableStream should complete synchronous writes before close resolves FAIL: 40/10
Untitled PASS
when sink's write throws an error, the stream should become errored and the promise should reject FAIL: 40/10
WritableStream should transition to waiting until write is acknowledged FAIL: 40/10
WritableStreamDefaultWriter should work when manually constructed FAIL: 40/10
a large queue of writes should be processed completely FAIL: 40/10
when write returns a rejected promise, queued writes and close should be cleared FAIL: 40/10
/streams/writable-streams/count-queuing-strategy.https.html
Subtest Results
ERROR
Correctly governs the value of a WritableStream's state property (HWM = 0) FAIL: 40/10
Can construct a writable stream with a valid CountQueuingStrategy FAIL: 40/10
Correctly governs the value of a WritableStream's state property (HWM = 4) FAIL: 40/10
Untitled PASS
/streams/readable-byte-stream/readable-byte-stream.html
Subtest Results
OK
ReadableStream with byte source: Multiple read(view), close() and respond() FAIL: 30/10
ReadableStream with byte source: Throwing in pull function must error the stream FAIL: 30/10
ReadableStream with byte source: Automatic pull() after start() FAIL: 30/10
ReadableStream with byte source: Multiple enqueue(), getReader(), then read(view) FAIL: 30/10
ReadableStream with byte source: read(view), then respond() and close() in pull() FAIL: 30/10
ReadableStream with byte source: Test that closing a stream does not release a reader automatically FAIL: 30/10
ReadableStream with byte source: A stream must be errored if close()-d before fulfilling read(view) with Uint16Array FAIL: 30/10
ReadableStream with byte source: read(view), then respond() with a transferred ArrayBuffer FAIL: 30/10
ReadableStream with byte source: enqueue() with Uint16Array, getReader(), then read() FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read(view) with a smaller views FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read(view) FAIL: 30/10
ReadableStream with byte source: Test that erroring a stream does not release a reader automatically FAIL: 30/10
ReadableStream with byte source: Respond to pull() by enqueue() FAIL: 30/10
ReadableStream with byte source: read() twice, then enqueue() twice FAIL: 30/10
ReadableStreamBYOBReader constructor requires a ReadableStream with type "bytes" FAIL: 30/10
ReadableStream with byte source: releaseLock() on ReadableStreamReader with pending read() must throw FAIL: 30/10
ReadableStreamBYOBReader constructor requires a ReadableStream argument FAIL: 30/10
ReadableStream with byte source: Mix of auto allocate and BYOB FAIL: 30/10
ReadableStream with byte source: read(view) with Uint16Array on close()-d stream with 1 byte enqueue()-d must fail FAIL: 30/10
ReadableStream with byte source: read(view), then respond() with too big value FAIL: 30/10
ReadableStream with byte source: read(view) with Uint32Array, then fill it by multiple respond() calls FAIL: 30/10
ReadableStream with byte source: autoAllocateChunkSize FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then cancel() FAIL: 60/10
ReadableStream with byte source: Construct and expect start and pull being called FAIL: 30/10
ReadableStream with byte source: read(view), then respond() FAIL: 30/10
ReadableStream with byte source: read(view), then error() FAIL: 30/10
ReadableStream with byte source: read(view), but pull() function is not callable FAIL: 30/10
ReadableStream with byte source: Automatic pull() after start() and read(view) FAIL: 30/10
ReadableStreamBYOBReader can be constructed directly FAIL: 30/10
ReadableStream with byte source: Throwing in pull in response to read() must be ignored if the stream is errored in it FAIL: 30/10
ReadableStream with byte source: cancel() with partially filled pending pull() request FAIL: 30/10
ReadableStream with byte source can be constructed with no errors FAIL: 30/10
ReadableStream with byte source: Test that closing a stream does not release a BYOB reader automatically FAIL: 30/10
ReadableStream with byte source: read(), then error() FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read() FAIL: 30/10
ReadableStream with byte source: read(), but pull() function is not callable FAIL: 30/10
getReader({mode: "byob"}) throws on non-bytes streams FAIL: 30/10
ReadableStream with byte source: respond(3) to read(view) with 2 element Uint16Array enqueues the 1 byte remainder FAIL: 30/10
ReadableStream with byte source: enqueue() 1 byte, getReader(), then read(view) with Uint16Array FAIL: 30/10
ReadableStream with byte source: enqueue() 3 byte, getReader(), then read(view) with 2-element Uint16Array FAIL: 30/10
ReadableStream with byte source: Automatic pull() after start() and read() FAIL: 30/10
ReadableStream with byte source: Throw if close()-ed more than once FAIL: 30/10
Untitled FAIL
ReadableStream with byte source: getReader(), read(view), then cancel() FAIL: 30/10
ReadableStream with byte source: Throwing in pull in response to read(view) must be ignored if the stream is errored in it FAIL: 30/10
ReadableStream with byte source: getReader() with mode set to byob, then releaseLock() FAIL: 30/10
ReadableStream with byte source: getReader(), enqueue(), close(), then read() FAIL: 30/10
ReadableStream with byte source: Throwing in pull in response to read(view) function must error the stream FAIL: 30/10
ReadableStream with byte source: getReader(), then releaseLock() FAIL: 30/10
ReadableStreamBYOBReader constructor requires an unlocked ReadableStream FAIL: 30/10
ReadableStream with byte source: Even read(view) with passing ArrayBufferView like object as view must fail FAIL: 30/10
ReadableStream with byte source: enqueue(), close(), getReader(), then read() FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read(view) with a bigger view FAIL: 30/10
ReadableStream with byte source: enqueue(), getReader(), then read(view) where view.buffer is not fully covered by view FAIL: 30/10
ReadableStream with byte source: read() on an errored stream FAIL: 30/10
ReadableStream with byte source: Push source that doesn't understand pull signal FAIL: 30/10
ReadableStream with byte source: Throw on enqueue() after close() FAIL: 30/10
ReadableStream with byte source: read(view) with zero-length view must fail FAIL: 30/10
ReadableStream with byte source: read(view) with passing an empty object as view must fail FAIL: 30/10
ReadableStream with byte source: Multiple read(view), big enqueue() FAIL: 30/10
ReadableStream with byte source: Construct with highWaterMark of 0 FAIL: 30/10
ReadableStream with byte source: Respond to pull() by enqueue() asynchronously FAIL: 30/10
ReadableStream with byte source: Multiple read(view) and multiple enqueue() FAIL: 30/10
ReadableStream with byte source: Test that erroring a stream does not release a BYOB reader automatically FAIL: 30/10
ReadableStream with byte source: read(view) with passing undefined as view must fail FAIL: 30/10
ReadableStream with byte source: read(view) on an errored stream FAIL: 30/10
ReadableStream with byte source: enqueue(), read(view) partially, then read() FAIL: 30/10
ReadableStream with byte source: No automatic pull call if start doesn't finish FAIL: 30/10
/streams/writable-streams/bad-underlying-sinks.https.html
Subtest Results
ERROR
write: returning a promise that becomes rejected after the writer write() should cause writer write() and ready to reject FAIL: 40/10
abort: non-function abort method with .apply FAIL: 40/10
write: throwing method should cause write() and closed to reject FAIL: 40/10
close: returning a rejected promise should cause writer close() and ready to reject FAIL: 40/10
Untitled PASS
close: throwing method should cause writer close() and ready to reject FAIL: 40/10
write: returning a rejected promise (second write) should cause writer write() and ready to reject FAIL: 40/10
abort: throwing getter should cause abort() and closed to reject FAIL: 40/10
close: throwing getter should cause writer close() to reject FAIL: 40/10
write: throwing getter should cause write() and closed to reject FAIL: 40/10
start: errors in start cause WritableStream constructor to throw FAIL: 40/10
abort: throwing method should cause abort() and closed to reject FAIL: 40/10
/streams/piping/flow-control.https.html
Subtest Results
ERROR
Piping to a WritableStream that does not consume the writes fast enough exerts backpressure on the ReadableStream FAIL: 40/10
Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks, but then does FAIL: 40/10
Untitled PASS
Piping from an empty ReadableStream into a WritableStream that does not desire chunks, but then the readable stream becomes non-empty and the writable stream starts desiring chunks FAIL: 40/10
Piping from a non-empty ReadableStream into a WritableStream that does not desire chunks FAIL: 40/10
/streams/writable-streams/aborting.https.html
Subtest Results
ERROR
underlying abort() should not be called until underlying write() completes FAIL: 40/10
.closed should not resolve before fulfilled write() FAIL: 40/10
WritableStream if sink's abort throws, the promise returned by ws.abort() rejects FAIL: 40/10
WritableStream should NOT call underlying sink's close if no abort is supplied (historical) FAIL: 40/10
WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects FAIL: 40/10
close() should use error from underlying write() on abort FAIL: 40/10
underlying abort() should not be called if underlying close() has started FAIL: 40/10
Aborting a WritableStream passes through the given reason FAIL: 40/10
underlying abort() should be called while closing if underlying close() has not started yet FAIL: 40/10
Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one FAIL: 40/10
Aborting a WritableStream puts it in an errored state, with a TypeError as the stored error FAIL: 40/10
writer.ready should reject on controller error without waiting for underlying write FAIL: 40/10
Aborting a WritableStream causes any outstanding write() promises to be rejected with a TypeError FAIL: 40/10
if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason FAIL: 40/10
Aborting a WritableStream prevents further writes after any that are in progress FAIL: 40/10
writes should be satisfied in order when aborting FAIL: 40/10
.closed should not resolve before rejected write(); write() error should overwrite abort() error FAIL: 40/10
Aborting a WritableStream immediately prevents future writes FAIL: 40/10
Aborting a WritableStream should cause the writer's unsettled ready promise to reject FAIL: 40/10
Fulfillment value of ws.abort() call must be undefined even if the underlying sink returns a non-undefined value FAIL: 40/10
writes should be satisfied in order after rejected write when aborting FAIL: 40/10
releaseLock() while aborting should reject the original closed promise FAIL: 40/10
releaseLock() during delayed async abort() should create a new rejected closed promise FAIL: 40/10
Untitled PASS
returning a thenable from abort() should work FAIL: 40/10
abort() on a released writer rejects FAIL: 40/10
Closing a WritableStream and aborting it while it closes causes the stream to error FAIL: 40/10
Aborting a WritableStream after it is closed is a no-op FAIL: 40/10
writer close() promise should resolve before abort() promise FAIL: 40/10
WritableStream if sink's abort throws, the promise returned by writer.abort() rejects FAIL: 40/10
Closing but then immediately aborting a WritableStream causes the stream to error FAIL: 40/10
/streams/writable-streams/start.https.html
Subtest Results
ERROR
underlying sink's write or close should not be called if start throws FAIL: 40/10
underlying sink's write or close should not be invoked if the promise returned by start is rejected FAIL: 40/10
Untitled PASS
returning a thenable from start() should work FAIL: 40/10
underlying sink's write should not be called until start finishes FAIL: 40/10
underlying sink's close should not be called until start finishes FAIL: 40/10
/streams/writable-streams/byte-length-queuing-strategy.https.html
Subtest Results
ERROR
Closing a writable stream with in-flight writes below the high water mark delays the close call properly FAIL: 40/10
Untitled PASS
/streams/writable-streams/constructor.https.html
Subtest Results
ERROR
controller argument should be passed to write method FAIL: 40/10
WritableStream should be constructible with no arguments FAIL: 40/10
WritableStream instances should have standard methods and properties FAIL: 40/10
WritableStreamDefaultWriter constructor should throw when stream argument is locked FAIL: 40/10
controller argument should be passed to start method FAIL: 40/10
WritableStreamDefaultWriter should throw unless passed a WritableStream FAIL: 40/10
WritableStream should be writable and ready should fulfill immediately if the strategy does not apply backpressure FAIL: 40/10
WritableStreamDefaultController constructor should throw when passed an initialised WritableStream FAIL: 40/10
WritableStreamDefaultController constructor should throw unless passed a WritableStream FAIL: 40/10
Untitled PASS
highWaterMark should be reflected to desiredSize FAIL: 40/10
controller argument should be passed to close method FAIL: 40/10
private constructors should not be exported PASS: 40/10
/streams/piping/general.https.html
Subtest Results
ERROR
pipeTo must fail if the ReadableStream is locked, and not lock the WritableStream FAIL: 40/10
Piping from a ReadableStream for which a chunk becomes asynchronously readable after the pipeTo FAIL: 40/10
Untitled PASS
Piping must lock both the ReadableStream and WritableStream FAIL: 40/10
pipeTo must check the brand of its ReadableStream this value FAIL: 40/10
pipeTo must fail if the WritableStream is locked, and not lock the ReadableStream FAIL: 40/10
Piping finishing must unlock both the ReadableStream and WritableStream FAIL: 40/10
pipeTo must check the brand of its WritableStream argument FAIL: 40/10
Piping from a ReadableStream from which lots of chunks are synchronously readable FAIL: 40/10
/streams/writable-streams/general.https.html
Subtest Results
ERROR
closed and ready on a released writer FAIL: 40/10
ws.getWriter() on an errored WritableStream FAIL: 40/10
ws.getWriter() on an aborted WritableStream FAIL: 40/10
WritableStream's strategy.size should not be called as a method FAIL: 40/10
ws.getWriter() on a closing WritableStream FAIL: 40/10
Untitled PASS
methods should not not have .apply() or .call() called FAIL: 40/10
WritableStream should call underlying sink methods as methods FAIL: 40/10
ws.getWriter() on a closed WritableStream FAIL: 40/10
desiredSize on a writer for a closed stream FAIL: 40/10
desiredSize on a released writer FAIL: 40/10
redundant releaseLock() is no-op FAIL: 40/10
desiredSize initial value FAIL: 40/10
/streams/piping/transform-streams.https.html
Subtest Results
ERROR
Piping through an identity transform stream should close the destination when the source closes FAIL: 30/10
/streams/piping/close-propagation-forward.https.html
Subtest Results
ERROR
Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; fulfilled close promise FAIL: 40/10
Closing must be propagated forward: becomes closed after one chunk; preventClose = true FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = 1 (truthy) FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; preventClose omitted; rejected close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose omitted; rejected close promise FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; rejected close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = Symbol() (truthy) FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; preventClose = true FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = true (truthy) FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = false (falsy); fulfilled close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = true, preventAbort = true, preventCancel = true FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose = true FAIL: 40/10
Untitled PASS
Closing must be propagated forward: starts closed; preventClose = undefined (falsy); fulfilled close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = [object Object] (truthy) FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = NaN (falsy); fulfilled close promise FAIL: 40/10
Closing must be propagated forward: becomes closed asynchronously; dest never desires chunks; preventClose omitted; fulfilled close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = a (truthy) FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose omitted; fulfilled close promise FAIL: 40/10
Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; rejected close promise FAIL: 40/10
Closing must be propagated forward: becomes closed after one chunk; preventClose omitted; fulfilled close promise FAIL: 40/10
Closing must be propagated forward: shutdown must not occur until the final write completes FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = 0 (falsy); fulfilled close promise FAIL: 80/10
Closing must be propagated forward: starts closed; preventClose = (falsy); fulfilled close promise FAIL: 40/10
Closing must be propagated forward: starts closed; preventClose = null (falsy); fulfilled close promise FAIL: 40/10
/streams/piping/error-propagation-backward.https.html
Subtest Results
ERROR
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true, preventAbort = true, preventClose = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 0 (falsy); fulfilled cancel promise FAIL: 80/10
Errors must be propagated backward: becomes errored during piping due to write; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = 1 (truthy) FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = a (truthy) FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = undefined (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = null (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = false; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write, but async; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = false (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: starts errored; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = NaN (falsy); fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel omitted (but cancel is never called) FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write, preventCancel = true; preventAbort = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping due to last write; source is closed; preventCancel = true FAIL: 40/10
Untitled PASS
Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = false; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping via abort; preventCancel omitted; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored during piping due to write; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; dest never desires chunks; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = Symbol() (truthy) FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; preventCancel omitted; rejected cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored after piping; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping via abort; preventCancel = true FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel omitted; fulfilled cancel promise FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = [object Object] (truthy) FAIL: 40/10
Errors must be propagated backward: becomes errored before piping due to write; preventCancel = true (truthy) FAIL: 40/10
Errors must be propagated backward: erroring via the controller errors once pending write completes FAIL: 40/10
/streams/piping/pipe-through.https.html
Subtest Results
ERROR
Piping through a duck-typed pass-through transform stream should work FAIL: 40/10
Untitled PASS
/streams/writable-streams/bad-strategies.https.html
Subtest Results
ERROR
reject any non-function value for strategy.size FAIL: 40/10
Writable stream: invalid strategy.size return value FAIL: 40/10
Writable stream: invalid strategy.highWaterMark FAIL: 40/10
Writable stream: throwing strategy.highWaterMark getter FAIL: 40/10
Untitled PASS
Writable stream: throwing strategy.size method FAIL: 40/10
Writable stream: throwing strategy.size getter FAIL: 40/10
/streams/piping/multiple-propagation.https.html
Subtest Results
ERROR
Piping from an errored readable stream to a closed writable stream FAIL: 40/10
Piping from a closed readable stream to a closed writable stream FAIL: 40/10
Piping from a closed readable stream to an errored writable stream FAIL: 40/10
Untitled PASS
Piping from an errored readable stream to an errored writable stream FAIL: 40/10
Piping from an errored readable stream to an errored writable stream; preventAbort = true FAIL: 40/10

@domenic domenic merged commit 55e9a48 into master Jan 19, 2017
@domenic domenic deleted the upstream-more-streams-tests branch January 19, 2017 00:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants