automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, experimental/parallel-tests


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, experimental/parallel-tests-pattern-rules, created. v1.11b-126-g0a4bc76
Date: Sat, 21 Apr 2012 10:50:58 +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=0a4bc761588c07aaa348e2cc1243d84ac5ec1874

The branch, experimental/parallel-tests-pattern-rules has been created
        at  0a4bc761588c07aaa348e2cc1243d84ac5ec1874 (commit)

- Log -----------------------------------------------------------------
commit 0a4bc761588c07aaa348e2cc1243d84ac5ec1874
Author: Stefano Lattarini <address@hidden>
Date:   Fri Apr 20 21:04:36 2012 +0200

    [ng] parallel-tests: simplify automake-time preprocessing
    
    Our new pattern rules, introduced in recent commit 'XXX', are smart
    enough to allow us to ditch most of our cumbersome automake-time analysis
    and rewriting of the $(TESTS) variable when the parallel-tests driver is
    used.  This also makes other related simplifications possible.
    
    This change causes a little regression in that we won't be able anymore
    to diagnose at automake time test cases that start with the '$(srcdir)'
    or '$(top_srcdir)' component, but that's acceptable XXX.
    
    This change also causes a small behavioural change in automake, in that
    it will also need the 'LOG_DRIVER' variable to be defined in each
    Makefile.am defining the 'TESTS' variable; and if it's not defined,
    automake will define it itself, and require the presence of the
    'test-driver' auxiliary script in the process (or bing it in if the
    "--add-missing" option is in use).  See the changes to file 'NG-NEWS'
    for more details, and for workarounds.
    
    * automake.in (handle_tests): Don't walk nor rewrite $(TESTS) when the
    'parallel-tests' option is active.  Other related minor simplifications.
    * t/exeext4.sh: Define '$am_parallel_tests' to "no", so that the test
    won't be run with the 'parallel-tests' option enabled (as the semantics
    in that case have been changed in a way that would make this test fail).
    * t/check7.sh: When '$am_parallel_tests' is "yes", skip checks that
    don't work anymore with the 'parallel-tests' option is enabled.
    * t/test-driver-custom-no-extra-driver.sh: Adjust to avoid spurious
    failures to to the "LOG_DRIVER must be defined somehow" semantic change.
    * t/tap-common-setup.sh: Likewise.
    * t/tap-recheck.sh: Likewise.
    * t/tap-basic.sh: Likewise.
    * t/tap-diagnostic-custom.sh: Likewise.
    * t/tap-more.sh: Likewise.
    * t/tap-recheck.sh: Likewise.
    * t/tap-signal.tap: Likewise.
    * t/test-driver-custom-multitest.sh: Likewise.
    * t/test-driver-custom-multitest-recheck.sh: Likewise.
    * t/test-driver-custom-multitest-recheck2.sh: Likewise.
    * t/test-driver-custom-xfail-tests.sh: Likewise.
    * t/test-driver-fail.sh: Likewise.
    * t/test-driver-strip-vpath.sh: Likewise.
    * t/test-metadata-global-log.sh: Likewise.
    * t/test-metadata-global-results.sh: Likewise, and enahnced a little since
    we are at it.
    * t/test-metadata-results.sh: Likewise.
    * t/tap-bad-prog.tap: Likewise.
    * t/parallel-tests8.sh: Move the now-failing checks verifying that automake
    diagnoses test cases that start with the '$(srcdir)' or '$(top_srcdir)'...
    * t/parallel-tests-srcdir-in-test-name.sh: ... this new xfailing test.
    * t/spy-pattern-rules.sh: New "spy" test, verify our new assumptions on the
    precedence of pattern rules truly hold.
    * t/parallel-tests-longest-stem.sh: New test.
    * t/list-of-tests.mk: Update.
    * doc/automake.texi: Document that $(TESTS) is rewritten for $(EXEEXT)
    appending only when the 'parallel-tests' option is *not* in use.
    Add a "FIXME" comment about the fact that automake does not diagnose test
    cases that start with the '$(srcdir)' or '$(top_srcdir)' anymore.
    * NG-NEWS: Update.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit ed337e64095e11872d9ba69b0ab2fbfed6a49c9d
Author: Stefano Lattarini <address@hidden>
Date:   Fri Apr 20 18:04:47 2012 +0200

    [ng] cleanup: simplify %transforms for parallel-tests handling
    
    * automake.in (handle_tests, handle_per_suffix_test): Drop some %transforms
    previously required when processing 'lib/am/check.am': '%SOURCE%', '%OBJ%',
    '%BASE%' and '?GENERIC?'.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 61a46bc3c98414a12e645d1ac3ceecd99bb1e9d1
Author: Stefano Lattarini <address@hidden>
Date:   Thu Apr 19 14:44:54 2012 +0200

    [ng] parallel-tests: simplify using pattern rules with multiple targets
    
    In GNU make, a pattern with multiple targets, like:
    
        %.tab.c %.tab.h: %.y
                bison -d $<
    
    informs make that the associated recipe (in this example, "bison -d foo.y")
    will make create all the targets *at once* (in this example, both 'x.tab.c'
    and 'x.tab.h').
    
    Using this semantics we can simplify the parallel testsuite harness nicely,
    especially the recipe to build 'test-suite.log' in face of partially
    missing prerequisites (e.g., a missing '.trs' file while the corresponding
    '.log' file is present and up-to-date).
    
    In doing so, we unfortunately lose the ability to cope with very fringe-case
    situations and weird errors (e.g., a '.log' or '.trs' file somehow created
    unreadable), but that's a more than fair trade-off for the simplifications
    we obtain.
    
    * lib/am/check.am (am__set_TESTS_bases): Removed, superseded  by ...
    (am__TEST_BASES): ... this new variable.
    (check-TESTS, recheck): Adjust these recipes.
    (am__TEST_RESULTS): New variable.
    (am__check_pre): Adjust, to avoid an extra error (syntax error in the
    shell) when a circular dependency due to $(TEST_SUITE_LOG) being listed
    in $(TEST_LOGS) is detected.
    ($(TEST_SUITE_LOG)): Recipe heavily edited and simplified.  Also,
    depend on $(am__TEST_RESULTS) explicitly.
    (.log.trs): Remove this suffix rule, superseded by ...
    * lib/am/check2.am (%.log %.trs): ... this new pattern rule.
    Remove obsolete suffix rules.
    (am__runtest): Adjust.
    * automake.in (handle_tests): Adjust minimally.
    * lib/Automake/Rule.pm: Skip detection of duplicated rules for pattern
    rules; it would be tricky, prone to false positives, and not worth it.
    * t/parallel-tests-fork-bomb.sh: Minimal adjustments.
    * t/parallel-tests-unreadable.sh: Adjust functional tests.
    * t/serial-tests.sh: Adjust grepping checks.
    * t/serial-extensions.sh: Likewise.
    * t/parallel-tests-fd-redirect.sh: Relax grepping checks.
    * t/parallel-tests-fd-redirect-exeext.sh: Likewise.
    * t/test-trs-basic.sh: Adjust checks about some internal details that
    have been changed.
    * t/parallel-tests-no-repeat.sh: New test.
    * t/test-trs-recover-parallel.sh: Likewise.
    * t/test-driver-trs-suffix-registered.sh: Remove as obsolete.
    * t/test-missing2.sh: Remove (as "too picky").
    * t/test-trs-recover2.sh: Likewise.
    * t/list-of-tests.mk: Update.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 35341b28e47f9725c9d79b7a37bec3139773045f
Merge: e1e9b1b 64b18e0
Author: Stefano Lattarini <address@hidden>
Date:   Sat Apr 21 10:42:27 2012 +0200

    Merge branch 'master' into ng/master
    
    * master:
      refactor: processing of input makefile rules
      automake: refactor pre-processing of makefile fragments
      docs: remove obsolete references to Autoconf 2.13
      tests: fix spurious failure with non-ANSI terminals
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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


hooks/post-receive
-- 
GNU Automake



reply via email to

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