test(cli): live profile-router spawn/route/reap integration test - #233
Open
FerroxLabs wants to merge 4 commits into
Open
test(cli): live profile-router spawn/route/reap integration test#233FerroxLabs wants to merge 4 commits into
FerroxLabs wants to merge 4 commits into
Conversation
PR-7 increment 2d. The profile SUPERVISOR/ROUTER (CliProfileRouter, RosterEntry — increments 2b/2c) already shipped in #220; its only tests were fail-closed unit checks that never spawn a child. This adds the missing live coverage across three real processes: the wayland-core supervisor (acp serve --enable-profile-router), the per-profile child (acp serve --profile <name>), and a mock provider. Asserts the load-bearing behaviour: opening a profile:<name> session spawns exactly one dedicated child (Unix pgrep -P), a turn routes through the child to its own credential home + provider and streams the reply back, deleting the session reaps the child, and an unknown profile fails closed without spawning anything. Hermetic: throwaway WAYLAND_HOME / WAYLAND_PROFILES_ROOT per process, provider creds stripped, mock turn.
FerroxLabs
enabled auto-merge (squash)
July 12, 2026 12:09
FerroxLabs
disabled auto-merge
July 12, 2026 14:45
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.
PR-7 increment 2d — live end-to-end coverage of the profile SUPERVISOR/ROUTER.
Context
The profile router (
CliProfileRouter) andRosterEntry(increments 2b/2c) already shipped in #220. Its only tests were fail-closed unit checks inprofile_router.rsthat never spawn a child. Per Sean's FEATURE-DECISIONS ruling (core profiles must be first-class + fully tested before Hermes #66 surfacing), this closes the one real gap: a live test that exercises the whole topology.What it does
A single hermetic integration test file (
crates/wcore-cli/tests/profile_router_live.rs) driving three real processes:Asserts the load-bearing behaviour of the increment:
profile:<name>session spawns exactly one dedicated child (Unixpgrep -Pon the supervisor pid);Hermetic by construction
Every process points
WAYLAND_HOME/HOMEat throwaway tempdirs,WAYLAND_PROFILES_ROOTis a throwaway tempdir (so the only profile in existence is the one the test seeds), the full provider-credential env set is stripped, and the mock scripts the turn — no real provider is contacted, no developer config/keys are read or mutated. Mirrors theacp_gate_d012.rshermetic pattern.Verification
Hetzner (Linux):
nextest run -p wcore-cli --test profile_router_live→ 6/6 passed, stable across 5/5 consecutive runs (~0.8s each, incl. the Unix spawn/reap pgrep assertions).No production code change. New test file only.