Repository navigation
test(smoke): drop the Python abort retry and the browser reload - #6064
Conversation
Verbatim copy of https://github.com/moq-dev/smoke/tree/66dd9f4 into test/smoke/, adapted to the monorepo in the following commits. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adapt the imported moq-dev/smoke harness to test/smoke: its own nested flake and stable toolchain, a lockfile ban scoped to the directory, the Cloudflare client outside the cargo workspace, a path-filtered Smoke workflow, and the relay report published under /relays/ on moq's single gh-pages site. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The negative pass minted the unrelated key with the verifier under test and only warned when that failed, so a verifier could pass without ever being shown a foreign key. Mint it with the canonical generator, which just worked, and fail the cell otherwise. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both covered bugs already fixed in the published packages: moq-ffi's runtime thread now stops at exit (#3766, moq-ffi 0.4.17), and @moq/watch waits for the announce before subscribing to the catalog. A client that failed to exchange media gets no retry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # test/smoke/clients/js/driver.ts # test/smoke/smoke.sh
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 10 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Merging: removes the Python exit-134 re-run and the mid-run browser reload from (Written by Claude Opus 5.5) |
Problem
Two subscriber retries in
test/smokebreak the harness's own rule (test/smoke/AGENTS.md): a client that failed to exchange media gets no retry. Codex flagged both on #6046, where they were declined as out of scope for a verbatim move.smoke.shre-ran the Python subscriber once on exit 134.clients/js/driver.tsreloaded the page halfway through when<moq-watch>had decoded nothing.Both root causes are already fixed in published packages, so the retries now only hide new regressions.
Approach
Delete both retries. No source change is needed.
Python exit 134. The abort was the moq-ffi runtime thread asking for the GIL after CPython finalization began. CPython
pthread_exits that thread, and the unwind aborts in Rust. Fixed by #3766: anatexithook stops the runtime thread first. It ships in moq-ffi 0.4.17 / moq-rs 0.5.1, which is what smoke installs. Reproduced against that published wheel with #3766's forced-order script (py/moq-ffi/tests/exit_inside_callback.py):moq_ffi_shutdownunregistered fromatexit: exit 134,panic in a function that cannot unwind, the same signature as the smoke failureThe regression test
py/moq-ffi/tests/test_exit.pyalready runs underjust py test.Browser catalog give-up. The reload covered
<moq-watch>subscribing tocatalog.jsonbefore the publisher had announced, getting RESET, and stopping (the harness dates from May). The current@moq/watch(0.6.3) requests withannounced: truethrough@moq/net's origin, so it subscribes only after the announce. It subscribes blind only when the relay has no discovery, and a refusal there is final by design, since no announce will ever come to wait for.Local runs. Published
moq-relay0.17.7 andmoq0.14.7, with both retries removed.--publishers js-web,python,rust --subscribers js-web,js-jsdelivr,python, 10 runs:announced: broadcast=… active=truelog line comes before the catalogsubscribe startImpact
Alternatives
Follow-ups
broadcast discovery failed), ajs-websubscriber that beats the publisher's announce is refused and stays offline. The reload used to hide this on the relays page. A red cell there is the honest result for that relay.(Written by Claude Opus 5.5)
🤖 Generated with Claude Code