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().

Signed-off-by: Rene Scharfe <rene.scha...@lsrfire.ath.cx>
---
 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'
        "
 }
-- 
1.7.12

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to