[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, test-protocols, updated. v1
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, test-protocols, updated. v1.11-1034-g271343d |
Date: |
Fri, 19 Aug 2011 08:15:43 +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=271343d8ef023b9891d9b06bce5e62268f8b50e5
The branch, test-protocols has been updated
via 271343d8ef023b9891d9b06bce5e62268f8b50e5 (commit)
via 94aa58693d1a6fd09db715524e1785d062f1a252 (commit)
via 8c4d0f0650486315359a63b2b6a832dcf4986147 (commit)
via 91a7653997ca147b3242688f056c89840b789a09 (commit)
via 720f0a2e5ad7e232390e2c590c331773389e8a25 (commit)
via b3afcecf956210275843c3e6e2d6f639f48156eb (commit)
via 35a0689da39d6874464b7940b4e1a6930ca3c448 (commit)
from c8b66be05a6301e5f82ee7b3b7a87727f5cecd9f (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 271343d8ef023b9891d9b06bce5e62268f8b50e5
Author: Stefano Lattarini <address@hidden>
Date: Fri Aug 19 10:14:22 2011 +0200
testsuite: fix some redundant autotools calls in tests on TAP
* tests/tap-deps.test: Do not call autotools and configure; there
is no need to, since this script sources `tap-setup.sh'.
* tests/tap-empty-diagnostic.test: Likewise.
* tests/tap-escape-directive.test: Likewise.
* tests/tap-fancy2.test: Likewise.
* tests/tap-no-spurious.test: Likewise.
* tests/tap-out-of-order.test: Likewise.
commit 94aa58693d1a6fd09db715524e1785d062f1a252
Merge: c8b66be 8c4d0f0
Author: Stefano Lattarini <address@hidden>
Date: Thu Aug 18 21:53:34 2011 +0200
Merge branch 'master' into test-protocols
* master:
* 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
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 52 +++++++++++
HACKING | 4 +-
NEWS | 4 +-
THANKS | 2 +-
lib/Automake/tests/Makefile.in | 2 +-
lib/am/check.am | 9 ++-
lib/am/java.am | 2 +-
tests/Makefile.am | 1 +
tests/Makefile.in | 20 +++--
...-srcdir.test => check-concurrency-bug9245.test} | 49 +++++------
tests/java-empty-classpath.test | 90 ++++++++++++++++++++
tests/tap-deps.test | 6 --
tests/tap-empty-diagnostic.test | 6 --
tests/tap-escape-directive.test | 6 --
tests/tap-fancy2.test | 6 --
tests/tap-no-spurious.test | 6 --
tests/tap-out-of-order.test | 7 --
17 files changed, 193 insertions(+), 79 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 4d83efb..f86d1cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,55 @@
+2011-08-19 Stefano Lattarini <address@hidden>
+
+ testsuite: fix some redundant autotools calls in tests on TAP
+ * tests/tap-deps.test: Do not call autotools and configure; there
+ is no need to, since this script sources `tap-setup.sh'.
+ * tests/tap-empty-diagnostic.test: Likewise.
+ * tests/tap-escape-directive.test: Likewise.
+ * tests/tap-fancy2.test: Likewise.
+ * tests/tap-no-spurious.test: Likewise.
+ * tests/tap-out-of-order.test: Likewise.
+
+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-17 Stefano Lattarini <address@hidden>
tap: improve granularity for tests on problematic TAP messages
diff --git a/HACKING b/HACKING
index 231e3fc..1cc43fe 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 1c2f102..f316bb0 100644
--- a/NEWS
+++ b/NEWS
@@ -136,7 +136,9 @@ Bugs fixed in 1.11a:
* Bugs introduced by 1.11:
- The `parallel-tests' test driver works around a GNU make 3.80 bug with
- trailing white space in the test list (`TESTS = foo $(EMPTY)').
+ 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
diff --git a/THANKS b/THANKS
index 4f8950a..54c2320 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
Debarshi Ray address@hidden
Dave Brolley address@hidden
Dave Korn address@hidden
diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in
index aca691c..6c1599e 100644
--- a/lib/Automake/tests/Makefile.in
+++ b/lib/Automake/tests/Makefile.in
@@ -469,7 +469,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
echo "$$col$$br$$std"; \
fi; \
- $$success
+ $$success || exit 1
# Run all the tests.
check-TESTS:
diff --git a/lib/am/check.am b/lib/am/check.am
index 27388df..0628c86 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -295,8 +295,13 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
echo "$$col$$br$$std"; \
fi; \
-## Be sure to exit with the proper exit status.
- $$success
+## Be sure to exit with the proper exit status. 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>.
+ $$success || 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 853831d..2d630a9 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -240,6 +240,7 @@ check-exported-srcdir.test \
check-fd-redirect.test \
check-tests-in-builddir.test \
check-no-test-driver.test \
+check-concurrency-bug9245.test \
checkall.test \
clean.test \
clean2.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index a1c152f..dc7cb80 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -290,14 +290,14 @@ XFAIL_TESTS = all.test auxdir2.test cond17.test gcj6.test
\
override-conditional-2.test pr8365-remake-timing.test \
yacc-dist-nobuild-subdir.test txinfo5.test \
$(instspc_xfail_tests)
-parallel_tests = backcompat5-p.test check-exported-srcdir-p.test \
- check-fd-redirect-p.test check-tests-in-builddir-p.test \
- check-p.test check11-p.test check12-p.test check2-p.test \
- check3-p.test check4-p.test check5-p.test check6-p.test \
- check7-p.test check8-p.test check9-p.test color-p.test \
- color2-p.test comment9-p.test dejagnu-p.test exeext4-p.test \
- maken3-p.test maken4-p.test posixsubst-tests-p.test \
- tests-environment-p.test
+parallel_tests = backcompat5-p.test check-concurrency-bug9245-p.test \
+ check-exported-srcdir-p.test check-fd-redirect-p.test \
+ check-tests-in-builddir-p.test check-p.test check11-p.test \
+ check12-p.test check2-p.test check3-p.test check4-p.test \
+ check5-p.test check6-p.test check7-p.test check8-p.test \
+ check9-p.test color-p.test color2-p.test comment9-p.test \
+ dejagnu-p.test exeext4-p.test maken3-p.test maken4-p.test \
+ posixsubst-tests-p.test tests-environment-p.test
instspc_tests = instspc-squote-build.test instspc-squote-install.test \
instspc-dquote-build.test instspc-dquote-install.test \
instspc-bquote-build.test instspc-bquote-install.test \
@@ -499,6 +499,7 @@ check-exported-srcdir.test \
check-fd-redirect.test \
check-tests-in-builddir.test \
check-no-test-driver.test \
+check-concurrency-bug9245.test \
checkall.test \
clean.test \
clean2.test \
@@ -1639,7 +1640,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
fi; \
echo "$$col$$br$$std"; \
fi; \
- $$success
+ $$success || exit 1
# Run all the tests.
check-TESTS:
@@ -1851,6 +1852,7 @@ uninstall-am:
uninstall uninstall-am
backcompat5-p.log: backcompat5.test
+check-concurrency-bug9245-p.log: check-concurrency-bug9245.test
check-exported-srcdir-p.log: check-exported-srcdir.test
check-fd-redirect-p.log: check-fd-redirect.test
check-tests-in-builddir-p.log: check-tests-in-builddir.test
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 6d17320..e5dd153 100755
--- a/tests/check-exported-srcdir.test
+++ b/tests/check-concurrency-bug9245.test
@@ -14,50 +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
-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/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
+
+:
diff --git a/tests/tap-deps.test b/tests/tap-deps.test
index b86d235..2f9459d 100755
--- a/tests/tap-deps.test
+++ b/tests/tap-deps.test
@@ -61,12 +61,6 @@ END
chmod a+x *.test
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-./configure
-
$MAKE check >stdout || { cat stdout; Exit 1; }
cat stdout
diff --git a/tests/tap-empty-diagnostic.test b/tests/tap-empty-diagnostic.test
index 2dcc880..6bcb8ce 100755
--- a/tests/tap-empty-diagnostic.test
+++ b/tests/tap-empty-diagnostic.test
@@ -31,12 +31,6 @@ ok 1$
# ${tab} $tab${tab}$
END
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-./configure
-
$MAKE check >stdout || { cat stdout; Exit 1; }
cat stdout
diff --git a/tests/tap-escape-directive.test b/tests/tap-escape-directive.test
index 2f8cb73..dc03197 100755
--- a/tests/tap-escape-directive.test
+++ b/tests/tap-escape-directive.test
@@ -28,12 +28,6 @@ ok \# TODO
ok \# SKIP
END
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-./configure
-
$MAKE check >stdout || { cat stdout; Exit 1; }
cat stdout
diff --git a/tests/tap-fancy2.test b/tests/tap-fancy2.test
index ddd64ea..36e0f29 100755
--- a/tests/tap-fancy2.test
+++ b/tests/tap-fancy2.test
@@ -126,12 +126,6 @@ total=`expr $total + 3`
# And add the test plan!
echo 1..$total >> all.test
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-./configure
-
$MAKE check >stdout && { cat stdout; Exit 1; }
cat stdout
diff --git a/tests/tap-no-spurious.test b/tests/tap-no-spurious.test
index 91b115f..11e2d1a 100755
--- a/tests/tap-no-spurious.test
+++ b/tests/tap-no-spurious.test
@@ -88,12 +88,6 @@ Bail out
# Bail out!
END
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-./configure
-
$MAKE check >stdout || { cat stdout; Exit 1; }
cat stdout
diff --git a/tests/tap-out-of-order.test b/tests/tap-out-of-order.test
index f8f69c7..9bf4685 100755
--- a/tests/tap-out-of-order.test
+++ b/tests/tap-out-of-order.test
@@ -58,13 +58,6 @@ ok 16
ok 17
END
-$ACLOCAL
-$AUTOCONF
-$AUTOMAKE
-
-./configure
-
-
TESTS='a.test b.test c.test d.test' $MAKE -e check >stdout \
&& { cat stdout; Exit 1; }
cat stdout
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, test-protocols, updated. v1.11-1034-g271343d,
Stefano Lattarini <=