I've applied the patch below to a temporary bug-fixing branch, merged
it to maint, merged maint to master, and pushed. The testcase still
works with GNU make, FreeBSD make and Solaris make, but I couldn't
test if it really fixes the problem with HP-UX make and IRIX make.
Regards,
Stefano
-*-*-*-
distlinksbrk.test: Work around botched make -k.
* tests/distlinksbrk.test: Run make multiple times and grep
its output each time for a single error message, rather than
running make -k one single time and grepping its output for
all the expected error messages. This should work around make
implementations with limited (broken?) `-k' support; for more
information, see these subthreads on the automake-patches list:
- 2010-11-15, Testsuite failures on HP-UX 11.23,
http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html
- 2010-11-15, Testsuite failures on IRIX 6.5,
http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html
---
ChangeLog | 14 ++
tests/distlinksbrk.test | 31 +--
2 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index cd301e3..cc6b22a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2010-12-22 Stefano Lattarini stefano.lattar...@gmail.com
+
+ distlinksbrk.test: Work around botched make -k.
+ * tests/distlinksbrk.test: Run make multiple times and grep
+ its output each time for a single error message, rather than
+ running make -k one single time and grepping its output for
+ all the expected error messages. This should work around make
+ implementations with limited (broken?) `-k' support; for more
+ information, see these subthreads on the automake-patches list:
+ - 2010-11-15, Testsuite failures on HP-UX 11.23,
+
http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00162.html
+ - 2010-11-15, Testsuite failures on IRIX 6.5,
+
http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html
+
2010-06-21 Stefano Lattarini stefano.lattar...@gmail.com
Add a test checking that distributed broken symlinks cause
diff --git a/tests/distlinksbrk.test b/tests/distlinksbrk.test
index 1e478ab..2314408 100755
--- a/tests/distlinksbrk.test
+++ b/tests/distlinksbrk.test
@@ -49,30 +49,25 @@ test -h $lnk2
test -h $lnka
test -h $lnkb
-cat configure.in END
+cat configure.in 'END'
AC_OUTPUT
END
-cat Makefile.am END
-EXTRA_DIST = $lnk1 $lnk2 $lnka $lnkb
-END
-
-ls -l
-
$ACLOCAL
$AUTOCONF
-$AUTOMAKE
-./configure
-# Distribution must fail.
-$MAKE distdir Exit 1
+ls -l # for debugging
-# Names of distributed broken symlinks should be reported in make output.
-$MAKE -k distdir out 21 || : # don't trust the exit status of make -k
-cat out
-$FGREP $lnk1 out
-$FGREP $lnk2 out
-$FGREP $lnka out
-$FGREP $lnkb out
+# Don't try to use make -k, because some botched make implementations
+# (HP-UX, IRIX) might still exit on the first error in this situations.
+for lnk in $lnk1 $lnk2 $lnka $lnkb; do
+ echo EXTRA_DIST = $lnk Makefile.am
+ $AUTOMAKE
+ ./configure
+ # Distribution must fail, with a decent error message.
+ $MAKE distdir out 21 { cat out; Exit 1; }
+ cat out
+ $FGREP $lnk out
+done
:
--
1.7.1