automake-patches
[Top][All Lists]
Advanced

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

missing*.test failures on Tru64; 'required=' lines


From: Ralf Wildenhues
Subject: missing*.test failures on Tru64; 'required=' lines
Date: Mon, 8 May 2006 22:17:30 +0200
User-agent: Mutt/1.5.11+cvs20060403

On the testdrive alphaev68-dec-osf5.1b, missing{,2,4}.test were failing
(with native make).  Again, this was fixable by adding some $sleep.
But also it uncovered a buglet in the missing.test: 
  required=GNUmake

was set only after `./defs' was sourced.  I don't know for sure why
missing.test and missing2.test should need GNU make -- but I haven't
encountered any make implementations that genuinely fail those tests,
so I assume they don't.

OK to apply the following patch to add the sleep, remove the
requirements, and make sure such misordering won't happen again?
(The maintainer-check part isn't portable sed, but that isn't necessary
AFAICS.)

FWIW, I did not encounter this on a different Tru64 host.

Cheers,
Ralf

        * tests/missing.test, tests/missing2.test, tests/missing4.test:
        Add some $sleep, for Tru64 make on NFS.
        * tests/missing.test, tests/missing2.test: Do not require
        GNUmake.
        * Makefile.am (maintainer-check): Make sure `required=' does not
        follow `. ./defs' in the tests.

Index: Makefile.am
===================================================================
RCS file: /cvs/automake/automake/Makefile.am,v
retrieving revision 1.242
diff -u -r1.242 Makefile.am
--- Makefile.am 12 Jan 2006 20:11:48 -0000      1.242
+++ Makefile.am 8 May 2006 17:31:19 -0000
@@ -225,6 +225,13 @@
          echo 'Do not run "perl" in the above tests.  Use "$$PERL" instead.' 
1>&2; \
          exit 1; \
        fi
+## Setting `required' after sourcing `./defs' is a bug.
+       @for file in $(srcdir)/tests/*.test; do \
+         if out=`sed -n '/defs/,$${/required=/p;}' $$file`; test -n "$$out"; 
then \
+           echo 'Do not set "required" after sourcing "defs" in '"$$file: 
$$out" 1>&2; \
+           exit 1; \
+         fi; \
+       done
 ## Overriding a Makefile macro on the command line is not portable when
 ## recursive targets are used.  Better use an envvar.  SHELL is an exception,
 ## POSIX says it can't come from the environment.
Index: tests/missing.test
===================================================================
RCS file: /cvs/automake/automake/tests/missing.test,v
retrieving revision 1.3
diff -u -r1.3 missing.test
--- tests/missing.test  14 May 2005 20:28:55 -0000      1.3
+++ tests/missing.test  8 May 2006 17:34:25 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2006  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -22,7 +22,6 @@
 
 . ./defs || exit 1
 
-required=GNUmake
 set -e
 
 cat >>configure.in <<'EOF'
@@ -46,6 +45,7 @@
 $sleep
 # Hopefully the install version of Autoconf cannot compete with this one...
 echo 'AC_PREREQ(9999)' >> aclocal.m4
+$sleep
 $MAKE distdir
 
 # Run again, but without missing, to ensure that timestamps were updated.
Index: tests/missing2.test
===================================================================
RCS file: /cvs/automake/automake/tests/missing2.test,v
retrieving revision 1.3
diff -u -r1.3 missing2.test
--- tests/missing2.test 14 May 2005 20:28:55 -0000      1.3
+++ tests/missing2.test 8 May 2006 17:31:20 -0000
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2006  Free Software Foundation, Inc.
 #
 # This file is part of GNU Automake.
 #
@@ -22,7 +22,6 @@
 
 . ./defs || exit 1
 
-required=GNUmake
 set -e
 
 cat >>configure.in <<'EOF'
@@ -48,6 +47,7 @@
 $sleep
 # Hopefully the install version of Autoconf cannot compete with this one...
 echo 'AC_PREREQ(9999)' > v.m4
+$sleep
 $MAKE distdir
 
 # Run again, but without missing, to ensure that timestamps were updated.
Index: tests/missing4.test
===================================================================
RCS file: /cvs/automake/automake/tests/missing4.test,v
retrieving revision 1.1
diff -u -r1.1 missing4.test
--- tests/missing4.test 21 Apr 2006 19:02:29 -0000      1.1
+++ tests/missing4.test 8 May 2006 17:31:20 -0000
@@ -39,6 +39,7 @@
 cmp aclocal.m4 aclocal.tmp && exit 1
 
 mv aclocal.tmp aclocal.m4
+$sleep
 
 $MAKE 2>stderr
 cat stderr




reply via email to

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