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-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



reply via email to

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