René Scharfe <rene.scharfe@xxxxxxxxxxxxxx> writes: > The test fails for me on NetBSD 6.0.1 and reports: > > ok 1 - ref name '' is invalid > ok 2 - ref name '/' is invalid > ok 3 - ref name '/' is invalid with options --allow-onelevel > ok 4 - ref name '/' is invalid with options --normalize > error: bug in the test script: not 2 or 3 parameters to test-expect-success > > The alleged bug is in this line: > > invalid_ref NOT_MINGW '/' '--allow-onelevel --normalize' > > invalid_ref() constructs a test case description using its last argument, > but the shell seems to split it up into two pieces if it contains a > space. Minimal test case: > > # on NetBSD with /bin/sh > $ a() { echo $#-$1-$2; } > $ t="x"; a "${t:+$t}" > 1-x- > $ t="x y"; a "${t:+$t}" > 2-x-y > $ t="x y"; a "${t:+x y}" > 1-x y- > > # and with bash > $ t="x y"; a "${t:+$t}" > 1-x y- > $ t="x y"; a "${t:+x y}" > 1-x y- > > This may be a bug in the shell, but here's a simple workaround: Construct > the description string first and store it in a variable, and then use > that to call test_expect_success(). Interesting. I notice that t0008 added recently to 'pu' has the same construct. > > Signed-off-by: Rene Scharfe <rene.scharfe@xxxxxxxxxxxxxx> > --- > t/t1402-check-ref-format.sh | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/t/t1402-check-ref-format.sh b/t/t1402-check-ref-format.sh > index 1ae4d87..1a5a5f3 100755 > --- a/t/t1402-check-ref-format.sh > +++ b/t/t1402-check-ref-format.sh > @@ -11,7 +11,8 @@ valid_ref() { > prereq=$1 > shift > esac > - test_expect_success $prereq "ref name '$1' is valid${2:+ with options $2}" " > + desc="ref name '$1' is valid${2:+ with options $2}" > + test_expect_success $prereq "$desc" " > git check-ref-format $2 '$1' > " > } > @@ -22,7 +23,8 @@ invalid_ref() { > prereq=$1 > shift > esac > - test_expect_success $prereq "ref name '$1' is invalid${2:+ with options $2}" " > + desc="ref name '$1' is invalid${2:+ with options $2}" > + test_expect_success $prereq "$desc" " > test_must_fail git check-ref-format $2 '$1' > " > } -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html