Restoring fd was forgotten in die() implemented in test-lib.sh (so far it did not matter as the only place die was called the standard fd redirections were not in effect). In scripts that include test-lib-common.sh but not test-lib.sh the die() implementation needs to be a bit different due to fd redirection differences. test-lib-common.sh implements die() only if it was not implemented already. --- test/test-lib-common.sh | 6 ++++++ test/test-lib.sh | 1 + 2 files changed, 7 insertions(+) diff --git a/test/test-lib-common.sh b/test/test-lib-common.sh index 4e17b78..f3b00d8 100644 --- a/test/test-lib-common.sh +++ b/test/test-lib-common.sh @@ -17,6 +17,12 @@ # This file contains common code to be used by both the regular # (correctness) tests and the performance tests. +# test-lib.sh defines die() which echoes to nonstandard fd where +# output was redirected earlier in that file. If test-lib.sh is not +# loaded, neither this redirection nor die() function were defined. +# +type die >/dev/null 2>&1 || die () { echo "$@" >&2; exit 1; } + find_notmuch_path () { dir="$1" diff --git a/test/test-lib.sh b/test/test-lib.sh index 2951a8f..b000232 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -252,6 +252,7 @@ die_signal () { die () { _die_common + exec >&6 say_color error '%-6s' FATAL echo " $*" echo -- 2.5.5