Subject: Re: bug#27186: check-TESTS has dependency on check_PROGRAMS etc

From: Mathieu Lirzin <[email-masked]>
Date: Sun, 16 Jul 2017 00:57:36 +0200

Hello,

Nick Brown <[email-masked]> writes:

> On Mon, 2017-06-05 at 00:45 +0200, Mathieu Lirzin wrote:
>> 
>> Nick Brown <[email-masked]> writes:
>> 
>> > Something like: 
>> >    ./autogen.sh 
>> >    ./configure 
>> >    make check-TESTS 
>> > will fail, unless 'make check' is run before 'make check-TESTS'
>> > for 
>> > Makefile.am snippet like: 
>> > 
>> > check_PROGRAMS = foo 
>> > check_SCRIPTS = run_foo_wrapper.sh 
>> > TESTS = $(check_SCRIPTS) 
>> > --- 
>> >  lib/am/check.am | 3 ++- 
>> >  1 file changed, 2 insertions(+), 1 deletion(-) 
>> > 
>> > diff --git a/lib/am/check.am b/lib/am/check.am 
>> > index 7bcffd53faa8..15cfc7c64598 100644 
>> > --- a/lib/am/check.am 
>> > +++ b/lib/am/check.am 
>> > @@ -401,7 +401,8 @@ RECHECK_LOGS = $(TEST_LOGS) 
>> >  ## Running all tests, or rechecking failures. ## 
>> >  ## ------------------------------------------ ## 
>> >   
>> > -check-TESTS: 
>> > +## Running tests depend on $(check_SCRIPTS), $(check_PROGRAMS),
>> > etc. 
>> > +check-TESTS: %CHECK_DEPS% 
>> >  	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm
>> > -f $$list 
>> >  	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm
>> > -f $$list 
>> >  ## We always have to remove $(TEST_SUITE_LOG), to ensure its rule
>> > is run 
>> > -- 
>> 
>> I must confess I have never used the 'check-TESTS' target myself.  In
>> fact Automake current manual doesn't even mention it.  So it is not
>> clear to me how it is expected to work, and what its role compare to
>> the
>> 'check' and 'recheck' target.  Since you seems to use it, maybe you
>> can
>> give me more background on that target?
>
> As far as I've been able to determine it's purpose is to actually
> execute the the test scripts, and is used by the 'check' target for
> this.
> I don't use it myself directly, but bumped into this issue when using
> the the AX_VALGRIND automake macro that uses this target:
> https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html
>

while I think nobody should rely on 'check-TESTS' target which is an
implementation detail.  I think it is fine to make it depends on
check_PROGRAMS and check_SCRIPTS.

This is fixes by commit 8555e7b81d0d68e1e8105d072d69b94788953e15.

Thank you.

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37