Hi,
I've just upgraded one of my projects to automake 1.11 in order to use
the parallel-tests driver. Both the manual [1] and the Ralf's post here
[2] describes how to run the test suite lazily as
` make check RECHECK_LOGS='. My question is how it is determined which
tests are run in this case.
It seems like if `foo' is newer than `foo.log', foo will be re-run but
is that the only dependency? I would like to fine tune these
dependencies. For instance, I have a test `yat_m4_test.sh' which uses
$(top_srcdir)/m4/yat.m4 and I want `yat_m4_test.sh' to be re-run when
I've modified `m4/yat.m4'. It seems to work if I add a rule
yat_m4_test.sh: $(top_srcdir)/m4/yat.m4
@touch $@
but preferably I would like to set this dependency without touching the
test. Is that possible?
As I see it there are two reasons why I would like to include a test in
a lazy 'make check' run. 1) Because the test itself has been modified
either directly or if the test is compiled by the compiler. 2) Because
any input file has changed, e.g., yat.m4 in my case or if the test is
testing a script/program it is desired to depend on the script/program.
In case 2) there is no need to update test itself but there is a need to
update the .log file, i.e., to re-run the test.
Thanks,
Peter
[1]
http://sources.redhat.com/automake/automake.html#Simple-Tests-using-parallel_002dtests
[2] http://lists.gnu.org/archive/html/automake/2009-05/msg00124.html