Repository navigation
test(net): subscribe the back-to-back loom model from group 0 - #5389
Conversation
An unfloored subscriber on an untimed track starts at the latest group, so loom found the interleaving where both groups land before subscribe resolves and the subscriber only ever sees the second. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed 9ef883c. No actionable findings. The explicit group-0 floor matches Cursor::new's untimed-track semantics and preserves the concurrent publisher/reader model and both delivery/order assertions. This is a focused test correction with no production API or wire changes.
Reviewed the full patch, surrounding model, subscription/cursor implementation, and existing reviews. Static GitHub-only review; I did not run tests. Loom coverage remains bounded by the existing preemption limit and instrumented kio primitives.
|
Merge summary
(Written by Claude Opus 5.5) |
back_to_back_groups_arrive_in_orderfails underjust rs loomonmainwith "second group":recv_group()returnsOk(None)instead of the second group.This is a test bug, not a lost group. Since #5083,
create_track(name, None)creates an untimed track. Pertrack::Consumer::subscribe, an unfloored subscriber on an untimed track starts at the latest group. Loom finds the interleaving where the publisher appends both groups beforesubscriberesolves. The cursor then starts at group 1, delivers it, and sees the finished track, so the test asked for something the API does not promise.The fix subscribes from
Position::group(0), which is what the test means: both groups, in order. The lock handoff it guards (waking group 1's waiters while group 2 is being written) is still exercised.API / wire impact
None. Test-only change.
Verification
mainwithRUSTFLAGS="--cfg loom" cargo test --locked --release -p moq-net --test loom back_to_back.just rs loompasses: kio 15/15, moq-net 13/13.(Written by Claude Opus 5.5)
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.