Skip to content

test: link the remaining multi-file test suites into one binary - #5787

Merged
kixelated merged 1 commit into
mainfrom
test/one-binary-leftovers
Oct 17, 2026
Merged

kixelated merged 1 commit into
mainfrom
test/one-binary-leftovers

Conversation

@kixelated

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #5689, which left four crates with several integration-test binaries each. Each of these now builds one tests/integration binary:

  • moq-cli: 4 binaries -> 1 (auth_serve, export, import, listen). These link moq-relay as a dev-dependency, so every moq-net edit relinked all four.
  • moq-audio: 3 -> 1 (import, playback, roundtrip). playback is gated on its feature, but its empty binary still linked on every build without it.
  • moq-json: 2 -> 1. Both suites declared an identical counting global allocator; it now lives once in main.rs. Every test in the binary is an allocation test, so the shared allocator is intended.
  • moq-pattern: 2 -> 1. pattern.json stays at tests/pattern.json, where js/pattern reads it.

Relative include_bytes!/include_str! paths gained one ../. No recipe, nextest filter, or workflow named these binaries.

Left apart, as in #5689: moq-net loom, wasm, send, group_charge; moq-uring allocations; moq-relay drills.

Measurements

Probe: append a new #[doc(hidden)] pub fn to rs/moq-net/src/lib.rs, then cargo test --locked --workspace --exclude moq-net-fuzz --no-run --timings through mbx. Host loaded at about 35 on 24 threads, one sample per side, so treat these as magnitudes.

Before After
Integration-test units 29 22
moq-cli + moq-audio + moq-json test-binary CPU 34.5 s 13.0 s
All integration-test CPU 90.6 s 62.1 s
Total CPU 340 s 302 s
Wall 22.0 s 18.9 s

An earlier pair under heavier, uneven load showed the same direction (84 s -> 17 s for the three crates).

Public API and wire impact

None. Nextest binary IDs for these crates become <crate>::integration with <module>::<test> names.

Checks

  • just check (7151 tests pass)
  • just rs test -p moq-cli -p moq-audio -p moq-json -p moq-pattern (568 pass)
  • cargo clippy -p moq-audio --features playback --tests -- -D warnings

(Written by Claude Opus 5.5)

🤖 Generated with Claude Code

moq-cli, moq-audio, moq-json, and moq-pattern still built one binary per
`tests/*.rs` file. Each now builds one `tests/integration` binary, as
moq-net, moq-relay, moq-tokio, and moq-uring do since #5689. moq-json's two
suites shared an identical counting allocator, now declared once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You'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 15 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 4 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e681ade2-f3eb-4207-97a5-2bf63e713bbf
📥 Commits

Reviewing files that changed from the base of the PR and between 2aa7a95 and c813f4c.

📒 Files selected for processing: 16
  • rs/moq-audio/tests/integration/import.rs
  • rs/moq-audio/tests/integration/main.rs
  • rs/moq-audio/tests/integration/playback.rs
  • rs/moq-audio/tests/integration/roundtrip.rs
  • rs/moq-cli/tests/integration/auth_serve.rs
  • rs/moq-cli/tests/integration/export.rs
  • rs/moq-cli/tests/integration/import.rs
  • rs/moq-cli/tests/integration/listen.rs
  • rs/moq-cli/tests/integration/main.rs
  • rs/moq-json/tests/integration/decode_allocations.rs
  • rs/moq-json/tests/integration/main.rs
  • rs/moq-json/tests/integration/window_allocations.rs
  • rs/moq-pattern/tests/integration/main.rs
  • rs/moq-pattern/tests/integration/pattern.rs
  • rs/moq-pattern/tests/integration/pattern_exhaustive.rs
  • rs/moq-pattern/tests/pattern.json
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-16T23:08:47.049590Z c813f4c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kixelated

Copy link
Copy Markdown
Collaborator Author

Merge summary:

  • Changes: moq-cli, moq-audio, moq-json, and moq-pattern each build one tests/integration binary (11 binaries become 4). moq-json's duplicated counting allocator is declared once.
  • Review: Codex finished on c813f4c with no findings. CodeRabbit was rate-limited and did not review.
  • Decisions: none open. The binaries test: link each crate's integration tests into one binary #5689 kept apart (loom, wasm, send, group_charge, allocations, drills) stay apart.
  • Possible follow-up: moq-net wasm.rs and loom.rs still link empty binaries on host builds, about 8 CPU-s per moq-net edit.

(Written by Claude Opus 5.5)

@kixelated
kixelated enabled auto-merge October 16, 2026 23:12
@kixelated
kixelated added this pull request to the merge queue Oct 16, 2026
Merged via the queue into main with commit 0c44c3f Oct 17, 2026
9 checks passed
@kixelated
kixelated deleted the test/one-binary-leftovers branch October 17, 2026 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant