diff options
Diffstat (limited to 't/parallel-tests-empty.sh')
-rw-r--r-- | t/parallel-tests-empty.sh | 63 |
1 files changed, 55 insertions, 8 deletions
diff --git a/t/parallel-tests-empty.sh b/t/parallel-tests-empty.sh index c737def08..fb5d2c5c0 100644 --- a/t/parallel-tests-empty.sh +++ b/t/parallel-tests-empty.sh @@ -14,29 +14,76 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Check parallel-tests features: -# - empty TESTS -# BSD make will expand '$(TESTS:=.log)' to '.log' unless overridden. -# See 'parallel-tests-trailing-whitespace.sh' for a similar issue. +# Check parallel-tests features: empty TESTS . test-init.sh cat >> configure.ac << 'END' +AC_CONFIG_FILES([sub1/Makefile sub2/Makefile]) AC_OUTPUT END cat > Makefile.am << 'END' +SUBDIRS = sub1 sub2 +END + +mkdir sub1 sub2 + +cat > sub1/Makefile.am << 'END' TESTS = +check-local: + echo \ + $(am.test-suite.test-logs) \ + $(am.test-suite.test-results) \ + $(am.test-suite.test-bases) \ + | grep . && exit 1; exit 0 +END + +cat > sub2/Makefile.am << 'END' +TESTS = foo.test END +cat > sub2/foo.test <<'END' +#! /bin/sh +exit 0 +END +chmod a+x sub2/foo.test + $ACLOCAL $AUTOCONF $AUTOMAKE -a -./configure -run_make -O check -for x in TOTAL PASS FAIL XPASS FAIL SKIP ERROR; do - grep "^# $x: *0$" stdout +no_test_run () +{ + run_make -O -- check ${1+"$@"} + ls *.log | grep -v '^test-suite\.log$' | grep . && exit 1 + grep '^# TOTAL: *0$' test-suite.log || exit 1 + for x in TOTAL PASS FAIL XPASS FAIL SKIP ERROR; do + grep "^# $x: *0$" stdout || exit 1 + done + : +} + +for vpath in : false; do + if $vpath; then + mkdir build + cd build + srcdir=.. + else + srcdir=. + fi + $srcdir/configure + cd sub1 + no_test_run + no_test_run VERBOSE=yes + cd ../sub2 + no_test_run TESTS= + no_test_run VERBOSE=yes TESTS=' ' + cd .. + # Sanity check. + $MAKE check + cat sub2/foo.log + cd $srcdir done : |