SZEDER Gábor <szeder.dev@xxxxxxxxx> writes: >> While inspecting this code, I realized that the final test for >> 'commit_contains --tag' is silently dropping the '--tag' argument. >> It should be quoted to include both. > > Nit: while quoting the function's arguments does fix the issue, it > leaves the tests prone to the same issue in the future. Wouldn't it > be better to use $@ inside the function to refer to all its arguments? IOW, do it more like this? >> -test_three_modes () { >> +run_three_modes () { >> test_when_finished rm -rf .git/objects/info/commit-graph && >> - test-tool reach $1 <input >actual && >> + $1 <input >actual && "$@" <input >actual i.e. treat each parameter as separate things without further getting split at $IFS and ... >> +test_three_modes () { >> + run_three_modes "test-tool reach $1" run_three_modes test-tool reach "$1" ... make sure there three things are sent as separate, by quoting "$1" inside dq. I think that makes sense.