automake-patches
[Top][All Lists]
Advanced

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

[FYI] Fix two spurious testsuite failures on IRIX 6.5 (was: Re: Testsuit


From: Stefano Lattarini
Subject: [FYI] Fix two spurious testsuite failures on IRIX 6.5 (was: Re: Testsuite failures on IRIX 6.5)
Date: Wed, 22 Dec 2010 11:22:37 +0100
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

Reference:
 <http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00166.html>

> -*-*-*-
> 
> > FAIL: parallel-tests8.test (exit: 1)
> > ====================================
> > 
> > /tmp/am/build-mips-sgi-irix6.5/tests:/tmp/local/mips-sgi-irix6.5/bi
> > n:/tmp/bin:/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc:/usr/bin/X11
> > :/usr/bsd + pwd
> > /tmp/am/build-mips-sgi-irix6.5/tests/parallel-tests8.dir
> > + set -e
> > + cat
> > + 1>> configure.in 0< /tmp/sh965576.1
> > + cat
> > + 1> Makefile.am 0< /tmp/sh965576.2
> > + cat
> > + 1>> foo.in 0< /tmp/sh965576.3
> > + aclocal-1.11a -Werror
> > + autoconf
> > + AUTOMAKE_fails -a
> > Makefile.am:1: error: parallel-tests: using `$(srcdir)' in TESTS is
> > currently broken: `$(srcdir)/bar.test' Makefile.am:1: error:
> > parallel-tests: using `$(top_srcdir)' in TESTS is currently
> > broken: `$(top_srcdir)/baz.test' + grep (srcdir.*bar stderr
> > Makefile.am:1: error: parallel-tests: using `$(srcdir)' in TESTS is
> > currently broken: `$(srcdir)/bar.test' + grep top_srcdir.*baz
> > stderr
> > Makefile.am:1: error: parallel-tests: using `$(top_srcdir)' in
> > TESTS is currently broken: `$(top_srcdir)/baz.test' + sed
> > /srcdir/d
> > + 0< Makefile.am 1> t
> > + mv -f t Makefile.am
> > + automake-1.11a --foreign -Werror -Wall -a
> > + ./configure
> > checking for a BSD-compatible install... ./install-sh -c
> > checking whether build environment is sane... yes
> > checking for a thread-safe mkdir -p... ./install-sh -c -d
> > checking for gawk... no
> > checking for mawk... no
> > checking for nawk... nawk
> > checking whether make sets $(MAKE)... yes
> > checking that generated files are newer than configure... done
> > configure: creating ./config.status
> > config.status: creating Makefile
> > + make check
> > 
> >         make  foo.test
> >         cp foo.in foo.test
> >         chmod +x foo.test
> >         make  check-TESTS
> > 
> > PASS: foo.test
> > =============
> > 1 test passed
> > =============
> [MEGA-CUT]
> > + mkdir build
> > + cd build
> > + ../configure
> > checking for a BSD-compatible install... ../install-sh -c
> > checking whether build environment is sane... yes
> > checking for a thread-safe mkdir -p... ../install-sh -c -d
> > checking for gawk... no
> > checking for mawk... no
> > checking for nawk... nawk
> > checking whether make sets $(MAKE)... yes
> > checking that generated files are newer than configure... done
> > configure: creating ./config.status
> > config.status: creating Makefile
> > + make check
> > 
> >         make  foo.test
> >         cp foo.in foo.test
> > 
> > UX:cp: ERROR: foo.in - No such file or directory
>
Probably another VPATH-related issue, due to the following rule in the
generated Makefile.am:
   .in.test:
       cp $< $@
       chmod +x $@
 This sounds like a testsuite weakness; maybe fixing the rule above to
 read:
   .in.test:
       ## account for VPATH issues on weaker make implementations
       cp `test -f $< || echo $(srcdir)/`$< $@
       chmod +x $@
 should be enough.
 

> > FAIL: suffix13.test (exit: 1)
> > =============================
> > 
> > /tmp/am/build-mips-sgi-irix6.5/tests:/tmp/local/mips-sgi-irix6.5/bi
> > n:/tmp/bin:/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc:/usr/bin/X11
> > :/usr/bsd + pwd
> > /tmp/am/build-mips-sgi-irix6.5/tests/suffix13.dir
> > + set -e
> > + cat
> > + 1>> configure.in 0< /tmp/sh1027203.1
> > + cat
> > + 1> Makefile.am 0< /tmp/sh1027203.2
> > + mkdir sub
> > + cat
> > + 1> sub/bar.baz 0< /tmp/sh1027203.3
> > + cat
> > + 1> foo.c 0< /tmp/sh1027203.4
> > + aclocal-1.11a -Werror
> > + autoconf
> > + automake-1.11a --foreign -Werror -Wall -a
> > configure.in:5: installing `./compile'
> > + ./configure
> [BIG-CUT]
> > + make distcheck
> [CUT]
> > checking for a BSD-compatible install... ../install-sh -c
> > checking whether build environment is sane... yes
> > checking for a thread-safe mkdir -p... ../install-sh -c -d
> > checking for gawk... no
> > checking for mawk... no
> > checking for nawk... nawk
> > checking whether make sets $(MAKE)... yes
> > checking for gcc... no
> > checking for cc... cc
> > checking for C compiler default output file name... a.out
> > checking whether the C compiler works... yes
> > checking whether we are cross compiling... no
> > checking for suffix of executables...
> > checking for suffix of object files... o
> > checking whether we are using the GNU C compiler... no
> > checking whether cc accepts -g... yes
> > checking for cc option to accept ISO C89... none needed
> > checking for style of include used by make... GNU
> > checking dependency style of cc... sgi
> > checking whether cc understands -c and -o together... yes
> > checking that generated files are newer than configure... done
> > configure: creating ./config.status
> > config.status: creating Makefile
> > config.status: executing depfiles commands
> > 
> >         source='foo.c' object='foo-foo.o' libtool=no \
> >         DEPDIR=.deps depmode=sgi /bin/sh ../depcomp \
> >         cc -DPACKAGE_NAME=\"suffix13\" -DPACKAGE_TARNAME=\"suffix13\" \
> >            -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"suffix13\ 1.0\" \
> >            -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\"  \
> >            -DPACKAGE=\"suffix13\" -DVERSION=\"1.0\" -I. -I.. -g
> >            -c -o foo-foo.o `test -f 'foo.c' || echo '../'`foo.c
> >         case sub/bar.c in sub/*) ../install-sh -c -d sub;; *) :;; esac
> >         cp sub/bar.baz sub/bar.c
> > 
> > UX:cp: ERROR: sub/bar.baz - No such file or directory
> > *** Error code 2 (bu21)
> 
Probably another VPATH-related issue, due to the following rule in the
generated Makefile.am:
   .baz.c:
     case $@ in sub/*) $(MKDIR_P) sub;; *) :;; esac
     cp $< $@
  This sounds like a testsuite weakness; maybe fixing the rule above to
 read:
   .baz.c:
       case $@ in sub/*) $(MKDIR_P) sub;; *) :;; esac
       ## account for VPATH issues on weaker make implementations
       cp `test -f $< || echo $(srcdir)/`$< $@
 should be enough.
 
-*-*-*-

I've now pushed the attached patch to maint.  I've tested it with GNU make,
FreeBSD make, NetBSD make, and Solaris make, and it caused no regression.
I'm not sure if the patch really solves the problems above, though, since
I have no access to an IRIX machine to test it on.  If anyone can do proper
testing, I'd like to know what the results are.

Regards,
   Stefano
From 9552ab180a2ecbccd8a2439ad860838a497315aa Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <address@hidden>
Date: Tue, 16 Nov 2010 22:28:26 +0100
Subject: [PATCH] Fix two spurious testsuite failures on IRIX 6.5.

* tests/suffix13.test (Makefile.am): Account for VPATH issues on
weaker make implementations (e.g. IRIX 6.5).
* tests/parallel-tests8.test: Likewise, plus a required related
change.

Reported by Ralf Wildenhues.  The bugs have been there from the
first versions of the affected test scripts.
---
 ChangeLog                  |   10 ++++++++++
 tests/parallel-tests8.test |    5 +++--
 tests/suffix13.test        |    3 ++-
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ad51571..84b9d8d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2010-12-22  Stefano Lattarini  <address@hidden>
 
+       Fix two spurious testsuite failures on IRIX 6.5.
+       * tests/suffix13.test (Makefile.am): Account for VPATH issues on
+       weaker make implementations (e.g. IRIX 6.5).
+       * tests/parallel-tests8.test: Likewise, plus a required related
+       change.
+       Reported by Ralf Wildenhues.  The bugs have been there from the
+       first versions of the affected test scripts.
+
+2010-12-22  Stefano Lattarini  <address@hidden>
+
        docs: cygnus mode doesn't require AM_CYGWIN32 macro.
        * doc/automake.texi (Cygnus): Mode 'cygnus' does not require
        the AM_CYGWIN32 macro (and indeed hasn't required it since at
diff --git a/tests/parallel-tests8.test b/tests/parallel-tests8.test
index 784e07f..43e67df 100755
--- a/tests/parallel-tests8.test
+++ b/tests/parallel-tests8.test
@@ -38,7 +38,8 @@ TESTS = foo.test
 ## the next line will cause automake to error out:
 TESTS += $(srcdir)/bar.test $(top_srcdir)/baz.test
 .in.test:
-       cp $< $@
+## Account for VPATH issues on weaker make implementations (e.g. IRIX 6.5)
+       cp `test -f $< || echo $(srcdir)/`$< $@
        chmod +x $@
 check_SCRIPTS = $(TESTS)
 EXTRA_DIST = foo.in foo.test
@@ -57,7 +58,7 @@ AUTOMAKE_fails -a
 grep '(srcdir.*bar' stderr
 grep 'top_srcdir.*baz' stderr
 
-sed '/srcdir/d' < Makefile.am > t
+sed '/^TESTS +=.*srcdir/d' < Makefile.am > t
 mv -f t Makefile.am
 $AUTOMAKE -a
 
diff --git a/tests/suffix13.test b/tests/suffix13.test
index 2b39460..aa5a3ed 100755
--- a/tests/suffix13.test
+++ b/tests/suffix13.test
@@ -38,7 +38,8 @@ AUTOMAKE_OPTIONS = subdir-objects
 SUFFIXES = .baz .c
 .baz.c:
        case $@ in sub/*) $(MKDIR_P) sub;; *) :;; esac
-       cp $< $@
+## Account for VPATH issues on weaker make implementations (e.g. IRIX 6.5)
+       cp `test -f $< || echo $(srcdir)/`$< $@
 
 DISTCLEANFILES = sub/bar.c
 
-- 
1.7.1


reply via email to

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