Files
stack/packages
mosaic-coder 99af3066db
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
test(wake): T11 guard unshare-mount fault-injection unavailability (skip in non-privileged CI, like T9)
#933 CI was RED: the non-privileged Woodpecker runner DENIES `unshare --mount`
inside a user namespace ("unshare failed: Operation not permitted" / "can't mount
none on /"), so T11's bind-mount-EBUSY cursor-write fault injection could not set
up and the inner enqueue never ran — leaving T11's "diagnostic must name the
cursor write" assertion checking an empty errfile and FAILING. T9 uses the same
unshare+mount mechanism and survives only because its post-assertions are trivially
true when nothing was injected; T11 lacked that tolerance.

Fix (test-only): the inner (namespaced) script now drops a WITNESS marker AFTER the
bind-mount is in place and immediately before the enqueue. When the injection
cannot be constructed (unshare unavailable, or unshare/bind-mount denied so the
marker is absent), T11 prints a clear `SKIP:` line and does NOT run the failure-path
assertions — harness stays GREEN, matching T9's tolerance of the same unavailability.
When the injection IS available (privileged/local), the marker is present and T11
runs the full assertion set UNCHANGED (fail-loud + cursor-naming diagnostic +
observed.set/cursor consistency + intact consumed prefix).

Verified: non-privileged node:24-alpine -> T11 SKIPS, store-ack 12 groups + full
`pnpm run test:framework-shell` rc=0; privileged/local -> T11 runs full + passes.
store.sh (product fix) and manifest are UNCHANGED. shellcheck clean; BusyBox-portable.

Part of #892
Refs #917

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0158NZqN2n2ymKFeJAZ4GUCb
2026-07-26 09:55:57 -05:00
..