#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).
--
--
Ticket URL: <https://trac.lrde.org/olena/ticket/207#comment:1>
Olena <http://olena.lrde.epita.fr>
Olena, a generic and efficient C++ image processing library.