cmux NEXT tests: PaneMotionBench's argument list is nonisolated, so CmuxNextAppTests build again

Merged
TE
14d ago
+1-1

Base red that hides signal: since 241f5bab523 (PaneMotionBench, "bench, red") the CmuxNext test targets do not compile on feat-cmux-next, so the fast tier stops at "the tests do not build" and no CmuxNextAppTests run on any PR:

PaneMotionBench.swift:152: main actor-isolated static property 'cases' cannot be accessed from outside of the actor

@Test(arguments: cases) evaluates the argument list outside the suite's @MainActor. Case is already Sendable and the list is a constant, so cases is now nonisolated static let. One word; the bench's logic, budgets and its CMUX_PANE_BENCH=1 gate are unchanged.

Verification: fleet package-test-lane.sh at this head with TabMachineColorTests,PaneMotionBench (the bench compiles and stays disabled without the env var; TabMachineColorTests from #24159 has not been able to run since the break).

No capture: test-only change, nothing on screen moves.

Agent session: Air-Blue

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the CmuxNext test target build so CmuxNextAppTests can run on feat-cmux-next again.

PaneMotionBench.cases was main-actor isolated, but @Test(arguments: cases) evaluates its argument list outside the suite's @MainActor, which left the target uncompilable. Case is already Sendable and the list is a constant, so cases is now nonisolated static let. The bench's logic, budgets, and CMUX_PANE_BENCH=1 gate are unchanged.