test-lib.sh: Add check for invalid use of 'skip_all' facility

The 'skip_all' facility cannot be used after one or more tests
have been executed using (for example) 'test_expect_success'.
To do so results in invalid TAP output, which leads to 'prove'
complaining of "Parse errors: No plan found in TAP output".

Add a check for such invalid usage and abort the test with an
error message to alert the test author.

Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ramsay Jones 2012-09-01 19:13:19 +01:00 committed by Junio C Hamano
parent 1c0cc7563b
commit bf4b721932

View File

@ -383,6 +383,10 @@ test_done () {
case "$test_failure" in case "$test_failure" in
0) 0)
# Maybe print SKIP message # Maybe print SKIP message
if test -n "$skip_all" && test $test_count -gt 0
then
error "Can't use skip_all after running some tests"
fi
[ -z "$skip_all" ] || skip_all=" # SKIP $skip_all" [ -z "$skip_all" ] || skip_all=" # SKIP $skip_all"
if test $test_external_has_tap -eq 0 if test $test_external_has_tap -eq 0