Subject: bug#14337: Acknowledgement (Nothing to be done for `base.log'.)

From: Stefano Lattarini <[email-masked]>
Date: Fri, 03 May 2013 11:27:21 +0200

retitle 14337 Uncleer error messages when a test script is missing
severity 14337 minor
tags 14337 wontfix
thanks

On 05/03/2013 02:48 AM, Bruce Korb wrote:
>
> It's taken me a few hours to unwind all this stuff, but the bottom line
> seems to be that "make check" doesn't think it needs to do anything to
> make the test log file.
>
> Googling for:  "making test-suite.log: failed to create" log "nothing to
> be done for" did not yield any useful hints.
>
> Help, please?
>
> P.S. this only happens for srcdir != builddir builds
> and the xtrace output below is triggered by manually inserting
> "set -x" into the $(TEST_SUITE_LOG): rule.
>
> ===========================
>
> $ make check
> [.....]
>  >bash> make base.log
> make[3]: Entering directory `/u/bkorb/ag/mypw/mypw-0.1-dev11/_build/tests'
> make[3]: Nothing to be done for `base.log'.
> make[3]: Leaving directory `/u/bkorb/ag/mypw/mypw-0.1-dev11/_build/tests'
>  >bash> am__dry=no
>  >bash> case $MAKEFLAGS in
>  >bash> for am__flg in '$MAKEFLAGS'
>  >bash> case $am__flg in
>  >bash> for am__flg in '$MAKEFLAGS'
>  >bash> case $am__flg in
>  >bash> for am__flg in '$MAKEFLAGS'
>  >bash> case $am__flg in
>  >bash> test no = yes
>  >bash> st=0
>  >bash> errmsg='fatal: making test-suite.log: failed to create'
>  >bash> for i in '$redo_bases'
>  >bash> test -f base.trs
>  >bash> echo 'fatal: making test-suite.log: failed to create base.trs'
> fatal: making test-suite.log: failed to create base.trs
>  >bash> st=1
>  >bash> test -f base.log
>  >bash> echo 'fatal: making test-suite.log: failed to create base.log'
> fatal: making test-suite.log: failed to create base.log
>  >bash> st=1
>  >bash> test 1 -eq 0
>  >bash> exit 1
> make[2]: *** [test-suite.log] Error 1
> make[2]: Leaving directory `/u/bkorb/ag/mypw/mypw-0.1-dev11/_build/tests'
> make[1]: *** [check-TESTS] Error 2
> make[1]: Leaving directory `/u/bkorb/ag/mypw/mypw-0.1-dev11/_build/tests'
>
> =====================  Makefile.am:
>
> TESTS = base.test
>
> TESTS_ENVIRONMENT = builddir=`pwd`
>
BTW, TESTS_ENVIRONMENT should be reserved for the user; you should
employ AM_TESTS_ENVIRONMENT to pass developer-defined environment
to the tests (the manual should speak about this).

> [LATER ...]
>
> Never mind.  I think the test driver code should say something
> useful, however.  I neglected to notice that EXTRA_DIST should
> include $(TESTS) or the tests won't get rolled into the tarball.
> 
> test -f $test_file || { echo cannot find $test_file ; exit 1 } 1>&2
>
That would prevent the user to use the contents of $(TESTS) as
parameters (with no real associated test script) for a single test
driver, a feature that has been supported until today (and Automake
itself once used to employ in its testsuite).

Not sure how actually useful that usage can be, but I see no
pressing reasons to change the status quo ATM.  Other people might
think differently though, and I'm ready to change my mind, so I
won't close this report for the moment being.

Regards,
  Stefano