test: allow skipping the remainder
Because TAP output does not like to see the remainder of the test
getting skipped after running one or more tests, bf4b7219
("test-lib.sh: Add check for invalid use of 'skip_all' facility",
2012-09-01) made sure that test_done errors out when this happens.
Instead, loosen the check so that we only pretend that the rest of
the test script did not exist in such a case. We'd lose a bit of
information (i.e. TAP does not notice that we are skipping some
tests), but not very much (i.e. TAP wasn't told how many tests are
skipped anyway).
This will allow inclusion of lib-httpd.sh in the middle of a test,
which will skip the remainder of the test scripts when tests that
involve web server are declined with GIT_TEST_HTTPD=false, for
example.
Acked-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b06d364310
commit
c7018be509
@ -745,20 +745,25 @@ test_done () {
|
||||
fi
|
||||
case "$test_failure" in
|
||||
0)
|
||||
# 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
|
||||
test -z "$skip_all" || skip_all=" # SKIP $skip_all"
|
||||
|
||||
if test $test_external_has_tap -eq 0
|
||||
then
|
||||
if test $test_remaining -gt 0
|
||||
then
|
||||
say_color pass "# passed all $msg"
|
||||
fi
|
||||
say "1..$test_count$skip_all"
|
||||
|
||||
# Maybe print SKIP message
|
||||
test -z "$skip_all" || skip_all="# SKIP $skip_all"
|
||||
case "$test_count" in
|
||||
0)
|
||||
say "1..$test_count${skip_all:+ $skip_all}"
|
||||
;;
|
||||
*)
|
||||
test -z "$skip_all" ||
|
||||
say_color warn "$skip_all"
|
||||
say "1..$test_count"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
test -d "$remove_trash" &&
|
||||
|
Loading…
Reference in New Issue
Block a user