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