Repository navigation
test: run the shared matrix's headless cases on the daemon core (cx-gkyi1) - #20253
Conversation
…kyi1) mux::tests::matrix reads Packages/macOS/CmuxNext/Tests/Matrix/cases.json, seeds each headless case's preset on an in-process Mux, runs its core steps through the topology operations the daemon serves (new workspace, split, close pane, zoom, tab moves within and between panes and workspaces, tab to new split or workspace), checks the daemon's own layout transition rules after every step, then the case's expectations. Failures name the case: "MATRIX <case id>: ...". A cmux-tui tree without the app beside it (a published tree) has no case file and skips. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Creates and closes keep the per-state invariants; move_tab takes the final index the app sends; $new is the newest object created. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
Headless cases need core steps and paired step expectations; a missing id, by or zoom mode is an error; a pane moves to a new workspace tab by tab through move-tab-to-workspace, as the app does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Runs the shared matrix's headless cases (
Packages/macOS/CmuxNext/Tests/Matrix/cases.json, landed in #20195) on the daemon core in process:mux::tests::matrix::matrix_cases_hold_on_the_core. This is part 2 of cx-gkyi1, and op-ci-tiers adds it to the fast tier once it lands.For each headless case the runner seeds a preset (single, tabs3, split2, deep, ws3, ws20) through
Mux::new_for_testand applies the case'scoresteps. After each step it checks:layout_invariants::transition_problems).check_state), so no empty pane and no tab placed twice.It has no clock, no sleeps, no window server and no daemon process. Every failure starts with
MATRIX <id>:. The test skips whenPackages/macOS/CmuxNextis missing, which happens in cmux-tui-only checkouts.move_tabcases give the final index, as the app does. The runner converts it to the core's insert-before index with the same rule asTabMoveIndex.wireIndex.$newresolves to the newest object created, which is the one the app selects after a burst of creates.Verification
move_tabindex meaning, and picked the wrong$new. None was a product bug.cargo check. The file is#[cfg(test)]-only.Changelog
none
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Runs the shared matrix's headless cases (
Packages/macOS/CmuxNext/Tests/Matrix/cases.json) on the daemon core in-process, so model behavior gets verified without a daemon process, clock, or window server.Muxand applies the case'scoresteps through the topology operations the daemon serves.MATRIX <id>:.move_tabsteps give the final tab index, converted to the core's insert-before index;$newresolves to the newest created object.coresteps and paired step expectations, and a missingid,by, or zoom mode is an error.Packages/macOS/CmuxNextis absent, as in cmux-tui-only checkouts.Written for commit 68070e9. Summary will update on new commits.