diff --git a/test/interop/README.md b/test/interop/README.md index 1939304a3b6..0428b177a7b 100644 --- a/test/interop/README.md +++ b/test/interop/README.md @@ -528,6 +528,12 @@ at QUIC's 1 ms timer granularity, the 500 ms GOP, one frame to decode, the 50 ms playback delay, and one page sample plus one driver poll. Publisher preparation is not part of it. +Firefox's replacement case is quarantined from the default run after intermittent +audio-tone failures. Investigate the missing tone samples alongside +[the audio playout work](https://github.com/moq-dev/moq/pull/8058), then restore it. +Run it explicitly with `just test media --media-engines firefox --media-cases replacement`; +its content, sync, switch, and fallback assertions remain active. + The CLI integration suite's `instances` cases exercise the real QUIC relay with lite-07, lite-06, and IETF draft 22. Held catalog snapshots and media subscriptions keep A while fresh catalog handles resolve B with fresh sibling diff --git a/test/interop/clients/js/media.ts b/test/interop/clients/js/media.ts index 30dcc878e34..6109c1d73ac 100644 --- a/test/interop/clients/js/media.ts +++ b/test/interop/clients/js/media.ts @@ -133,7 +133,7 @@ const selected = new Set( values.cases === undefined ? native ? NATIVE_CASES - : CASES + : CASES.filter((name) => requestedPlayer !== "firefox" || name !== "replacement") : values.cases === "none" ? [] : values.cases.split(","), @@ -161,6 +161,11 @@ if ( const publisherEngine = requestedPublisher as Engine; const playerEngine = requestedPlayer as Engine; const wants = (name: Case) => selected.has(name); +if (!native && values.cases === undefined && playerEngine === "firefox") { + console.error( + "QUARANTINE\treplacement\tintermittent audio tone; investigate with https://github.com/moq-dev/moq/pull/8058", + ); +} // process.exit narrows `url` above, but not inside the function declarations below. const relay: string = url; diff --git a/test/interop/interop.sh b/test/interop/interop.sh index a2e22c223c5..7aba8db51a4 100755 --- a/test/interop/interop.sh +++ b/test/interop/interop.sh @@ -2202,6 +2202,11 @@ run_media() { # The measurements are the point even when nothing fails: a skew or frame rate creeping # toward its bound is worth seeing before it crosses. grep -E '^( |=== )' "$log" || true + local marker quarantined detail + while IFS=$'\t' read -r marker quarantined detail; do + echo " SKIP $name: $quarantined: $detail" + record skip case="$name: $quarantined" publisher="$(media_publisher "$@")" subscriber=js detail="$detail" log="$log" + done < <(grep $'^QUARANTINE\t' "$log" || true) else echo " FAIL $name ($((SECONDS - started))s)" record fail "${cell[@]}" detail="media.ts exited $status"