summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-05-19 20:17:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-05-19 20:17:55 (GMT)
commit072f391c53cb6845777f01db03d9b06c33ac87e3 (patch)
treeaf49cb7b3b15a1c715f6059b60bb6f7a8559cd89
parent7a4f891329527826e6f1c80be2b77cfbfee06190 (diff)
parentd93d5d51e3d104f4466f2081dd45b9670dc28744 (diff)
downloadgit-072f391c53cb6845777f01db03d9b06c33ac87e3.zip
git-072f391c53cb6845777f01db03d9b06c33ac87e3.tar.gz
git-072f391c53cb6845777f01db03d9b06c33ac87e3.tar.bz2
Merge branch 'jc/test-prereq-validate'
Help us to find broken test script that splits the body part of the test by mistaken use of wrong kind of quotes. * jc/test-prereq-validate: test: validate prerequistes syntax
-rw-r--r--t/test-lib-functions.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 8f8858a..e8d3c0f 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -348,11 +348,18 @@ test_declared_prereq () {
return 1
}
+test_verify_prereq () {
+ test -z "$test_prereq" ||
+ expr >/dev/null "$test_prereq" : '[A-Z0-9_,!]*$' ||
+ error "bug in the test script: '$test_prereq' does not look like a prereq"
+}
+
test_expect_failure () {
test_start_
test "$#" = 3 && { test_prereq=$1; shift; } || test_prereq=
test "$#" = 2 ||
error "bug in the test script: not 2 or 3 parameters to test-expect-failure"
+ test_verify_prereq
export test_prereq
if ! test_skip "$@"
then
@@ -372,6 +379,7 @@ test_expect_success () {
test "$#" = 3 && { test_prereq=$1; shift; } || test_prereq=
test "$#" = 2 ||
error "bug in the test script: not 2 or 3 parameters to test-expect-success"
+ test_verify_prereq
export test_prereq
if ! test_skip "$@"
then
@@ -400,6 +408,7 @@ test_external () {
error >&5 "bug in the test script: not 3 or 4 parameters to test_external"
descr="$1"
shift
+ test_verify_prereq
export test_prereq
if ! test_skip "$descr" "$@"
then