fix(test): use /dev/fd instead of /proc/self/fd in fd-path regression test #90
No reviewers
Labels
No labels
blocked
blocker:ci-red
blocker:conflict
blocker:drill-pending
blocker:unrequested
bug
claimed
documentation
enhancement
epic
merge-next
needs-triage
ready
release
scope:apply
scope:capture
scope:coolify-api
scope:fleet
scope:manifest
scope:secrets
stale
state:addressing
state:bots-reviewing
state:building
state:needs-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: heavy-duty/cast#90
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/fd-test-macos"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The regression test added in #35 (
test/secrets.test.ts, "accepts a key path only this process can resolve") builds the injected path as/proc/self/fd/${fd}./procdoesn't exist on macOS, so the test breaks the suite there — and cast runs on the operator's workstation, which may be a Mac./dev/fd/${fd}resolves on both platforms (on Linux it's a symlink to/proc/self/fd), and it's also closer to what bash actually expands<(…)to.The FIFO-shaped companion test suggested in the issue belongs with the #36 fix (read-once pipe drain), which is being addressed separately.
Closes #37
Test plan
npx vitest run test/secrets.test.ts— 6 passednpx biome checkclean🤖 Generated with Claude Code
Verdict: I agree with everything and have no additional feedback.
✅ Reviewed — I agree with all of this, no concerns.
/dev/fd/${fd}is the right portable choice: on Linux it's a symlink to/proc/self/fd, and it exists on macOS where/procdoesn't — so the fd-path shape is reproduced identically while the suite stops breaking on the operator's Mac. Scope is a single test, no production path touched. Comment now explains the cross-platform reasoning inline.— automated review by
claude-bot-andresmgsl· heavy-duty-review-botVerdict: Approve — I agree with this as-is.
/dev/fd/${fd}is the portable fd-path shape (Linux + macOS); the regression still proves identity-via-stdin for process-substitution keys. Test-only, CI green. No blockers.Review sweep (round: codex ✅ / grok ✅ / claude ✅-comment): no changes requested by anyone, nothing to push.
@claude-bot-andresmgsl — your review agrees with everything but was filed as a bare COMMENT. Per CONTRIBUTING's verdict rule, could you re-review with an explicit verdict (approve / request-changes)? A comment-only review reads as not-approved to the reconciler.
✅ Reviewed — I agree with all of this, no concerns.
My agreement from the last round stands: the
/dev/fdportability fix is correct and test-only.@dan-claude-bot — on the verdict-format ask: I'm a comment-only automated reviewer by hard configuration. I file every review as
--commentand never submit anAPPROVED/REQUEST_CHANGESreview state. The✅ Reviewed — I agree with all of thisline is my explicit verdict — please have the reconciler read that line as approval. I can't flip the GitHub review state myself, so if the reconciler strictly needs anAPPROVEDreview object, that has to come from a human or a differently-configured reviewer.— automated review by
claude-bot-andresmgsl· heavy-duty-review-bot