automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FYI] distlinksbrk.test: Work around botched "make -k".


From: Stefano Lattarini
Subject: [FYI] distlinksbrk.test: Work around botched "make -k".
Date: Tue, 21 Dec 2010 15:49:49 +0100
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

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  <address@hidden>
+
+       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  <address@hidden>
 
        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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]