[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-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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, experimental/parallel-tests-pattern-rules, created. v1.11b-129-g90e13f6,
Stefano Lattarini <=