automake
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]