diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-12-24 17:45:18 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-12-24 22:14:51 +0100 |
commit | c7e2fb2e73b2d1b904feef0ed5e87ce05a41c119 (patch) | |
tree | 0f2cf9fa68987c5a74231a3e8c630c62163384f4 /t/parallel-tests-exit-status-reported.sh | |
parent | 526c4b04a699fd62da6bc3915cdb333f0a6ca92d (diff) | |
download | automake-c7e2fb2e73b2d1b904feef0ed5e87ce05a41c119.tar.gz |
testsuite harness: report test exit status in log file
The exit status of a test should be reported in the test logs, so
that one can see at a glance whether the test has succeeded or failed,
without having to look also into the corresponding .trs file.
This fixes automake bug#11814.
* lib/test-driver: Also report the test script exit status in the
test log (as the last line).
* t/check-exit-status-reported.sh: Test this new behaviour.
* t/list-of-tests.mk: Add the new test.
* t/ax/test-lib.sh( am_exit_trap): No longer log the test exit status;
this has been made redundant by the change to 'test-driver'. While at
it, fix an imperfect quoting.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/parallel-tests-exit-status-reported.sh')
-rw-r--r-- | t/parallel-tests-exit-status-reported.sh | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/t/parallel-tests-exit-status-reported.sh b/t/parallel-tests-exit-status-reported.sh new file mode 100644 index 000000000..d40f1f58a --- /dev/null +++ b/t/parallel-tests-exit-status-reported.sh @@ -0,0 +1,68 @@ +#! /bin/sh +# Copyright (C) 2013 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# The exit status of a test should be reported in the test logs, so +# that one can see at a glance whether the test has succeeded or failed, +# without having to look also into the corresponding .trs file. +# See automake bug#11814. + +. test-init.sh + +echo AC_OUTPUT >> configure.ac + +echo XFAIL_TESTS = t3.test t00.test > Makefile.am +echo TESTS = t00.test >> Makefile.am +for s in 0 1 2 3 5 77 78 99 100 126 127; do + echo "TESTS += t${s}.test" >> Makefile.am + cat > t${s}.test <<END +#!/bin/sh +printf "%s\\n%s\\n" 'random' 'will exit with status $s' +exit $s +END +done +cp t0.test t00.test + +chmod a+x *.test + +$ACLOCAL +$AUTOCONF +$AUTOMAKE -a + +./configure +run_make -e FAIL check +ls -l # For debugging. + +match_result () +{ + cat "$1.log" # For debugging. + test $(wc -l <"$1.log") -eq 3 + sed -n '$p' "$1.log" | grep "^$2 $1\\.test (exit status: $3)$" +} + +match_result t0 PASS 0 +match_result t00 XPASS 0 +match_result t1 FAIL 1 +match_result t2 FAIL 2 +match_result t3 XFAIL 3 +match_result t5 FAIL 5 +match_result t77 SKIP 77 +match_result t78 FAIL 78 +match_result t99 ERROR 99 +match_result t100 FAIL 100 +match_result t126 FAIL 126 +match_result t127 FAIL 127 + +: |