[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-126-g31b03db |
Date: |
Sat, 21 Apr 2012 09:05:30 +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=31b03db7ccba1d1256138f4dcaedba0b367aaa42
The branch, experimental/parallel-tests-pattern-rules has been created
at 31b03db7ccba1d1256138f4dcaedba0b367aaa42 (commit)
- Log -----------------------------------------------------------------
commit 31b03db7ccba1d1256138f4dcaedba0b367aaa42
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. As a result, this test
now verifies that the workaround given in NG-NEWS work as expected.
* 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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, experimental/parallel-tests-pattern-rules, created. v1.11b-126-g31b03db,
Stefano Lattarini <=