[Top][All Lists]
[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-127-gdd2fd4b |
Date: |
Sun, 22 Apr 2012 13:17:40 +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=dd2fd4b1f06192ceec29e9ad653c615d23c19e77
The branch, experimental/parallel-tests-pattern-rules has been created
at dd2fd4b1f06192ceec29e9ad653c615d23c19e77 (commit)
- Log -----------------------------------------------------------------
commit dd2fd4b1f06192ceec29e9ad653c615d23c19e77
Author: Stefano Lattarini <address@hidden>
Date: Sun Apr 22 15:15:02 2012 +0200
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.
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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, experimental/parallel-tests-pattern-rules, created. v1.11b-127-gdd2fd4b,
Stefano Lattarini <=