From 0d8d11d3383af3e9c38d818d97a04886f3521d58 Mon Sep 17 00:00:00 2001 From: Tomi Ollila Date: Mon, 21 Jan 2013 05:01:46 +0200 Subject: [PATCH] test/test-lib.sh: separate signaled exit When execution of tests is interrupted by signal coming outside of the test system itself, output just one line "interrupted by signal " message to standard output. This distinguishes the case from internal exit and reduces noise. --- test/test-lib.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/test/test-lib.sh b/test/test-lib.sh index 210e2060..ffab1bb5 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -194,9 +194,15 @@ test_fixed=0 test_broken=0 test_success=0 -die () { +_die_common () { code=$? + trap - EXIT + set +ex rm -rf "$TEST_TMPDIR" +} + +die () { + _die_common if test -n "$GIT_EXIT_OK" then exit $code @@ -210,10 +216,17 @@ die () { fi } +die_signal () { + _die_common + echo >&5 "FATAL: $0: interrupted by signal" $((code - 128)) + exit $code +} + GIT_EXIT_OK= # Note: TEST_TMPDIR *NOT* exported! TEST_TMPDIR=$(mktemp -d "${TMPDIR:-/tmp}/notmuch-test-$$.XXXXXX") trap 'die' EXIT +trap 'die_signal' HUP INT TERM test_decode_color () { sed -e 's/.\[1m//g' \