#207: Use Automake 1.11 to improve the test framework --------------------------+------------------------------------------------- Reporter: levill_r | Owner: levill_r Type: enhancement | Status: new Priority: major | Milestone: Olena 1.1 Component: Olena | Version: 1.0 Resolution: | Keywords: --------------------------+------------------------------------------------- Description changed by levill_r:
Old description:
Automake 1.11 provides a better framework for tests: each test can generate a log file, and the test suite is a mere rule generating a summary log, depending on all these logs. The `check` rule is no longer based on a shell `for` loop, and `make` can truly honors its `-j` (parallel instances) option when testing. Of course, one need to be careful with side effects, notably files created by tests, as one test may overwrite the output(s) of another tests. Akim recommends that test `foo` writes its outputs to `foo.dir`.
Moreover, this permits many improvements:
- One can generate pretty-printed versions of the tests using, e.g.,
`rst2html` (if the log contains an RST output) on the logs.
- One can have a `recheck` rule reruning only the failed tests, since
the first line of the log records the outcome of the test (pass or fail).
- Also, provided dependencies are well set, this can probably help one
write rules to rerun only the needed tests when a change occurred in the source tree (but I don't know yet how to do this).
New description:
Automake 1.11 provides a better framework for tests: each test can generate a log file, and the test suite is a mere rule generating a summary log, depending on all these logs. The `check` rule is no longer based on a shell `for` loop, and `make` can truly honors its `-j` (parallel instances) option when testing. Of course, one needs to be careful with side effects, in particular files created by tests, as one test may overwrite the output(s) of another tests. Akim recommends that test `foo` writes its outputs to `foo.dir`.
Moreover, this permits many improvements: * One can generate pretty-printed versions of the tests using, e.g., `rst2html` (if the log contains an RST output) on the logs. * One can have a `recheck` rule reruning only the failed tests, since the first line of the log records the outcome of the test (pass or fail). * Also, provided dependencies are well set, this can probably help one write rules to rerun only the needed tests when a change occurred in the source tree (but I don't know yet how to do this).
--