diff --git a/js/net/src/lite/datagram-tracks.test.ts b/js/net/src/lite/datagram-tracks.test.ts index aad5e3c7af8..e8c81d01445 100644 --- a/js/net/src/lite/datagram-tracks.test.ts +++ b/js/net/src/lite/datagram-tracks.test.ts @@ -469,9 +469,7 @@ for (const alpn of [ALPN_05, ALPN_06, ALPN_07_WIP]) { // A track's end waits a host task for the datagrams received with it. A session close in // between finishes the track rather than cutting it off: the publisher already ended it. for (const alpn of [ALPN_05, ALPN_06, ALPN_07_WIP]) { - // Quarantined: lite-06 fails under load (quest/m0/test-flakes-2/session-close-end.md). - const run = alpn === ALPN_06 ? test.skip : test; - run(`${alpn}: a session close right after a datagram track's end keeps the end`, async () => { + test(`${alpn}: a session close right after a datagram track's end keeps the end`, async () => { const source = new Origin(); const publication = source.route(path, { hidden: true }); const datagrams = publication.broadcast.createDatagrams("audio"); diff --git a/quest/m0/test-flakes-2/README.md b/quest/m0/test-flakes-2/README.md index 6be491f23aa..61b482a4db9 100644 --- a/quest/m0/test-flakes-2/README.md +++ b/quest/m0/test-flakes-2/README.md @@ -225,6 +225,5 @@ Public API: none. Wire: none. - [Fallback playback](/quest/m0/test-flakes-2/ietf22-fallback.md) - a browser viewer follows a fallback within the media lane's bound without dropping its session - [js/net's bandwidth sampling test holds up under load](/quest/m0/test-flakes-2/bandwidth-sampling.md) - the sampling test counts ticks without racing the mocked clock, and its `test.skip` is removed -- [js/net's lite-06 session-close test keeps the end under load](/quest/m0/test-flakes-2/session-close-end.md) - a session close right after a datagram track's end returns the end, not a `remote error: 0`, and its lite-06 skip is removed - [js/net's widened max-age re-drop test ends cleanly, not with a reset](/quest/m0/test-flakes-2/widened-max-age-reset.md) - the test finishes the track only after the re-drop reply arrives, so the end is a FIN, and drops its wall-clock assert - [bench/relay.test.py's stream-transport test gets a port free for TCP and UDP](/quest/m0/test-flakes-2/relay-port-pair.md) - the test binds TCP and UDP to one number free in both, so parallel checks can't collide with it diff --git a/quest/m0/test-flakes-2/session-close-end.md b/quest/m0/test-flakes-2/session-close-end.md deleted file mode 100644 index eb06f97bdde..00000000000 --- a/quest/m0/test-flakes-2/session-close-end.md +++ /dev/null @@ -1,26 +0,0 @@ -# [S] js/net's lite-06 session-close test keeps the end under load - -## Goal - -`js/net/src/lite/datagram-tracks.test.ts`'s "moq-lite-06: a session close right -after a datagram track's end keeps the end" passes under load and runs again. - -## Plan - -Planned 2026-11-08 (maintainer). The lite-06 case failed in the merge queue, -dropping [moq-dev/moq#8280](https://github.com/moq-dev/moq/pull/8280) -([job](https://github.com/moq-dev/moq/actions/runs/42489349640/job/128758087035)): -`reader.recv()` rejected with `Session: remote error: 0` from `closeError` -(`js/net/src/error.ts`) instead of returning the end. The lite-05 and lite-07 -cases still run; the lite-06 case is quarantined with `test.skip`. - -Suspects: the test drains 10,000 microtasks and assumes the end reached the -reader by then. Find which lite-06 step (SUBSCRIBE_FINISH, the FIN, or the -track's host-task wait for its datagrams) can still be pending when -`client.abort()` lands, and whether the library or the test is wrong: the -comment above the test says a close after the end must keep the end. Wait on -that event, never a longer drain, timeout, or retry. Reproduce with -`bun test --rerun-each 200` under a loaded machine first. Then remove the skip -and delete this quest. - -Public API: none. Wire: none.