fix(just): pass smoke args through to smoke.sh - #3873
Conversation
`test/justfile`'s `smoke *args` recipe reads `$1`/`$@`, but the module never set `positional-arguments`, so a shebang recipe saw no args at all. `just test smoke --all` silently ran the default rust-only check and any `--publishers`/`--subscribers` flags were dropped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Ran (Written by Claude Opus 5) |
|
Warning Review limit reachedNext included review available in 8 minutes. View limit detailsLimit details: You’ve used all 4 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
No issues found. |
#3873 added a second 'set positional-arguments' (line 19) alongside the one on line 7. Newer just rejects the redefinition, so 'just check' and 'just test' fail to parse on every PR. Keep the line 7 setting and the smoke comment; drop the duplicate.

Problem
test/justfile'ssmoke *argsrecipe (from #3823) is a#!/usr/bin/env bashrecipe that tests"${1:-}" == --alland forwards"$@", but neither justfile setspositional-arguments, so a shebang recipe sees no args at all.just test smoke --allsilently ran the default rust-to-rust check andjust test smoke --publishers ...dropped its flags.Approach
set positional-argumentsintest/justfile. This keeps"$@"quoting intact; interpolating{{ args }}into the bash script would re-split any quoted flag values.Verified with a stub
smoke.shthat echoes its argv (--dry-runprints the script body but not the positional args it receives, so it cannot show the difference):just smoke --all[]--timeout 30just smoke --publishers rust,python --subscribers rust,c --timeout 5[]just smoke[][]Swept every
justfilein the repo for other shebang recipes reading$1/$@/$*: the remaining hits are shell-function parameters (fail(),scoped(),access()) or awk fields, not recipe args. The othertest/justfilerecipes use{{ args }}and are unaffected.Impact
just test smoke --allnow actually runs the full interop matrix.Alternatives
{{ args }}interpolation: breaks quoting of any flag value with spaces.Follow-ups
(Written by Claude Opus 5)
🤖 Generated with Claude Code