summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 4d9d62f)
raw | patch | inline | side by side (parent: 4d9d62f)
author | Pavel Roskin <proski@gnu.org> | |
Thu, 11 Aug 2005 16:00:40 +0000 (12:00 -0400) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Fri, 12 Aug 2005 01:26:16 +0000 (18:26 -0700) |
"return" from a test would leave the exit trap set, which could cause a
spurious error message if it's the last test in the script or
--immediate is used.
The easiest solution would be to have a global trap that is set when
test-lib.sh is sourced and unset either by test_done(), error() or by
test_failure_() with --immediate.
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
spurious error message if it's the last test in the script or
--immediate is used.
The easiest solution would be to have a global trap that is set when
test-lib.sh is sourced and unset either by test_done(), error() or by
test_failure_() with --immediate.
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
t/test-lib.sh | patch | blob | history |
diff --git a/t/test-lib.sh b/t/test-lib.sh
index abcf90323eb408121115e97bb67ba1b3e45a345b..1523d2ebbf1f355fe60ad0d5ef948d24cebc85ad 100755 (executable)
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
error () {
echo "* error: $*"
+ trap - exit
exit 1
}
test_failure=0
test_count=0
+trap 'echo >&5 "FATAL: Unexpected exit with code $?"; exit 1' exit
+
# You are not expected to call test_ok_ and test_failure_ directly, use
# the text_expect_* functions instead.
say "FAIL $test_count: $1"
shift
echo "$@" | sed -e 's/^/ /'
- test "$immediate" = "" || exit 1
+ test "$immediate" = "" || { trap - exit; exit 1; }
}
}
test_run_ () {
- trap 'echo >&5 "FATAL: Unexpected exit with code $?"; exit 1' exit
eval >&3 2>&4 "$1"
eval_ret="$?"
- trap - exit
return 0
}
}
test_done () {
+ trap - exit
case "$test_failure" in
0)
# We could: