test-lib: allow prefixing a custom string before "ok N" etc.

This is not really meant for external use, and thus not documented. It
allows the next commit to neatly distinguish between sub-tests and the
main run.

The format is intentionally not valid TAP.  The use in the next commit
would not result in anything valid either way, and it seems better to
make it obvious.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Thomas Rast 2013-06-23 20:12:58 +02:00 committed by Junio C Hamano
parent 5dfc368f5e
commit e939e15d24

View file

@ -209,6 +209,9 @@ do
--root=*)
root=$(expr "z$1" : 'z[^=]*=\(.*\)')
shift ;;
--statusprefix=*)
statusprefix=$(expr "z$1" : 'z[^=]*=\(.*\)')
shift ;;
*)
echo "error: unknown test option '$1'" >&2; exit 1 ;;
esac
@ -316,12 +319,12 @@ trap 'die' EXIT
test_ok_ () {
test_success=$(($test_success + 1))
say_color "" "ok $test_count - $@"
say_color "" "${statusprefix}ok $test_count - $@"
}
test_failure_ () {
test_failure=$(($test_failure + 1))
say_color error "not ok $test_count - $1"
say_color error "${statusprefix}not ok $test_count - $1"
shift
echo "$@" | sed -e 's/^/# /'
test "$immediate" = "" || { GIT_EXIT_OK=t; exit 1; }
@ -329,12 +332,12 @@ test_failure_ () {
test_known_broken_ok_ () {
test_fixed=$(($test_fixed+1))
say_color error "ok $test_count - $@ # TODO known breakage vanished"
say_color error "${statusprefix}ok $test_count - $@ # TODO known breakage vanished"
}
test_known_broken_failure_ () {
test_broken=$(($test_broken+1))
say_color warn "not ok $test_count - $@ # TODO known breakage"
say_color warn "${statusprefix}not ok $test_count - $@ # TODO known breakage"
}
test_debug () {
@ -458,8 +461,8 @@ test_skip () {
of_prereq=" of $test_prereq"
fi
say_color skip >&3 "skipping test: $@"
say_color skip "ok $test_count # skip $1 (missing $missing_prereq${of_prereq})"
say_color skip >&3 "${statusprefix}skipping test: $@"
say_color skip "${statusprefix}ok $test_count # skip $1 (missing $missing_prereq${of_prereq})"
: true
;;
*)
@ -497,11 +500,11 @@ test_done () {
if test "$test_fixed" != 0
then
say_color error "# $test_fixed known breakage(s) vanished; please update test(s)"
say_color error "${statusprefix}# $test_fixed known breakage(s) vanished; please update test(s)"
fi
if test "$test_broken" != 0
then
say_color warn "# still have $test_broken known breakage(s)"
say_color warn "${statusprefix}# still have $test_broken known breakage(s)"
fi
if test "$test_broken" != 0 || test "$test_fixed" != 0
then
@ -524,9 +527,9 @@ test_done () {
then
if test $test_remaining -gt 0
then
say_color pass "# passed all $msg"
say_color pass "${statusprefix}# passed all $msg"
fi
say "1..$test_count$skip_all"
say "${statusprefix}1..$test_count$skip_all"
fi
test -d "$remove_trash" &&
@ -540,8 +543,8 @@ test_done () {
*)
if test $test_external_has_tap -eq 0
then
say_color error "# failed $test_failure among $msg"
say "1..$test_count"
say_color error "${statusprefix}# failed $test_failure among $msg"
say "${statusprefix}1..$test_count"
fi
exit 1 ;;