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-129-g90e13f6
Date: Sun, 22 Apr 2012 22:56:12 +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=90e13f65dba2e0b846ed7da1a2a02d6f2378a97e

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

- Log -----------------------------------------------------------------
commit 90e13f65dba2e0b846ed7da1a2a02d6f2378a97e
Author: Stefano Lattarini <address@hidden>
Date:   Sun Apr 22 21:06:13 2012 +0200

    [ng] build: define $(TESTS) through a wildcard
    
    We can finally do that thanks to our recent improvements to the parallel
    testsuite harness :-)
    
    * t/list-of-tests.mk: Delete.
    * t/CheckListOfTests.am: Likewise, the checks it implemented being now
    redundant.
    * syntax-checks.mk (maintainer-check): Don't depend on the obsolete and
    now removed 'maintainer-check-list-of-tests' check anymore.
    * Makefile.am: Don't include those deleted makefile fragments anymore.
    (TESTS): Define through a proper use of the $(wildcard) GNU make builtin.
    (perl_fake_XFAIL_TESTS, XFAIL_TESTS): Moved in from 't/list-of-tests.mk'.
    ($(srcdir)/t/testsuite-part.am): Don't generate nor include anymore, ...
    ($(srcdir)/autodeps.am): ... generate and include this instead.
    Remove explicit dependency of the generated tests and their list on the
    '$(srcdir)/gen-testsuite-part' file; while technically correct, that was
    overly picky and source of problems for casual testers/users.  And anyway,
    we don't have an explicit list of all the generated files anymore ...
    * bootstrap: Adjust, by generating 'testsuite-autodeps.am' rather than
    't/testsuite-part.am'.
    * .gitignore: Update.
    * t/self-check-dir.tap: Update to avoid a spurious failure due to the
    changes in Makefile.am.
    * gen-testsuite-part: Do not output the list of automatically generated
    tests.  Ensure the generated tests are always placed in the $(srcdir).
    Assume (here and in the generated scripts) that all the test scripts
    (whther autogenerated or not) are to be found in $(srcdir).  Adjust some
    comments.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 21597643fb7a1c57ab5bd6c55f925654c1f3731c
Author: Stefano Lattarini <address@hidden>
Date:   Sun Apr 22 16:37:11 2012 +0200

    [ng] parallel-tests: support "TESTS = $(srcdir)/foo.test"
    
    This change fixes a small but annoying limitation of the parallel
    testsuite harness.   Before this change, if $(TESTS) contained a test
    case with '$(srcdir)' in its name:
    
      TESTS = $(srcdir)/foo.test
    
    the parallel testsuite driver would have created the 'foo.log' and
    'foo.trs' files in the source directory rather than in the build
    directory.  This made it impossible to employ useful constructs of the
    following kind:
    
      TESTS = $(wildcard *.test)
    
    in a VPATH setup.  In fact, the idiom as written above would have missed
    any test in the source directory (i.e., any non-generated tests), while
    the "corrected" idiom:
    
      TESTS = $(wildcard $(srcdir)/t[0-9][0-9]*.sh t[0-9][0-9]*.sh)
    
    would have created the '.log' and '.trs' files for any distributed test
    in the source directory.
    
    After this change, the "corrected" idiom above is usable, and created
    '.log' and '.trs' files in the build directory.
    
    * doc/automake.texi: Don't warn about the old limitation anymore.
    * NG-NEWS: Document that that limitation has been lifted.
    * lib/am/check.am (am__cooked_tests): New variable, containing all the
    entries of $(TESTS) with $(srcdir) prefix (if present) removed.
    * am__cooked_tests: Likewise, but for the contents of $(XFAIL_TESTS).
    * automake.in (handle_tests): Adjust the definition of $(TEST_LOGS) to
    use '$(am__cooked_tests)' instead of raw '$(TESTS)'.
    * t/parallel-tests-srcdir-in-test-name.sh: Adjust to test the new
    semantics.
    * t/list-of-tests.mk (XFAIL_TESTS): Remove the above test, it now
    passes.
    * t/parallel-tests-dynamic.sh: Enhance a little.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 0f6f4de3e769b5d0f13e40523409257da7e3cb61
Author: Stefano Lattarini <address@hidden>
Date:   Sun Apr 22 15:15:02 2012 +0200

    [ng] coverage: parallel-tests and dynamic $(TESTS) content
    
    The recent changes to the parallel-tests implementation should allow us
    to define or override TESTS with more dynamic contents; in particular,
    something like:
    
      TESTS = $(wildcard t[0-9][0-9]*.sh)
    
    should now work smoothly.  Let's cover this enhanced functionalities
    explicitly in our testsuite.
    
    * t/parallel-tests-dynamic.sh: New test.
    * t/list-of-tests.mk: Add it.
    * NG-NEWS: Document the new feature.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

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>

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


hooks/post-receive
-- 
GNU Automake



reply via email to

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