+2009-05-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ parallel-tests: avoid GNU make 3.80 substitution bug.
+ * lib/am/check.am [PARALLEL_TESTS] (check-TESTS): Remove any
+ `.log' entries from `$(TEST_LOGS)' even if the list is nonempty,
+ to work around GNU make 3.80 substitution reference issue with
+ trailing white space in the variable.
+ * tests/parallel-tests10.test: New test.
+ * tests/parallel-tests6.test: Update comment.
+ * tests/Makefile.am: Update.
+ * NEWS: Update.
+ Report by Bob Friesenhahn.
+
2009-05-23 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
testsuite: unset installation directory variables.
Bugs fixed in 1.11.0a:
+* Bugs introduced by 1.11:
+
+ - The `parallel-tests' test driver works around a GNU make 3.80 bug with
+ trailing white space in the test list (`TESTS = foo $(EMPTY)').
+
* Long standing bugs:
- On Darwin 9, `pythondir' and `pyexecdir' pointed below `/Library/Python'
check-TESTS:
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set_logs=; if test "X$(TEST_LOGS)" = X.log; then \
- set_logs=TEST_LOGS=; \
- fi; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) $$set_logs
+ @list='$(TEST_LOGS)'; \
+ list=`for f in $$list; do \
+ test .log = $$f || echo $$f; \
+ done | tr '\012\015' ' '`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
.log.html:
@list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \
## cannot use `$?' to compute the set of lazily rerun tests, lest
## we rely on .PHONY to work portably.
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set_logs=; if test "X$(TEST_LOGS)" = X.log; then \
- set_logs=TEST_LOGS=; \
- fi; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) $$set_logs
+ @list='$(TEST_LOGS)'; \
+ list=`for f in $$list; do \
+ test .log = $$f || echo $$f; \
+ done | tr '\012\015' ' '`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
AM_RECURSIVE_TARGETS += check
parallel-tests7.test \
parallel-tests8.test \
parallel-tests9.test \
+parallel-tests10.test \
parse.test \
percent.test \
percent2.test \
parallel-tests7.test \
parallel-tests8.test \
parallel-tests9.test \
+parallel-tests10.test \
parse.test \
percent.test \
percent2.test \
check-TESTS:
@list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
- @set_logs=; if test "X$(TEST_LOGS)" = X.log; then \
- set_logs=TEST_LOGS=; \
- fi; \
- $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) $$set_logs
+ @list='$(TEST_LOGS)'; \
+ list=`for f in $$list; do \
+ test .log = $$f || echo $$f; \
+ done | tr '\012\015' ' '`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
.log.html:
@list='$(RST2HTML) $$RST2HTML rst2html rst2html.py'; \
--- /dev/null
+#! /bin/sh
+# Copyright (C) 2009 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/>.
+
+# Check parallel-tests features:
+# - trailing whitespace in TESTS
+# GNU make 3.80 may expand trailing white space to `.log'.
+
+. ./defs-p || Exit 1
+set -e
+
+cat >> configure.in << 'END'
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+TESTS = foo $(BAR)
+BAR =
+END
+
+cat >foo <<'END'
+#! /bin/sh
+exit 0
+END
+
+chmod +x ./foo
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+$MAKE check
+
+Exit 0
# Check parallel-tests features:
# - empty TESTS
# BSD make will expand `$(TESTS:=.log)' to `.log' unless overridden.
+# See parallel-tests10.test for a similar issue.
. ./defs-p || Exit 1
set -e