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 2>&1 || : # 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 2>&1 && { cat out; Exit 1; } + cat out + $FGREP $lnk out +done : -- 1.7.1