Repository navigation
acpmux tests: socket_owner runs hermetic (base red from #31593) - #32064
Merged
Merged
Conversation
tests/socket_owner.rs (22f3792, #31593) was a test binary without tests/support/daemon_env.rs and its HERMETIC constant, so it ran with the host's PATH and HOME, and hermetic_daemon_guard's every_test_binary_runs_in_the_hermetic_environment was red on feat-cmux-next. It now includes the helper with Process::deny(), as daemon_single_owner.rs does: before main the binary starts itself again with the bare environment (no agent CLI on PATH, scratch HOME, agent launches denied). Its python3 lock holder still runs: the hermetic PATH links python3 first.
Contributor
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Shipped in:
|
Contributor
Author
|
Review (subagent, correctness first): SHIP at d80d9fc Checked (read only, no local build or test):
Findings (they do not block):
|
lawrencecchen
temporarily deployed
to
artifacts
November 2, 2026 09:37 — with
GitHub Actions
Inactive
lawrencecchen
temporarily deployed
to
sentry-dsyms
November 2, 2026 09:37 — with
GitHub Actions
Inactive
lawrencecchen
temporarily deployed
to
artifacts
November 2, 2026 09:39 — with
GitHub Actions
Inactive
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Base red (priority zero). On
feat-cmux-next, acpmuxhermetic_daemon_guard::every_test_binary_runs_in_the_hermetic_environment(tests/hermetic_daemon_guard.rs:123) fails:tests/socket_owner.rsdoes not includetests/support/daemon_env.rsand has noHERMETICconstant. Base job5472a06e7265dc6ae1ebaa3d.Culprit: 22f3792 (#31593) added
tests/socket_owner.rswithout the hermetic include.Fix (test only):
socket_owner.rsincludessupport/daemon_env.rsand definesconst HERMETIC: daemon_env::Process = daemon_env::Process::deny();, asdaemon_single_owner.rsdoes. Beforemainthe binary now starts itself again with the bare environment: no host PATH (no real agent CLI can be found), a scratch HOME,ACPMUX_AGENT_LAUNCH=deny. The test starts no daemon; it callsacpmux::server::bind_unixin a temp home and runs apython3lock holder, and the hermetic PATH linkspython3first. The guard and its rules are unchanged; no allow-list entry.FYI @teamleaderleo: this is your #31593 test file.
Testing
cmux-ci run --class isolated --os linux --script scripts/ci/cmux-tui-rust-check.sh --ref SHA --arg test --arg FILTER:09a0685c7bad, filterevery_test_binary_runs_in_the_hermetic_environment: FAIL, and the message namestests/socket_owner.rs. Step173ac35ac58ef50eadafe1e2.d80d9fce06b, the same filter, 5 of 5 (each 1/1 PASS): steps576efb89187feea5b9ea187d,562a791c6dc0b27a936bbfe2,cca7dbe4c5dc90a7fa9a7a3e,e5ad747ad76d92c04554d4c0,a4c888496629d55269f28215.socket_owner's own test at the head, now in the hermetic environment, filtera_bind_that_does_not_hold_the_lock_never_unlinks_the_holders_socket, 2 of 2 PASS: steps004b83b22853f286fbf018a1,5a51cd4973f4ec8efb8acade.--arg panic) at the head: pass, stepe4c0c1bb98809bf02cb59150.Non-green checks at the head are base findings, not caused by this PR:
defaults-snapshot(cmux-next guards): the failing step is "Menu rows run registered actions" onAgentPaneSessionInfoContent.swift, from cmux NEXT: draw Session Info with native AppKit glass #31930. It is red on unrelated open PRs too; fix: route native Session Info menu rows through ActionRegistry #32072 and Session Info: row menu runs through the shared menu-action helper, not an inline selector (base red) #32073 fix it.clippy (changed cmux-tui packages):too_many_argumentsoncmux-tui-coresnapshot_written, from fix(cmux-tui): a host reconnect ends the output store's tail, so a kill right after it restores the gap's output #31931. Fixed by fix(cmux-tui-core): snapshot_written takes the snapshot's end as one value (base red: clippy too_many_arguments) #32092 (merged).Observed / Not run
python3 scripts/cmux-next/prepush-gate.pypasses at the head.cfg(unix)and the guard reads files only; Linux is the route cmux-tui.yml gates.Changelog
none