diff --git a/quest/m0/interop-green/README.md b/quest/m0/interop-green/README.md index ce3fb9bcfd8..c49128639f8 100644 --- a/quest/m0/interop-green/README.md +++ b/quest/m0/interop-green/README.md @@ -73,4 +73,24 @@ above, on `moq-lite-07-wip` in Chromium, which the IETF22 fallback quest owns. Scheduled run 42062226837 (2026-11-05) failed only P2P and the same fallback audio stall in Chromium (`audioStalled:true`). +Scheduled run +[42245660435](https://github.com/moq-dev/moq/actions/runs/42245660435) +(2026-11-06, at 01d4edbe59, before the P2P fix +[moq-dev/moq#8001](https://github.com/moq-dev/moq/pull/8001) merged) had no +media, P2P, or fallback failure. It failed three deterministic steps, fixed in +this quest's PR: + +- Harness regressions: `staging.test.py` stubbed only the examples + `interop.sh` runs itself, but `interop-socket-js` is built there and run + only by `socket.sh` since + [moq-dev/moq#7884](https://github.com/moq-dev/moq/pull/7884). The fixture + now stubs every example in the build list. +- Subscription termination: `just test bare-fin` built moq-net's lib tests + without the `async` feature its tests need, a configuration no other job + compiles, so dead code under it broke the build. The recipe now enables + `async`. +- Wire-compat: moq-cli 0.14.13 and moq-relay 0.17.13 made the + `moq-lite-07-wip` planned break stale again; remeasured, with the same 16 + cells failing. + Public API: none. Wire: none. diff --git a/test/interop/compat/planned-breaks.json b/test/interop/compat/planned-breaks.json index 41ee4ae524f..b11605fcbee 100644 --- a/test/interop/compat/planned-breaks.json +++ b/test/interop/compat/planned-breaks.json @@ -1,9 +1,9 @@ { "moq-lite-07-wip": { - "reason": "Re-accepted by the maintainer (2026-10-13): this draft is unpublished and its wire is still changing. Remeasured 2026-11-03 against these releases, with the media lanes checking the audio tone: all 16 cross-version lite-07-wip media, publication, and FETCH cells fail, while its FETCH capability check and the stable lite-01 through lite-06 cells pass, including the Opus phase check (moq-cli keeps the Opus edit list since 0.14.10). Current and released lite-07-wip framing differs (long buffer, invalid value, protocol violation). Reassess when any affected release changes.", + "reason": "Re-accepted by the maintainer (2026-10-13): this draft is unpublished and its wire is still changing. Remeasured 2026-11-06 against these releases, with the media lanes checking the audio tone: all 16 cross-version lite-07-wip media, publication, and FETCH cells fail, while its FETCH capability check and the stable lite-01 through lite-06 cells pass, including the Opus phase check (moq-cli keeps the Opus edit list since 0.14.10). Current and released lite-07-wip framing differs (long buffer, invalid value, protocol violation). Reassess when any affected release changes.", "releases": { - "moq-cli": "0.14.12", - "moq-relay": "0.17.12", + "moq-cli": "0.14.13", + "moq-relay": "0.17.13", "@moq/net": "0.4.7" } } diff --git a/test/interop/staging.test.py b/test/interop/staging.test.py index 80d354ed7c0..a0a3d621952 100644 --- a/test/interop/staging.test.py +++ b/test/interop/staging.test.py @@ -80,7 +80,9 @@ def test_interop_consumers_survive_collection(self): source = (ROOT / "test/interop/interop.sh").read_text() setup, runtime = source.split("# ── setup", 1) setup = re.sub(r"^INTEROP_DIR=.*$", "INTEROP_DIR=" + shlex.quote(str(ROOT / "test/interop")), setup, flags=re.M) - for name in re.findall(r"\$EXAMPLES/(interop-[\w-]+)", runtime): + # Stage every example the build list names, including those only helper scripts run. + built = re.search(r"examples=\(([^)]*)\)", source).group(1).split() + for name in set(built) | set(re.findall(r"\$EXAMPLES/(interop-[\w-]+)", runtime)): executable(self.profile / "examples" / name, "echo owned-example\n") # Exercise dereferencing, including a symlink to a cache outside target. cached = self.root / "cache" diff --git a/test/justfile b/test/justfile index bd9db4d79e4..060ce9fda5b 100644 --- a/test/justfile +++ b/test/justfile @@ -273,7 +273,7 @@ receive-credit: # Cross-language subscription termination over in-memory transports. bare-fin: - just rs test -p moq-net --lib bare_fin_interop owed_tail_death_interop --run-ignored all + just rs test -p moq-net --features async --lib bare_fin_interop owed_tail_death_interop --run-ignored all # Explore JSON snapshot codec sequences with a fresh replayable seed. json-properties: