cmux-tui tests: share chat's one action.run is checked on the path the CLI takes (base red from #30550)

Merged
LA
5d ago
+11-4

Summary

Base red (priority zero). On feat-cmux-next, cmux-tui cli::app::tests::share_chat_waits_for_the_owners_answer (src/cli/app/tests.rs:359) fails with "expected one action.run call". Base job b973957eb8a382f63c3d57c0.

Culprit: ff01dcc58da (#30550), the commit that added the test. No later commit changed the share chat path: git log ff01dcc58da..origin/feat-cmux-next shows no commit to cli.rs, cli/app.rs, cli/app/ or cli/share_cli.rs. The test asked app::parse for share chat --surface 1, but share is not and never was in APP_SCOPES, so parse answers Ok(None). The test was red from the commit that added it (fleet run at ff01dcc58da below).

The product is right, so this fixes the test, not the product. cmux share chat is not a mux command, so cli.rs run_app_action_fallback runs it. share_cli::action leaves it as typed (it rewrites only share revoke|kick), and app::run_cli_action sends one action.run for share chat. That run waits PERSON_RUN_TIMEOUT, because run_action takes waiting_run_timeout("share chat"). The test now takes that same path. It checks that parse answers None, that share_cli::action answers None, and that run_action("share chat", ["--surface", "1"], Cli) is one action.run with args.surface = "1" and the person deadline. The waiting_run_timeout assertions stay as they were.

FYI @teamleaderleo: this is your #30550 test.

Testing

cmux-ci run --class isolated --os linux --script scripts/ci/cmux-tui-rust-check.sh --ref SHA --arg test --arg share_chat_waits_for_the_owners_answer:

  • Red at the base 13fd3f48bcb0: FAIL share_chat_waits_for_the_owners_answer, "expected one action.run call". Step 66f5715c3c0e7dd8111fc935.
  • Red at the culprit ff01dcc58da (the commit that added the test): the same FAIL and the same message. Step 010e0c9a4036dd5e5fe2845b (Blacksmith run manaflow-ai/cmuxterm-hq 41421315070). So no later commit broke it.
  • Green at the head a6dbfc45352, 5 of 5: steps 4f5a3a7d9b98c40cd2ff24be, 5ee2d80352be204faf7a7a35, a871d0e5b3593cf69b304a5d, 71275c72030cee25ef3ec2e9, c62b5b8c0a7e879719525869 (each 1 passed).
  • Panic ratchet (--arg panic) at the head: pass, step 7fd6769aa0f14554aeed7d25.

Non-green checks at the head are base findings, not caused by this PR. clippy (changed cmux-tui packages): too_many_arguments on cmux-tui-core snapshot_written, from #31931; fixed by #32092 (merged). defaults-snapshot (cmux-next guards) is a base finding. Its failing step is "Menu rows run registered actions" on AgentPaneSessionInfoContent.swift, from #31930. The same check is red on unrelated open PRs, and #32072 and #32073 fix it.

Observed / Not run

  • Observed: the fleet step logs above (nextest PASS/FAIL lines); python3 scripts/cmux-next/prepush-gate.py passes at the head.
  • Not run: no local build or test on this VM (fleet only). The CLI was not run end to end against a live app (cmux share chat with an app socket); the claim that the product sends one action.run comes from reading cli.rs and cli/app.rs, not from a live run.

Changelog

none