From ced120406f47584eb672f9731d5fee0e62761c0c Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Mon, 16 Feb 2015 17:20:39 +0000 Subject: tests: support stderr verification with returns_() * tests/init.sh (returns_): Disable tracing for this wrapper function, so that stderr of the wrapped command is unchanged, allowing for verification of the contents. --- tests/init.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/init.sh b/tests/init.sh index ac1e1a211..9f403c51d 100755 --- a/tests/init.sh +++ b/tests/init.sh @@ -100,10 +100,18 @@ framework_failure_ () { warn_ "$ME_: set-up failure: $@"; Exit 99; } # instead check an explicit exit code like # returns_ 1 command ... || fail returns_ () { + # Disable tracing so it doesn't interfere with stderr of the wrapped command + { set +x; } 2>/dev/null + local exp_exit="$1" shift "$@" - test $? -eq $exp_exit + test $? -eq $exp_exit && ret_=0 || ret_=1 + + if test "$VERBOSE" = yes && test "$gl_set_x_corrupts_stderr_" = false; then + set -x + fi + { return $ret_; } 2>/dev/null } # Sanitize this shell to POSIX mode, if possible. -- cgit v1.2.3-70-g09d2