automake-commit
[Top][All Lists]
Advanced

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

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


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, branch-1.11, updated. v1.11.1-470-gb6bab81
Date: Thu, 18 Aug 2011 19:43:08 +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=b6bab81aafa1e717f1209a0ed7503e617f66bba0

The branch, branch-1.11 has been updated
       via  b6bab81aafa1e717f1209a0ed7503e617f66bba0 (commit)
       via  91a7653997ca147b3242688f056c89840b789a09 (commit)
       via  720f0a2e5ad7e232390e2c590c331773389e8a25 (commit)
       via  b3afcecf956210275843c3e6e2d6f639f48156eb (commit)
       via  35a0689da39d6874464b7940b4e1a6930ca3c448 (commit)
       via  c7c62a4a2f075d7fcb4c035de361491008778fc5 (commit)
      from  7f21561c734bed8ba20224017de163f3646dc26e (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 -----------------------------------------------------------------
commit b6bab81aafa1e717f1209a0ed7503e617f66bba0
Merge: 7f21561 91a7653
Author: Stefano Lattarini <address@hidden>
Date:   Thu Aug 18 21:40:15 2011 +0200

    Merge branch 'maint' into branch-1.11
    
    * maint:
      * THANKS (Daniel Richard G.): Update e-mail address.
      java: avoid compilation errors when CLASSPATH is empty
      parallel-tests: no more spurious successes for FreeBSD make
      hacking: we now require autoconf 2.68
      test defs: more environment cleanup

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   47 ++++++++++
 HACKING                                            |    4 +-
 NEWS                                               |    5 +
 THANKS                                             |    2 +-
 lib/Automake/tests/Makefile.in                     |    2 +-
 lib/am/check.am                                    |    7 ++-
 lib/am/java.am                                     |    2 +-
 tests/Makefile.am                                  |    1 +
 tests/Makefile.in                                  |    4 +-
 ...-srcdir.test => check-concurrency-bug9245.test} |   51 +++++------
 tests/defs.in                                      |    3 +-
 tests/java-empty-classpath.test                    |   90 ++++++++++++++++++++
 12 files changed, 183 insertions(+), 35 deletions(-)
 copy tests/{check-exported-srcdir.test => check-concurrency-bug9245.test} (59%)
 create mode 100755 tests/java-empty-classpath.test

diff --git a/ChangeLog b/ChangeLog
index 34badd9..e607d71 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,50 @@
+2011-08-17  Stefano Lattarini  <address@hidden>
+
+       * THANKS (Daniel Richard G.): Update e-mail address.
+
+2011-08-16  Daniel Richard G. <address@hidden>  (tiny change)
+           Stefano Lattarini  <address@hidden>
+
+       java: avoid compilation errors when CLASSPATH is empty
+       * lib/am/java.am (CLASSPATH_ENV): When redefining `$CLASSPATH',
+       do not append an empty component in case the previous value of
+       CLASSPATH is empty or unset.
+       * tests/java-empty-classpath.test: New test.
+       * tests/Makefile.am (TESTS): Update.
+       Fixes automake bug#9306.
+
+2011-08-16  Stefano Lattarini  <address@hidden>
+
+       parallel-tests: no more spurious successes for FreeBSD make
+       Work around a bug of FreeBSD make bug that was causing the
+       automake-generated "check" target to complete with success
+       even if some tests failed; this happened only when FreeBSD
+       make was run in concurrent mode (as in, e.g., "make -j2
+       check").  The bug is not present in NetBSD make.
+       This change fixes automake bug#9245:
+        <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
+       See also FreeBSD PR bin/159730:
+        <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
+       * lib/am/check.am [%?PARALLEL_TESTS%] $(TEST_SUITE_LOG): Use a
+       more "safe" (and apparently redundant) idiom to exit with error,
+       so that the non-zero exit status is picked up also by FreeBSD
+       make when it's running in concurrent mode.
+       * NEWS: Update.
+       * tests/check-concurrency-bug9245.test: New test.
+       * tests/Makefile.am (TESTS): Update.
+
+2011-08-11  Stefano Lattarini  <address@hidden>
+
+       hacking: we now require autoconf 2.68
+       * HACKING ("Working in git"): Use autoconf and autom4te 2.68,
+       not 2.67, in the examples.
+
+2011-08-08  Stefano Lattarini  <address@hidden>
+
+       test defs: more environment cleanup
+       * tests/defs.in: Also unset variables AM_COLOR_TESTS and
+       AM_TESTS_ENVIRONMENT.
+
 2011-08-08  Stefano Lattarini  <address@hidden>
 
        tests: fix spurious failure with Solaris make
diff --git a/HACKING b/HACKING
index 334d74c..873243c 100644
--- a/HACKING
+++ b/HACKING
@@ -102,8 +102,8 @@
   not installed as "autoconf", pass it explicitly (along with the
   accompanying "autom4te") when calling `bootstrap' and `configure'.
   For example:
-    $ AUTOCONF=autoconf2.67 AUTOM4TE=autom4te2.67 ./bootstrap
-    $ ./configure AUTOCONF=autoconf2.67 AUTOM4TE=autom4te2.67
+    $ AUTOCONF=autoconf2.68 AUTOM4TE=autom4te2.68 ./bootstrap
+    $ ./configure AUTOCONF=autoconf2.68 AUTOM4TE=autom4te2.68
 
 * Dependent files aclocal.m4, configure and Makefile.in in all
   directories should be up to date in the git repository, so that
diff --git a/NEWS b/NEWS
index 74bd963..3ab84e2 100644
--- a/NEWS
+++ b/NEWS
@@ -24,6 +24,11 @@ Bugs fixed in 1.11.1a:
 
 * Long standing bugs:
 
+  - The `parallel-tests' test driver works around a GNU make 3.80 bug with
+    trailing white space in the test list (`TESTS = foo $(EMPTY)'), and
+    does not report spurious successes when used with concurrent FreeBSD
+    make (e.g., "make check -j3").
+
   - The `silent-rules' option now also silences all compile rules if dependency
     tracking is disabled.  Also, when `silent-rules' is not used, the output 
from
     `make' does not contain spurious extra lines with only a backslash in them
diff --git a/THANKS b/THANKS
index 3d71419..d91c5bb 100644
--- a/THANKS
+++ b/THANKS
@@ -67,7 +67,7 @@ Dalibor Topic         address@hidden
 danbp                  address@hidden
 Daniel Jacobowitz      address@hidden
 Daniel Kahn Gillmor    address@hidden
-Daniel Richard G.      address@hidden
+Daniel Richard G.      address@hidden
 Dave Brolley           address@hidden
 Dave Korn              address@hidden
 Dave Morrison          address@hidden
diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in
index 3d1b299..7d39ed3 100644
--- a/lib/Automake/tests/Makefile.in
+++ b/lib/Automake/tests/Makefile.in
@@ -405,7 +405,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
          col="$$red";                                                  \
        fi;                                                             \
        echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std";         \
-       $$exit
+       $$exit || exit 1
 
 # Run all the tests.
 check-TESTS:
diff --git a/lib/am/check.am b/lib/am/check.am
index 0b54312..3d0188d 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -224,7 +224,12 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
          col="$$red";                                                  \
        fi;                                                             \
        echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std";         \
-       $$exit
+## The use of "exit 1" below is required to work around a FreeBSD make bug
+## (present only when running in concurrent mode).  See automake bug#9245:
+##  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9245>
+## and FreeBSD PR bin/159730:
+##  <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>.
+       $$exit || exit 1
 
 RECHECK_LOGS = $(TEST_LOGS)
 
diff --git a/lib/am/java.am b/lib/am/java.am
index d6eb455..604df22 100644
--- a/lib/am/java.am
+++ b/lib/am/java.am
@@ -21,7 +21,7 @@
 ## ---------- ##
 
 JAVAC = javac
-CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT):$$CLASSPATH
+CLASSPATH_ENV = 
CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT)$${CLASSPATH:+":$$CLASSPATH"}
 JAVAROOT = $(top_builddir)
 
 class%DIR%.stamp: $(%DIR%_JAVA)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b545dda..c2a55fd 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -160,6 +160,7 @@ check11.test \
 check-exported-srcdir.test \
 check-tests-in-builddir.test \
 check-tests_environment.test \
+check-concurrency-bug9245.test \
 tests-environment-backcompat.test \
 checkall.test \
 clean.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 85a5168..c909685 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -291,6 +291,7 @@ yacc-dist-nobuild-subdir.test \
 txinfo5.test
 
 parallel_tests = \
+check-concurrency-bug9245-p.test \
 check-exported-srcdir-p.test \
 check-tests-in-builddir-p.test \
 check-tests_environment-p.test \
@@ -437,6 +438,7 @@ check11.test \
 check-exported-srcdir.test \
 check-tests-in-builddir.test \
 check-tests_environment.test \
+check-concurrency-bug9245.test \
 tests-environment-backcompat.test \
 checkall.test \
 clean.test \
@@ -1274,7 +1276,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
          col="$$red";                                                  \
        fi;                                                             \
        echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std";         \
-       $$exit
+       $$exit || exit 1
 
 # Run all the tests.
 check-TESTS:
diff --git a/tests/check-exported-srcdir.test 
b/tests/check-concurrency-bug9245.test
similarity index 59%
copy from tests/check-exported-srcdir.test
copy to tests/check-concurrency-bug9245.test
index 5cec7fc..e5dd153 100755
--- a/tests/check-exported-srcdir.test
+++ b/tests/check-concurrency-bug9245.test
@@ -14,52 +14,49 @@
 # 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 that the testsuite driver (either with or without the
-# parallel-tests option enabled) exports the `srcdir' value in the
-# environment of the tests.  This is documented in the manual.
+# Look for a bug where FreeBSD make in concurrent mode reported success
+# even when the Automake-generated parallel testsuite harness failed.
+# See automake bug#9245.
 
 . ./defs || Exit 1
 
-set -e
-
-show_info ()
-{
-  if test x"$parallel_tests" = x"yes"; then
-     cat foo.log
-     cat test-suite.log
-  else
-     :
-  fi
-}
-
-mkdir SrcDir
-mv [!S]* SrcDir
-mkdir BuildDir
-cd SrcDir
-
 cat >> configure.in << 'END'
 AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
-TESTS = foo.test
+TESTS = foo.test bar.test
 END
 
 cat > foo.test <<'END'
 #!/bin/sh
-echo "foo.test: srcdir='$srcdir'"
-test x"$srcdir" = x"../SrcDir"
+exit 1
 END
 chmod a+x foo.test
 
+cp foo.test bar.test
+
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 
-cd ../BuildDir
-../SrcDir/configure
+./configure
+
+# Some make implementations don't grok the `-j' option.
+$MAKE -j1 || Exit 77
 
-$MAKE check || { show_info; Exit 1; }
-show_info
+for j in '' -j1 -j2; do
+  $MAKE $j check && Exit 1
+  TESTS=foo.test $MAKE $j -e check && Exit 1
+  if test x"$parallel_tests" = x"yes"; then
+    $MAKE $j recheck && Exit 1
+    TEST_LOGS=foo.log $MAKE $j -e check && Exit 1
+    rm -f test-suite.log
+    $MAKE $j test-suite.log && Exit 1
+    test -f test-suite.log || Exit 1
+  else
+    : # For shells with buggy 'set -e'.
+  fi
+done
 
 :
diff --git a/tests/defs.in b/tests/defs.in
index f5e9e29..7759455 100644
--- a/tests/defs.in
+++ b/tests/defs.in
@@ -432,8 +432,9 @@ unset DISTCHECK_CONFIGURE_FLAGS AM_DISTCHECK_CONFIGURE_FLAGS
 # conceptually independent, they cause some changed semantics we
 # need to control (and test for) in some of the tests to ensure
 # backward-compatible behavior.
-unset TESTS_ENVIRONMENT
+unset TESTS_ENVIRONMENT AM_TESTS_ENVIRONMENT
 unset DISABLE_HARD_ERRORS
+unset AM_COLOR_TESTS
 unset TESTS
 unset TEST_LOG_COMPILER
 unset TEST_LOGS
diff --git a/tests/java-empty-classpath.test b/tests/java-empty-classpath.test
new file mode 100755
index 0000000..230bb7c
--- /dev/null
+++ b/tests/java-empty-classpath.test
@@ -0,0 +1,90 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Java compilation works also when CLASSPATH is unset or empty at
+# compilation time.  See automake bug#9306.
+
+required=javac
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+AC_CONFIG_SRCDIR([org/gnu/bug/Library.java])
+AC_CONFIG_FILES([
+    org/Makefile
+    org/gnu/Makefile
+    org/gnu/bug/Makefile
+])
+AC_OUTPUT
+END
+
+mkdir org org/gnu org/gnu/bug
+cat > Makefile.am <<END
+CLEANFILES = *.class
+SUBDIRS = org
+END
+echo SUBDIRS = gnu > org/Makefile.am 
+echo SUBDIRS = bug > org/gnu/Makefile.am 
+cat > org/gnu/bug/Makefile.am <<'END'
+JAVAROOT = ../../..
+dist_noinst_JAVA = Library.java Application.java
+END
+
+cat > org/gnu/bug/Library.java <<'END'
+package org.gnu.bug;
+public class Library
+{
+    public Library ()
+    {
+      // Nothing to do.
+    }
+    public static void doSomethingUseful (String arg)
+    {
+      System.out.println (arg);
+    }
+}
+END
+
+cat > org/gnu/bug/Application.java <<'END'
+import org.gnu.bug.*;
+public class Application
+{
+    public static void main (String args[])
+    {
+        Library lib = new Library ();
+        lib.doSomethingUseful ("PLUGH");
+    }
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+
+unset CLASSPATH || :
+$MAKE
+$MAKE clean
+
+CLASSPATH=''; export CLASSPATH
+$MAKE
+$MAKE clean
+
+unset CLASSPATH || :
+$MAKE distcheck
+
+:


hooks/post-receive
-- 
GNU Automake



reply via email to

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