]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
coverage: LOG_DRIVER variables can be defined through AC_SUBST
authorStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 11 Oct 2011 11:37:17 +0000 (13:37 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 11 Oct 2011 11:38:02 +0000 (13:38 +0200)
* tests/test-driver-acsubst.test: New test.
* tests/Makefile.am (TESTS): Add it.

ChangeLog
tests/Makefile.am
tests/Makefile.in
tests/test-driver-acsubst.test [new file with mode: 0755]

index b298f85e21650586356fabb7e6cddb884533617a..2dd019a9fb2b75b425f54165f488ae12e02a7009 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-10-11  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       coverage: LOG_DRIVER variables can be defined through AC_SUBST
+       * tests/test-driver-acsubst.test: New test.
+       * tests/Makefile.am (TESTS): Add it.
+
 2011-10-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
 
        parallel-tests: warn on conditional TEST_EXTENSIONS definition
index 35baf9eee1de6d473867c533446fb23691f35da0..9ce328e4def367056c7bad6c70e1ad50aa53a1e3 100644 (file)
@@ -787,6 +787,7 @@ test-driver-strip-vpath.test \
 test-driver-trs-suffix-registered.test \
 test-driver-fail.test \
 test-driver-is-distributed.test \
+test-driver-acsubst.test \
 test-harness-vpath-rewrite.test \
 test-log.test \
 test-metadata-global-log.test \
index 3d7fe7c9ea1c4adf15661061aaa89c3532d5c018..c6cd38a760e1f55239c875f99104da3a2b245dfe 100644 (file)
@@ -1050,6 +1050,7 @@ test-driver-strip-vpath.test \
 test-driver-trs-suffix-registered.test \
 test-driver-fail.test \
 test-driver-is-distributed.test \
+test-driver-acsubst.test \
 test-harness-vpath-rewrite.test \
 test-log.test \
 test-metadata-global-log.test \
diff --git a/tests/test-driver-acsubst.test b/tests/test-driver-acsubst.test
new file mode 100755 (executable)
index 0000000..d5dbe38
--- /dev/null
@@ -0,0 +1,89 @@
+#! /bin/sh
+# Copyright (C) 2011 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/>.
+
+# parallel-tests:
+#  - LOG_DRIVER variables can be AC_SUBST'd
+
+parallel_tests=yes
+. ./defs || Exit 1
+
+mkdir test-drivers
+
+cp "$testsrcdir"/trivial-test-driver test-drivers/triv \
+  || fatal_ "failed to fetch auxiliary script trivial-test-driver"
+# FIXME: better support for installcheck ...
+cp "$top_testsrcdir"/lib/test-driver test-drivers/dflt \
+  || fatal_ "failed to fetch auxiliary script test-driver"
+
+cat >> configure.in <<'END'
+AC_SUBST([LOG_DRIVER],      ['${SHELL} test-drivers/triv'])
+AC_SUBST([TEST_LOG_DRIVER], ['${SHELL} test-drivers/dflt'])
+AC_SUBST([SH_LOG_DRIVER],   ['${my_drv}'])
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+TEST_EXTENSIONS = .test .sh
+my_drv = $(SHELL) test-drivers/dflt
+TESTS = foo bar.test baz.sh
+XFAIL_TESTS = baz.sh
+.PHONY: check-autodefs
+check-autodefs:
+### For debugging.
+       @echo      LOG_DRIVER = $(LOG_DRIVER)
+       @echo TEST_LOG_DRIVER = $(TEST_LOG_DRIVER)
+       @echo   SH_LOG_DRIVER = $(SH_LOG_DRIVER)
+### Checks here.
+       @echo ' ' $(LOG_DRIVER)      ' ' | grep ' test-drivers/triv '
+       @echo ' ' $(TEST_LOG_DRIVER) ' ' | grep ' test-drivers/dflt '
+       @echo ' ' $(SH_LOG_DRIVER)   ' ' | grep ' test-drivers/dflt '
+END
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+
+./configure
+
+cat > foo <<'END'
+#!/bin/sh
+echo "PASS: from $0"
+exit 1 # Exit status should be ignored by the trivial-test-driver.
+END
+
+cat > bar.test <<'END'
+#!/bin/sh
+exit 77
+END
+
+cat > baz.sh <<'END'
+#!/bin/sh
+exit 1
+END
+
+chmod a+x foo bar.test baz.sh
+
+$MAKE check-autodefs
+st=0; $MAKE check >stdout || st=$?
+cat stdout
+cat test-suite.log
+cat foo.log
+cat bar.log
+cat baz.log
+test $st -eq 0 || Exit 1
+count_test_results total=3 pass=1 fail=0 skip=1 xfail=1 xpass=0 error=0
+
+: