[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.12.2-11
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.12.2-116-g7eccbf4 |
Date: |
Fri, 13 Jul 2012 13:26:24 +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=7eccbf44fcee432c20ccd95b384f1c3494e4712c
The branch, master has been updated
via 7eccbf44fcee432c20ccd95b384f1c3494e4712c (commit)
via 19d4b87d970e316a7e13c8895ed0ffe62df5f00e (commit)
via 312c7dcbd349f86574f835debdd619314341d0ee (commit)
via 5dd21f9af052cfd2fa3dddb7f2ff4c5f7437a657 (commit)
via 9df354ac9834f319c1faeef11748b7f1f7afdfae (commit)
via 1bc5acb2df2fdf297bc101f36589ab9f932647bf (commit)
via 65e7ac8c3556d1895ee597811856710143cfc4ac (commit)
via cf80959825ac3b18271d0c15ce7345e64410c2f0 (commit)
from bdb984ba47508ac1d44d173d8d99c95254ef98e9 (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 7eccbf44fcee432c20ccd95b384f1c3494e4712c
Merge: bdb984b 19d4b87
Author: Stefano Lattarini <address@hidden>
Date: Fri Jul 13 14:58:17 2012 +0200
Merge branch 'maint'
* maint:
news: mention fixed testsuite weaknesses
news: bump, for future 1.12.3
tests: verify the shell test scripts are syntactically valid
tests: don't use C instead of C++ compiler on case-insensitive platforms
tests: avoid spurious TAP errors on Mac OS X 10.7
tests: fix spurious failure in aclocal7.sh on fast machines
Signed-off-by: Stefano Lattarini <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
Makefile.am | 35 +++++++++++++++++++++++++++++++++++
NEWS | 10 +++++++++-
THANKS | 1 +
configure.ac | 13 ++++++++++++-
t/aclocal7.sh | 5 +++++
t/self-check-exit.tap | 8 +-------
t/suffix10.tap | 13 ++++++++++++-
t/suffix8.tap | 15 +++++++++++++--
8 files changed, 88 insertions(+), 12 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 8e66894..a5332d3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -426,6 +426,41 @@ check-no-repeated-test-name:
check-local: check-no-repeated-test-name
.PHONY: check-no-repeated-test-name
+# Check that our test cases are syntactically correct.
+# See automake bug#11898.
+check-tests-syntax:
+ @st=0; \
+ err () { echo "$@: $$*" >&2; st=1; }; \
+## The user might do something like "make check TESTS=t/foo" or
+## "make check TESTS_LOGS=t/foo.log" and expect (say) the test
+## 't/foo.sh' to be run; this has worked well until today, and
+## we want to continue supporting this use case.
+ bases=`for log in : $(TEST_LOGS); do echo $$log; done \
+ | sed -e '/^:$$/d' -e 's/\.log$$//'`; \
+ for bas in $$bases; do \
+ for suf in sh tap pl; do \
+ tst=$$bas.$$suf; \
+## Emulate VPATH search.
+ if test -f $$tst; then \
+ break; \
+ elif test -f $(srcdir)/$$tst; then \
+ tst=$(srcdir)/$$tst; \
+ break; \
+ else \
+ tst=''; \
+ fi; \
+ done; \
+ test -n "$$tst" || err "couldn't find test '$$bas'"; \
+## Don't check that perl tests are valid shell scripts!
+ test $$suf = pl && continue; \
+ $(AM_V_P) && echo " $(AM_TEST_RUNNER_SHELL) -n $$tst"; \
+ $(AM_TEST_RUNNER_SHELL) -n "$$tst" \
+ || err "test '$$tst' syntactically invalid"; \
+ done; \
+ exit $$st
+check-local: check-tests-syntax
+.PHONY: check-tests-syntax
+
## Checking the list of tests.
test_subdirs = t t/pm t/perf contrib/t
include $(srcdir)/t/CheckListOfTests.am
diff --git a/NEWS b/NEWS
index c5ea50f..d2fc46d 100644
--- a/NEWS
+++ b/NEWS
@@ -104,7 +104,7 @@ New in 1.13:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-New in 1.12.2:
+New in 1.12.3:
* WARNING: Future backward-incompatibilities!
@@ -139,6 +139,14 @@ New in 1.12.2:
giving more useful warnings than a bare "command not found" from a
make recipe would.
+* Automake Testsuite:
+
+ - Some testsuite weaknesses and spurious failures have been fixed.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+New in 1.12.2:
+
* Warnings and deprecations:
- Automake now issues a warning (in the 'portability' category) if
diff --git a/THANKS b/THANKS
index 01b78c1..afdd33a 100644
--- a/THANKS
+++ b/THANKS
@@ -245,6 +245,7 @@ Matthew D. Langston address@hidden
Matthias Andree address@hidden
Matthias Clasen address@hidden
Matthias Klose address@hidden
+Max Horn address@hidden
Maxim Sinev address@hidden
Maynard Johnson address@hidden
Merijn de Jonge address@hidden
diff --git a/configure.ac b/configure.ac
index 6ad6fdf..bbaf12c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -448,12 +448,23 @@ _AM_COMPILER_CAN_FAIL(dnl
AS_IF([test x"$GCC" = x"yes"], [am_CC_is_GNU=yes], [am_CC_is_GNU=no])
+# On case-insensitive file systems (seen e.g. on Cygwin and Mac OS X)
+# we must avoid looking for 'CC', because that would be the same as
+# 'cc', and could cause $CXX to point to the C compiler, instead of
+# to a C++ compiler as expected. See automake bugs #11893 and #10766.
+if test -f /bIn/rMdIr || test -f /uSr/bIn/rMdIr; then
+ # Case-insensitive file system, don't look for CC.
+ am_CC=
+else
+ am_CC=CC
+fi
+
# The list of C++ compilers here has been copied, pasted and edited
# from 'lib/autoconf/c.m4:AC_PROG_CXX' in the Autoconf distribution.
# Keep it in sync, or better again, find out a way to avoid this code
# duplication.
_AM_COMPILER_CAN_FAIL([AC_PROG_CXX(dnl
- [aCC CC FCC KCC RCC xlC_r xlC c++ cxx cc++ gpp g++])],
+ [aCC $am_CC FCC KCC RCC xlC_r xlC c++ cxx cc++ gpp g++])],
[CXX=false; _AM_SKIP_COMP_TESTS([C++])])
AS_IF([test x"$GXX" = x"yes"], [am_CXX_is_GNU=yes], [am_CXX_is_GNU=no])
diff --git a/t/aclocal7.sh b/t/aclocal7.sh
index 4c03a0c..c050b07 100755
--- a/t/aclocal7.sh
+++ b/t/aclocal7.sh
@@ -45,6 +45,11 @@ AUTOMAKE_after_aclocal ()
$AUTOMAKE --no-force
}
+# aclocal will rewrite aclocal.m4 unless the input files are all older than the
+# existing aclocal.m4 -- sleep to ensure somedefs.m4 has an older timestamp
+# than the aclocal.m4 that the next aclocal call will generate.
+$sleep
+
$ACLOCAL -I m4
AUTOMAKE_after_aclocal
diff --git a/t/self-check-exit.tap b/t/self-check-exit.tap
index 0fbc9d8..19cf27a 100755
--- a/t/self-check-exit.tap
+++ b/t/self-check-exit.tap
@@ -22,7 +22,7 @@
am_create_testdir=no
. ./defs || exit 99
-plan_ 34
+plan_ 32
# This test becomes more cumbersome if we keep the 'errexit' shell flag
# set. And removing it is no big deal, as this test is a TAP-based one,
@@ -79,10 +79,4 @@ test -f Makefile && test ! -x Makefile || \
$AM_TEST_RUNNER_SHELL -c "$init ./Makefile; :" "$dummy_test_script"
command_ok_ "permission denied" test $? -gt 0
-: Syntax errors in the test code.
-$AM_TEST_RUNNER_SHELL -c "$init if :; then" "$dummy_test_script"
-command_ok_ "syntax error 1" test $? -gt 0
-$AM_TEST_RUNNER_SHELL -c "$init true ( true )" "$dummy_test_script"
-command_ok_ "syntax error 2" test $? -gt 0
-
:
diff --git a/t/suffix10.tap b/t/suffix10.tap
index a650924..7e19e04 100755
--- a/t/suffix10.tap
+++ b/t/suffix10.tap
@@ -57,11 +57,22 @@ cat > foo.x_ << 'END'
int foo (void) { return yyparse(); }
END
+# We must protect the TAP driver from the output of configure, since
+# that might output a stray "ok" on a line of its own (due to a
+# libtool bug on Mac OS X), thus causing a spurious test result to
+# be seen. See automake bug#11897.
+run_configure ()
+{
+ st=0; ./configure >output 2>&1 || st=1
+ sed 's/^/ /' output
+ test $st -eq 0
+}
+
command_ok_ "libtoolize" libtoolize --force
command_ok_ "aclocal" $ACLOCAL
command_ok_ "autoconf" $AUTOCONF
command_ok_ "automake" $AUTOMAKE --add-missing
-command_ok_ "configure" ./configure
+command_ok_ "configure" run_configure
command_ok_ "make test" $MAKE test
directive=''; make_can_chain_suffix_rules || directive=TODO
diff --git a/t/suffix8.tap b/t/suffix8.tap
index fdaf087..516c9b2 100755
--- a/t/suffix8.tap
+++ b/t/suffix8.tap
@@ -75,11 +75,22 @@ END
echo 'int main (void) { return 0; }' > foo.x_
echo 'int bar (void) { return 0; }' > bar.x_
+# We must protect the TAP driver from the output of configure, since
+# that might output a stray "ok" on a line of its own (due to a
+# libtool bug on Mac OS X), thus causing a spurious test result to
+# be seen. See automake bug#11897.
+protect_output ()
+{
+ st=0; "$@" >output 2>&1 || st=1
+ sed 's/^/ /' output
+ test $st -eq 0
+}
+
command_ok_ "libtoolize" libtoolize
command_ok_ "aclocal" $ACLOCAL
command_ok_ "autoconf" $AUTOCONF
command_ok_ "automake" $AUTOMAKE -a
-command_ok_ "configure" ./configure
+command_ok_ "configure" protect_output ./configure
command_ok_ "make test0" env OBJEXT=foo $MAKE -e test0
command_ok_ "make test1" $MAKE test1
@@ -88,7 +99,7 @@ directive=''; make_can_chain_suffix_rules || directive=TODO
for target in test2 all distcheck; do
command_ok_ "make $target" \
-D "$directive" -r "suffix rules not chained" \
- $MAKE $target
+ protect_output $MAKE $target
done
:
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.12.2-116-g7eccbf4,
Stefano Lattarini <=