automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-1084


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-1084-g9579333
Date: Thu, 20 Oct 2011 21:29:53 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=9579333e603ae57a6b8210f828147cccd53d9276

The branch, master has been updated
       via  9579333e603ae57a6b8210f828147cccd53d9276 (commit)
       via  d2b90968332e5903a1408d49ec967602e499363d (commit)
       via  7cb64d4f6501319acc6984adb3589f60f6e047e9 (commit)
       via  65c015849f02bec4b7c106758be71db12f602d73 (commit)
       via  100e97400a06c0f9af0ea7be99aa60be95c624bf (commit)
       via  f8f8ec0e6c0dbcaa458e48efa7b5c64960e528bd (commit)
       via  d91f357d9841d2da2fe7538bbcff73bcca94435a (commit)
       via  f5b69b8a0d787cf798653fdb975affa9e7ff44b8 (commit)
       via  7e5ae808d830c9319a4dd3d357b10dcf4315f529 (commit)
      from  367df29afd3c875da003fb1cd927e3b2f8ae2197 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                               |   48 +++++++++++++++
 tests/Makefile.am                       |    1 +
 tests/Makefile.in                       |    1 +
 tests/aclocal-path-install-serial.test  |    4 +-
 tests/distcheck-missing-m4.test         |   15 ++++-
 tests/distcheck-outdated-m4.test        |   16 ++++--
 tests/parallel-tests3.test              |   19 ++++--
 tests/{subpkg.test => subpkg-yacc.test} |  101 +++++++++++++++++++------------
 tests/subpkg.test                       |   28 ++-------
 tests/uninstall-fail.test               |    5 +-
 10 files changed, 160 insertions(+), 78 deletions(-)
 copy tests/{subpkg.test => subpkg-yacc.test} (50%)

diff --git a/ChangeLog b/ChangeLog
index fcf64d5..8dea9eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,51 @@
+2011-10-18  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failure with FreeBSD make and Yacc in VPATH
+       * tests/subpkg.test: Some cosmetic adjustments.  Move the tests
+       checking that $(YLWRAP) is defined and installed properly when
+       ylwrap is in a default auxdir found in a parent package ...
+       * tests/subpkg-yacc.test: ... into this new test, which carefully
+       avoids to trigger the known bug#7884 (combo FreeBSD make plus Yacc
+       plus VPATH build).
+       * tests/Makefile.am (TESTS): Update.
+
+2011-10-18  Stefano Lattarini  <address@hidden>
+
+       tests: avoid spurious failure in 'parallel-tests3.test'
+       This fixes automake bug#8788.
+       * tests/parallel-tests3.test: To ensure that the serial run of
+       the dummy testsuite is still ongoing when the parallel run has
+       terminated, use `kill -0', not a bare `kill'.  This will prevent
+       a testsuite crash on NetBSD 5.1, and a testsuite hang on FreeBSD
+       8.2.  Also, since we are at it, try harder to avoid possible
+       hangs of the script in other unusual situations.
+
+2011-10-20  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failures with "chatty" make implementations
+       * tests/distcheck-missing-m4.test: On failure, some make
+       implementations (such as Solaris make) print the whole failed
+       recipe on standard output.  This was causing a spurious failure
+       in the checks grepping the output from make.  Work around this.
+       * tests/distcheck-outdated-m4.test: Likewise.
+
+2011-10-20  Stefano Lattarini  <address@hidden>
+
+       tests: fix spurious failure on fast machines
+       * tests/aclocal-path-precedence.test: Also remove the `configure'
+       script between different test runs, to ensure it is always remade
+       by autoconf.  Add proper explicative comments.
+
+2011-10-20  Stefano Lattarini  <address@hidden>
+
+       tests: avoid spurious failure of 'uninstall-fail.test' on Solaris
+       * tests/uninstall-fail.test: All the Solaris 10 shells (/bin/sh,
+       /bin/ksh, and /usr/xpg4/bin/sh), upon failing to chdir to a
+       directory with the `cd' builtin, print a message like:
+         "sh: /root: permission denied"
+       which doesn't report the `cd' builtin anywhere.  Relax the grepping
+       of the error message accordingly.
+
 2011-10-20  Jim Meyering  <address@hidden>
 
        tests: fix aclocal-print-acdir.test
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 6b14a30..1c540a7 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -968,6 +968,7 @@ subpkg.test \
 subpkg2.test \
 subpkg3.test \
 subpkg4.test \
+subpkg-yacc.test \
 subst.test \
 subst2.test \
 subst3.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 2bc73d7..c49f4fc 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1244,6 +1244,7 @@ subpkg.test \
 subpkg2.test \
 subpkg3.test \
 subpkg4.test \
+subpkg-yacc.test \
 subst.test \
 subst2.test \
 subst3.test \
diff --git a/tests/aclocal-path-install-serial.test 
b/tests/aclocal-path-install-serial.test
index 15b4204..511ccee 100755
--- a/tests/aclocal-path-install-serial.test
+++ b/tests/aclocal-path-install-serial.test
@@ -45,7 +45,9 @@ win ()
     pdir) ok=pdir ko=sdir;;
        *) fatal_ "win(): invalud argument \`$1'";;
   esac
-  rm -rf aclocal.m4 autom4te*.cache m4/*
+  # This is required on fast machine, to avoid caching and timestamp
+  # issues with the autotools (already happened in practice).
+  rm -rf configure aclocal.m4 autom4te*.cache m4/*
   $ACLOCAL -I m4 --install
   test -f m4/foo.m4 # Sanity check.
   $AUTOCONF
diff --git a/tests/distcheck-missing-m4.test b/tests/distcheck-missing-m4.test
index 1a2b62f..1d42748 100755
--- a/tests/distcheck-missing-m4.test
+++ b/tests/distcheck-missing-m4.test
@@ -65,6 +65,15 @@ $AUTOCONF
 $EGREP 'MY_(FOO|BAR|BAZ|ZAR)' configure && Exit 1 # Sanity check.
 $AUTOMAKE
 
+check_no_spurious_error ()
+{
+  $EGREP -i 'mkdir:|:.*(permission|denied)' output && Exit 1
+  # On failure, some make implementations (such as Solaris make) print the
+  # whole failed recipe on stdout.  The first grep works around this.
+  grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && Exit 1
+  : # To placate `set -e'.
+}
+
 ./configure
 
 $MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
@@ -72,8 +81,7 @@ cat output
 for x in bar baz zar; do
   $EGREP "required m4 file.*not distributed.* $x.m4( |$)" output
 done
-# Check that we don't fail for spurious errors.
-$EGREP -i 'mkdir:|autom4te.*\.cache|:.*(permission|denied)' output && Exit 1
+check_no_spurious_error
 
 # Now we use `--install', and "make distcheck" should pass.
 $ACLOCAL -I m4 --install
@@ -98,8 +106,7 @@ $MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
 cat output
 $EGREP "required m4 file.*not distributed.* qux.m4( |$)" output
 $EGREP "required m4 file.*not distributed.* bla.m4( |$)" output
-# Check that we don't fail for spurious errors.
-$EGREP -i 'mkdir:|autom4te.*\.cache|permission|denied' output && Exit 1
+check_no_spurious_error
 # Check that we don't complain for files that should have been found.
 $FGREP " (bar|baz|zar).m4" output && Exit 1
 
diff --git a/tests/distcheck-outdated-m4.test b/tests/distcheck-outdated-m4.test
index 7a3ade8..e3f265e 100755
--- a/tests/distcheck-outdated-m4.test
+++ b/tests/distcheck-outdated-m4.test
@@ -59,6 +59,15 @@ $AUTOMAKE
 ./configure
 $MAKE distcheck # Sanity check.
 
+check_no_spurious_error ()
+{
+  $EGREP -i 'mkdir:|:.*(permission|denied)' output && Exit 1
+  # On failure, some make implementations (such as Solaris make) print the
+  # whole failed recipe on stdout.  The first grep works around this.
+  grep -v 'rm -rf ' output | grep -i 'autom4te.*\.cache' && Exit 1
+  : # To placate `set -e'.
+}
+
 # We start to use a new "third-party" macro in a new version
 # of a pre-existing third-party m4 file, but forget to re-run
 # "aclocal --install" by hand, relying on automatic remake
@@ -76,8 +85,7 @@ $MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
 cat output
 
 $EGREP "required m4 file.* outdated.* baz.m4( |$)" output
-# Check that we don't fail for spurious errors.
-$EGREP -i 'mkdir:|autom4te.*\.cache|permission|denied' output && Exit 1
+check_no_spurious_error
 # Check that we don't complain for files that aren't outdated.
 $EGREP " (foo|bar).m4" output && Exit 1
 
@@ -117,10 +125,8 @@ END
 $MAKE # Rebuild configure and makefiles.
 $MAKE distcheck >output 2>&1 && { cat output; Exit 1; }
 cat output
-
 $EGREP "required m4 file.* outdated.* fnord.m4( |$)" output
-# Check that we don't fail for spurious errors.
-$EGREP -i 'mkdir:|autom4te.*\.cache|permission|denied' output && Exit 1
+check_no_spurious_error
 # Check that we don't complain for files that aren't outdated.
 $EGREP " (foo|bar|baz).m4" output && Exit 1
 
diff --git a/tests/parallel-tests3.test b/tests/parallel-tests3.test
index 9f0ce42..14839a9 100755
--- a/tests/parallel-tests3.test
+++ b/tests/parallel-tests3.test
@@ -68,15 +68,22 @@ $sleep
 : >stdout
 $MAKE -j4 check >> stdout
 cd ..
-kill $!
+# Ensure the tests are really being run in parallel mode: if this is
+# the case, the serial run of the dummy testsuite started above should
+# still be ongoing when the parallel one has terminated.
+kill -0 $!
 cat parallel/stdout
 test `grep -c PASS parallel/stdout` -eq 8
 
-# Wait long enough so that there are no open files any more
-# when the post-test cleanup runs.
-while test ! -f serial/test-suite.log
-do
-  $sleep
+# Wait long enough so that there are no open files any more when the
+# post-test cleanup runs.  But exit after we've waited for two minutes
+# or more, to avoid testsuite hangs in unusual situations (this has
+# already happened).
+i=1
+while test ! -f serial/test-suite.log && test $i -le 120; do
+  i=`expr $i + 1`
+  sleep '1' # Extra quoting to please maintainer-check.
 done
 $sleep
+
 :
diff --git a/tests/subpkg.test b/tests/subpkg-yacc.test
similarity index 50%
copy from tests/subpkg.test
copy to tests/subpkg-yacc.test
index 481cbb4..ee8af66 100755
--- a/tests/subpkg.test
+++ b/tests/subpkg-yacc.test
@@ -15,47 +15,33 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check subpackage handling.
+# Check that ylwrap is installed properly, and $(YLWRAP) us defined
+# properly, when a subpackage is involved.
 
-required='gcc yacc'
+required='cc yacc'
 . ./defs || Exit 1
 
-mkdir m4
-
-cat >m4/foo.m4 <<'EOF'
-AC_DEFUN([FOO],[
-  AC_PROG_CC
-  AC_OUTPUT
-])
-EOF
+set -e
 
 cat >>configure.in <<'END'
+AC_PROG_CC
 AC_CONFIG_SUBDIRS([lib])
-FOO
+AC_OUTPUT
 END
 
 cat >Makefile.am <<'EOF'
 SUBDIRS = lib
-# Yes, This program is named LDADD.  So what?
-bin_PROGRAMS = LDADD
-LDADD_LDADD = lib/liblib.a
-
+bin_PROGRAMS = MU
+MU_LDADD = lib/liblib.a
 # It's ok to override distdir.
 distdir = subpack-1
-
-# Make sure $(distdir) and $(top_distdir) work as expected.
-dist-hook:
-       test -f $(distdir)/LDADD.c
-       test -f $(top_distdir)/LDADD.c
-
-ACLOCAL_AMFLAGS = -I m4
+# Remove a file created by rules in subdir lib.
+CLEANFILES = lib-dist-hook-has-run
 EOF
 
-cat >LDADD.c <<'EOF'
-int lib ();
-
-int
-main ()
+cat >MU.c <<'EOF'
+int lib (void);
+int main (void)
 {
   return lib ();
 }
@@ -69,9 +55,11 @@ AC_INIT([lib], [2.3])
 AM_INIT_AUTOMAKE
 AC_PROG_RANLIB
 AC_PROG_YACC
+dnl This comes after YACC and RANLIB checks, deliberately.
+AC_PROG_CC
 AC_CONFIG_HEADERS([config.h:config.hin])
 AC_CONFIG_FILES([Makefile])
-FOO
+AC_OUTPUT
 EOF
 
 cat >lib/Makefile.am <<'EOF'
@@ -80,18 +68,28 @@ liblib_a_SOURCES = src/x.c foo.y
 EXTRA_liblib_a_SOURCES = bar.y
 
 dist-hook:
-       test ! -f $(distdir)/LDADD.c
-       test -f $(top_distdir)/LDADD.c
+       test -d $(top_distdir)
+       test -d $(distdir)
+       find $(top_distdir) $(distdir) ;: For debugging.
+       test -f $(top_distdir)/MU.c
+       test ! -f $(distdir)/MU.c
+       for suf in y c; do \
+         for name in foo bar; do \
+           test -f $(distdir)/$$name.$$suf || exit 1; \
+           test ! -f $(top_distdir)/$$name.$$suf || exit 1; \
+         done; \
+       done
+       test -f $(distdir)/foo.y
+       test ! -f $(top_distdir)/foo.y
        test -f $(distdir)/src/x.c
        test ! -f $(top_distdir)/src/x.c
        test -f $(YLWRAP)
-
-ACLOCAL_AMFLAGS = -I ../m4
+       : > $(top_builddir)/../lib-dist-hook-has-run
 EOF
 
 cat > lib/foo.y << 'END'
 %{
-int yylex () {return 0;}
+int yylex (void) { return 0; }
 void yyerror (char *s) {}
 %}
 %%
@@ -102,26 +100,51 @@ cp lib/foo.y lib/bar.y
 
 cat >lib/src/x.c <<'EOF'
 #include <config.h>
-int lib ()
+int lib (void)
 {
   return 0;
 }
 EOF
 
-$ACLOCAL -I m4
+$ACLOCAL
 $AUTOCONF
 $AUTOMAKE -Wno-override
 
 cd lib
-$ACLOCAL -I ../m4
-$FGREP 'm4_include([../m4/foo.m4])' aclocal.m4
+$ACLOCAL
 $AUTOCONF
 $AUTOHEADER
 $AUTOMAKE -Wno-override --add-missing
 cd ..
 
+# Some checks here are slightly more tricky than we'd like, but we cannot
+# simply use "make distcheck", to avoid triggering a spurious failure due
+# to issues with FreeBSD make and VPATH builds (see automake bug#7884).
+
 ./configure
 $MAKE
-$MAKE distcheck
-test ! -d subpack-1            # make sure distcheck cleans up after itself
+$MAKE dist
+test -f lib-dist-hook-has-run
+test -f subpack-1.tar.gz
+test ! -d subpack-1 # Make sure "dist" cleans up after itself.
+
+mkdir workdir
+cd workdir
+gzip -c -d ../subpack-1.tar.gz | tar xf -
+test -d subpack-1
+mkdir build
+cd build
+../subpack-1/configure
+$MAKE
+$MAKE dist
+test -f lib-dist-hook-has-run
 test -f subpack-1.tar.gz
+test ! -d subpack-1 # Make sure "dist" cleans up after itself.
+
+# Don't trust non-GNU makes to do distcheck with a Yacc-using
+# package (see bug referenced above).
+if using_gmake; then
+  $MAKE distcheck || Exit 1
+fi
+
+:
diff --git a/tests/subpkg.test b/tests/subpkg.test
index 481cbb4..a529867 100755
--- a/tests/subpkg.test
+++ b/tests/subpkg.test
@@ -52,10 +52,8 @@ ACLOCAL_AMFLAGS = -I m4
 EOF
 
 cat >LDADD.c <<'EOF'
-int lib ();
-
-int
-main ()
+int lib (void);
+int main (void)
 {
   return lib ();
 }
@@ -68,7 +66,6 @@ cat >lib/configure.ac <<'EOF'
 AC_INIT([lib], [2.3])
 AM_INIT_AUTOMAKE
 AC_PROG_RANLIB
-AC_PROG_YACC
 AC_CONFIG_HEADERS([config.h:config.hin])
 AC_CONFIG_FILES([Makefile])
 FOO
@@ -76,33 +73,20 @@ EOF
 
 cat >lib/Makefile.am <<'EOF'
 noinst_LIBRARIES = liblib.a
-liblib_a_SOURCES = src/x.c foo.y
-EXTRA_liblib_a_SOURCES = bar.y
+liblib_a_SOURCES = src/x.c
 
 dist-hook:
        test ! -f $(distdir)/LDADD.c
        test -f $(top_distdir)/LDADD.c
        test -f $(distdir)/src/x.c
        test ! -f $(top_distdir)/src/x.c
-       test -f $(YLWRAP)
 
 ACLOCAL_AMFLAGS = -I ../m4
 EOF
 
-cat > lib/foo.y << 'END'
-%{
-int yylex () {return 0;}
-void yyerror (char *s) {}
-%}
-%%
-foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
-END
-
-cp lib/foo.y lib/bar.y
-
 cat >lib/src/x.c <<'EOF'
 #include <config.h>
-int lib ()
+int lib (void)
 {
   return 0;
 }
@@ -123,5 +107,7 @@ cd ..
 ./configure
 $MAKE
 $MAKE distcheck
-test ! -d subpack-1            # make sure distcheck cleans up after itself
+test ! -d subpack-1 # Make sure distcheck cleans up after itself.
 test -f subpack-1.tar.gz
+
+:
diff --git a/tests/uninstall-fail.test b/tests/uninstall-fail.test
index a57b665..14a843b 100755
--- a/tests/uninstall-fail.test
+++ b/tests/uninstall-fail.test
@@ -60,7 +60,8 @@ chmod a-rwx $inst/share
 
 $MAKE uninstall >output 2>&1 && { cat output; Exit 1; }
 cat output
-grep "cd: .*$inst/share" output
-
+# Some shells, like Solaris 10 /bin/sh and /bin/ksh, do not report
+# the name of the `cd' builtin upon a chdir error.
+$EGREP "(cd|sh): .*$inst/share" output
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

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