[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: combined report for make check?
From: |
Stefano Lattarini |
Subject: |
Re: combined report for make check? |
Date: |
Tue, 22 Jan 2013 10:08:09 +0100 |
On 01/22/2013 12:09 AM, Karl Berry wrote:
> This would require to change the 'check-recursive' targets not to
> share the same code with the other '*-recursive' targets. I really
> don't want to go there.
>
> Totally reasonable :).
>
> The best solution is on the user-side IMHO: fix the build system to
> use less (ideally none) make recursion.
>
> I don't know what you mean. Texinfo has several separate programs, each
> with their own tests. Isn't subdirectory recursion the natural way to
> do it? How else?
>
With a non-recursive, top level Makefile. Quick example:
bin_PROGRAMS = old/info old/c-makeinfo
old_info_SOURCES = old/info-reader.c old/term.c
old_c_makeinfo_SOURCES = old/makeinfo.c
bin_SCRIPTS = new/texi2any
new/texi2any: new/texi2any.pl
rm -f $@ address@hidden
sed -e 's|@PERL@|$(PERL)|' <new/texi2any.pl >address@hidden
chmod a+x,a-w address@hidden && mv -f address@hidden $@
TESTS = \
old/tests/info.test \
old/tests/c-makeinfo.test \
old/tests/known-regression.test \
new/tests/texi2dvi.test \
new/tests/texi2info.test \
new/tests/texi2txt.test
The GNU coreutils build system, now (almost) totally non recursive, can be
of help there. See in particular the last lines of:
<http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f=Makefile.am>
the "testsuite" Makefile:
<http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f=tests/local.mk>
and the helper makefile for peoples who want to run "make check" from the
'tests/' subdirectory:
<http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f=tests/GNUmakefile>
See also:
<http://miller.emu.id.au/pmiller/books/rmch/>
<http://www.gnu.org/software/automake/manual/automake.html#Alternative>
(yes, I'm noticing the latter is quite inadequate to show examples of a
real non-recursive build systems; patches would be welcome).
If, after taking a look at those resources, you have more precise questions,
I'll be happy to try to answer them.
> For that, a "screen scraping" script wrapping the 'make check' invocation
>
> Yeah. My related idea was that his build script could run something
> like
> make check || echo "*** tests failed"
> or whatever ...
>
> Thanks,
> Karl
Regards,
Stefano