Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions js/net/src/lite/datagram-tracks.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,7 @@ test("lite-04 refuses datagram tracks at setup", async () => {
}
});

// Quarantined: flaky under load, see /quest/m0/test-flakes-2/datagram-queues.md
test.skip("lite-07 bounds and prioritizes independent createWritable datagram queues", async () => {
test("lite-07 bounds and prioritizes independent createWritable datagram queues", async () => {
const source = new Origin();
const publication = source.route(path, { hidden: true });
const datagrams = publication.broadcast.createDatagrams("audio");
Expand All @@ -134,6 +133,10 @@ test.skip("lite-07 bounds and prioritizes independent createWritable datagram qu
try {
await reader.info();
while (datagrams.priority.peek() !== 19) await datagrams.priority.changed();
// The publisher opens a track's queue after writing its DATAGRAMS_INFO, so the reader can
// see the info first: a datagram through each queue is what proves both are open.
datagrams.append(undefined, new Uint8Array([0]));
expect((await reader.recv())?.sequence).toBe(0n);
await second.info();
other.append(undefined, new Uint8Array([1]));
await second.recv();
Expand All @@ -151,7 +154,7 @@ test.skip("lite-07 bounds and prioritizes independent createWritable datagram qu
// Type, Subscribe ID, and Sequence each occupy one byte on this untimed track.
datagrams.append(undefined, new Uint8Array(898));
datagrams.append(undefined, new Uint8Array(897));
expect((await reader.recv())?.sequence).toBe(1n);
expect((await reader.recv())?.sequence).toBe(2n);
} finally {
second.close();
reader.close();
Expand Down
8 changes: 7 additions & 1 deletion quest/m0/test-flakes-2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,11 +259,17 @@ Added 2026-11-09 (maintainer, /quest-complete): interop's `finish` cases with
a cpp or rust publisher, which failed under a loaded host and passed on rerun.
They are quarantined until their child fixes them.

Resolved 2026-11-09 (maintainer, `/quest-complete`): `js/net`'s lite-07
createWritable datagram queue test failed only on code predating [moq-dev/moq#8195](https://github.com/moq-dev/moq/pull/8195): a write
that yielded after handing DATAGRAMS_INFO over left the first track's queue
unopened while the reader went on. The test now reads a datagram through that
queue before counting queues, fixed by
[moq-dev/moq#8396](https://github.com/moq-dev/moq/pull/8396).

Public API: none. Wire: none.

## Required

- [js/common's worklet dev-server test holds up under load](/quest/m0/test-flakes-2/worklet-dev-server.md) - the dev-server test passes on a loaded host, and its `test.skip` is removed
- [js/net's lite-07 datagram queue test holds up under load](/quest/m0/test-flakes-2/datagram-queues.md) - the test waits for the first track's queue instead of asserting at once, and its `test.skip` is removed
- [Interop's finish cases hold up under load](/quest/m0/test-flakes-2/interop-finish.md) - every publisher's finish cells pass under load, and the scenario's quarantine is removed
- [The Go wrapper's cancelled-RecvGroup test holds up under load](/quest/m0/test-flakes-2/go-recv-cancel.md) - a `RecvGroup` after a cancelled one is woken by the next group, and its `t.Skip` is removed
25 changes: 0 additions & 25 deletions quest/m0/test-flakes-2/datagram-queues.md

This file was deleted.

Loading