Hello, there were some patches I pushed to the master, ad-parallel-tests, and next branches before creating 1.10b, which I haven't posted on this list yet. I would like to do this now, before going on.
The following is the only remaining patch pushed to ad-parallel-tests, to implement recheck-html, document and test it. Nothing spectacular, except that it took me several mails of Akim to understand that it's wrong and introduces some bugs that Akim's version didn't have. For one, I factored recheck-html with check-html which turned out to be suboptimal wrt. generation of check_PROGRAMS etc. Working on a fix. Sorry bout that. Cheers, Ralf 2009-03-29 Ralf Wildenhues <ralf.wildenh...@gmx.de> Akim Demaille <a...@lrde.epita.fr> parallel-tests: New target recheck-html. * lib/am/check.am [PARALLEL_TESTS] (recheck-html): New phony, recursive target. Factor common implementation with `check-html'. * doc/automake.texi (Tests): Document recheck-html. * tests/parallel-tests2.test: Test it. diff --git a/doc/automake.texi b/doc/automake.texi index 84a8a21..6ea02ed 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -8510,10 +8510,13 @@ env RECHECK_LOGS= make -e check @item @trindex recheck +...@trindex recheck-html You can ensure that all tests are rerun which have failed or passed unexpectedly, by running @code{make recheck} in the test directory. This convenience target will set @code{RECHECK_LOGS} appropriately -before invoking the main test driver. +before invoking the main test driver. The @code{recheck-html} target +does the same as @code{recheck} but again converts the resulting log +file in HTML format, like the @code{check-html} target. @end itemize In order to guarantee an ordering between tests even with @code{make diff --git a/lib/am/check.am b/lib/am/check.am index d7ea96e..a83f149 100644 --- a/lib/am/check.am +++ b/lib/am/check.am @@ -275,14 +275,15 @@ recheck: recheck-am # Be sure to run check-TESTS first, and then to convert the result. # Beware of concurrent executions. And expect check-TESTS to fail. -check-html: - @if $(MAKE) $(AM_MAKEFLAGS) check-TESTS; then \ +check-html recheck-html: + @target=`echo $@ | sed 's/-html$$//'`; \ + if $(MAKE) $(AM_MAKEFLAGS) $$target-TESTS; then \ rv=0; else rv=$$?; \ fi; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_HTML) || exit 4; \ exit $$rv -.PHONY: check-html -.MAKE: check-html +.PHONY: check-html recheck-html +.MAKE: check-html recheck-html else !%?PARALLEL_TESTS% diff --git a/tests/parallel-tests2.test b/tests/parallel-tests2.test index 61b05e8..f9e2a3c 100755 --- a/tests/parallel-tests2.test +++ b/tests/parallel-tests2.test @@ -16,6 +16,7 @@ # Check parallel-tests features: # - check-html +# - recheck-html required=rst2html . ./defs-p || Exit 1 @@ -63,4 +64,9 @@ env TESTS=foo.test $MAKE -e check-html >stdout || { cat stdout; Exit 1; } cat stdout test -f mylog.html +# Create HTML output also with recheck-html +rm -f mylog.html +env TESTS=foo.test $MAKE -e recheck-html >stdout || { cat stdout; Exit 1; } +cat stdout +test -f mylog.html :