зеркало из https://github.com/microsoft/git.git
t1402: work around shell quoting issue on NetBSD
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.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
4208fa5ce4
Коммит
283b365e45
|
@ -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'
|
||||
"
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче