LibWeb: Push a temporary execution context for setTimeout

This fixes a crash seen running stream tests.
This commit is contained in:
Shannon Booth 2024-11-02 04:14:46 +13:00 committed by Tim Flynn
commit 1dc1bebd2a
Notes: github-actions[bot] 2024-11-01 17:12:52 +00:00
8 changed files with 2152 additions and 1 deletions

View file

@ -0,0 +1,49 @@
Summary
Harness status: Error
Rerun
Found 39 tests
39 Pass
Details
Result Test Name MessagePass ReadableStream teeing with byte source: rs.tee() returns an array of two ReadableStreams
Pass ReadableStream teeing with byte source: should be able to read one branch to the end without affecting the other
Pass ReadableStream teeing with byte source: chunks should be cloned for each branch
Pass ReadableStream teeing with byte source: chunks for BYOB requests from branch 1 should be cloned to branch 2
Pass ReadableStream teeing with byte source: errors in the source should propagate to both branches
Pass ReadableStream teeing with byte source: canceling branch1 should not impact branch2
Pass ReadableStream teeing with byte source: canceling branch2 should not impact branch1
Pass Running templatedRSTeeCancel with ReadableStream teeing with byte source
Pass ReadableStream teeing with byte source: canceling both branches should aggregate the cancel reasons into an array
Pass ReadableStream teeing with byte source: canceling both branches in reverse order should aggregate the cancel reasons into an array
Pass ReadableStream teeing with byte source: failing to cancel the original stream should cause cancel() to reject on branches
Pass ReadableStream teeing with byte source: erroring a teed stream should properly handle canceled branches
Pass ReadableStream teeing with byte source: closing the original should close the branches
Pass ReadableStream teeing with byte source: erroring the original should immediately error the branches
Pass ReadableStream teeing with byte source: erroring the original should error pending reads from default reader
Pass ReadableStream teeing with byte source: erroring the original should error pending reads from BYOB reader
Pass ReadableStream teeing with byte source: canceling branch1 should finish when branch2 reads until end of stream
Pass ReadableStream teeing with byte source: canceling branch1 should finish when original stream errors
Pass ReadableStream teeing with byte source: should not pull any chunks if no branches are reading
Pass ReadableStream teeing with byte source: should only pull enough to fill the emptiest queue
Pass ReadableStream teeing with byte source: should not pull when original is already errored
Pass ReadableStream teeing with byte source: stops pulling when original stream errors while branch 1 is reading
Pass ReadableStream teeing with byte source: stops pulling when original stream errors while branch 2 is reading
Pass ReadableStream teeing with byte source: stops pulling when original stream errors while both branches are reading
Pass ReadableStream teeing with byte source: canceling both branches in sequence with delay
Pass ReadableStream teeing with byte source: failing to cancel when canceling both branches in sequence with delay
Pass ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch1, cancel branch2
Pass ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch2, cancel branch1
Pass ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch2, enqueue to branch1
Pass ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch1, respond to branch2
Pass ReadableStream teeing with byte source: pull with BYOB reader, then pull with default reader
Pass ReadableStream teeing with byte source: pull with default reader, then pull with BYOB reader
Pass ReadableStream teeing with byte source: read from branch2, then read from branch1
Pass ReadableStream teeing with byte source: read from branch1 with default reader, then close while branch2 has pending BYOB read
Pass ReadableStream teeing with byte source: read from branch2 with default reader, then close while branch1 has pending BYOB read
Pass ReadableStream teeing with byte source: close when both branches have pending BYOB reads
Pass ReadableStream teeing with byte source: enqueue() and close() while both branches are pulling
Pass ReadableStream teeing with byte source: respond() and close() while both branches are pulling
Pass ReadableStream teeing with byte source: reading an array with a byte offset should clone correctly