[Top][All Lists]
[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
- missing*.test failures on Tru64; 'required=' lines,
Ralf Wildenhues <=