Save stderr from test output, allow for non-zero exit code from tests.

This commit is contained in:
Eric Hawicz
2026-06-21 13:43:11 -04:00
parent 1d658982e5
commit bb9c1238ad
4 changed files with 20 additions and 9 deletions
+13 -8
View File
@@ -83,10 +83,14 @@ fi
#
run_output_test()
{
EXPECTED_EXITVAL=0
if [ "$1" = "-o" ] ; then
TEST_OUTPUT="$2"
shift
shift
shift 2
fi
if [ "$1" = "--exit" ] ; then
EXPECTED_EXITVAL="$2"
shift 2
fi
TEST_COMMAND="$1"
shift
@@ -94,9 +98,9 @@ run_output_test()
TEST_OUTPUT=${TEST_COMMAND}
fi
REDIR_OUTPUT="> \"${TEST_OUTPUT}.out\""
REDIR_OUTPUT="> \"${TEST_OUTPUT}.out\" 2>&1"
if [ $VERBOSE -gt 1 ] ; then
REDIR_OUTPUT="| tee \"${TEST_OUTPUT}.out\""
REDIR_OUTPUT="2>&1 | tee \"${TEST_OUTPUT}.out\""
fi
if [ $use_valgrind -eq 1 ] ; then
@@ -108,15 +112,16 @@ run_output_test()
--show-reachable=yes \
--run-libc-freeres=yes \
"\"${top_builddir}/${TEST_COMMAND}\"" \"\$@\" ${REDIR_OUTPUT}
err=$?
exitval=$?
else
eval "\"${top_builddir}/${TEST_COMMAND}"\" \"\$@\" ${REDIR_OUTPUT}
err=$?
exitval=$?
fi
if [ $err -ne 0 ] ; then
echo "ERROR: \"${TEST_COMMAND} $@\" exited with non-zero exit status: $err" 1>&2
if [ $exitval -ne $EXPECTED_EXITVAL ] ; then
echo "ERROR: \"${TEST_COMMAND} $@\" exited with incorrect exit status: $err != $EXPECTED_EXITVAL" 1>&2
err=1
fi
if [ $use_valgrind -eq 1 ] ; then