[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-1710
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-1710-ge7de1ef |
Date: |
Fri, 06 Jan 2012 18:05:34 +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=e7de1ef89c049e8fe0cbe92921341b9a57867a92
The branch, master has been updated
via e7de1ef89c049e8fe0cbe92921341b9a57867a92 (commit)
from 61168e3c4c511e71ae8659388fe7ef8293222dbd (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 e7de1ef89c049e8fe0cbe92921341b9a57867a92
Author: Stefano Lattarini <address@hidden>
Date: Wed Jan 4 11:14:52 2012 +0100
tests: safer declarations of test dependencies
To declare prerequisites common to all the tests, we now prefer to
use the special `check_DATA' and `check_SCRIPTS' variables rather
than "lazy" dependency declaration like "$(TEST_LOGS): DEPS ...";
this because the latter, allowing run-time overriding of the
TEST_LOGS variable, turned out to be subtly incomplete in some
situations involving non-trivial inter-test dependencies. For
example, if the user issued a:
make check TESTS=libtool.test
before the `defs-static' file was created (either explicitly or
implicitly), a spurious errors followed, along these lines:
1. $(TEST_LOGS) got dynamically defined to `libtool.log';
2. make saw that, in the Makefile, `libtool.log' was explicitly
declared depending on `libtool-macros.log' and `defs-static';
3. somehow, make considered the dependency on `libtool-macros.log'
*before* considering the one on `defs-static' (which BTW is
perfectly legitimate on make's part);
4. to satisfy such a dependency, make set out to execute the
test `libtool-macros.test' in order to create the file
`libtool-macros.log';
5. since `libtool-macros.log' was *not* in $(TEST_LOGS), it
didn't appear to depend on the `defs-static' file, so make
didn't consider necessary to build `defs-static' before
running the `libtool-macros.test' script;
6. but that script sources `./defs-static' in order to work;
thus the test `libtool-macros.test' failed spuriously.
* tests/Makefile.am ($(TEST_LOGS)): Remove explicit declaration
of dependency on the required files/scripts; instead use ...
(check_SCRIPTS, check_DATA): ... these new variables.
-----------------------------------------------------------------------
Summary of changes:
tests/Makefile.am | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 9c95e29..bfd4337 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -106,10 +106,8 @@ $(generated_TESTS) $(srcdir)/testsuite-part.am: \
gen-testsuite-part list-of-tests.mk Makefile.am $(handwritten_TESTS)
# Static dependencies valid for each test case.
-$(TEST_LOGS): defs defs-static aclocal-$(APIVERSION) automake-$(APIVERSION)
-# FIXME: this should be made more granular once we have a cleaner
-# subdivision of the tests.
-$(TEST_LOGS): plain-functions.sh tap-functions.sh
+check_SCRIPTS = aclocal-$(APIVERSION) automake-$(APIVERSION)
+check_DATA = defs defs-static plain-functions.sh tap-functions.sh
EXTRA_DIST += tap-functions.sh plain-functions.sh
# Few more static dependencies.
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-1710-ge7de1ef,
Stefano Lattarini <=