testsuite: revamp generation of autogenerated tests
authorStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 8 Sep 2011 09:02:05 +0000 (11:02 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 8 Sep 2011 14:32:30 +0000 (16:32 +0200)
commit375f23dfb51caeddc5f0e95d9cf7e2daf8884334
tree237ea415b0ad0ac0f15028a361518da6a9b878eb
parente4777b8dc1a2c22247c6fc251bca06ee1d5acefe
testsuite: revamp generation of autogenerated tests

With this change, we make generated tests be real scripts again
-- albeit only thin layers around the tests they wrap.  It turned
out that the apparently clever tricks we played by having lots
of custom (and auto-generated) `..._LOG_COMPILER' variables and
by having the tests in $(wrap_TESTS) not being real on-file-system
scripts caused more pain and confusion than expected, for only
marginal gains.  Also, that previous setup didn't interact very
well with "make check RECHECK_LOGS=", since the log files for
the "wrappee" tests were always considered out-of-date (which in
hindsight is natural, since these log files depended on wrappee
tests that didn't exist -- and weren't created).  And finally, it
wasn't possible to easily and naturally run the wrappee tests
from the command line -- definitely harmful for debugging and
sanity checking.

* tests/gen-wrap-tests: Deleted, its role subsumed into ...
* tests/gen-tests-deps: ... this script, with the help of
(unindent, atomic_write, build_matcher, write_wrapper_script,
%test_generators): ... these new functions and variables.
Other few minor fixlets and improvements.
* tests/wrap-tests.sh: Delete, not needed anymore.
* tests/Makefile.am ($(srcdir)/wrap-tests.am): Don't generate
nor include anymore.
(EXTRA_DIST): Update.
(wrap_TESTS): Renamed to ...
(generated_TESTS): ... this.
($(generated_TESTS)): Must have the same dependencies of
`$(srcdir)/tests-deps.am'.
Other minor related reordering and adjustments.
* bootstrap: Do not generate `wrap-tests.am' anymore.
* tests/.gitignore (wrap-tests.am): Don't ignore anymore.
(*-w.test, *-w.tap): Ignore.
* tests/README: Update paragraph on automatically-generated
tests.
ChangeLog
bootstrap
tests/.gitignore
tests/Makefile.am
tests/Makefile.in
tests/README
tests/gen-tests-deps
tests/gen-wrap-tests [deleted file]
tests/wrap-tests.sh [deleted file]