bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LT_AT_MAKE doesn't terminate the test on failure.


From: Peter Rosin
Subject: Re: LT_AT_MAKE doesn't terminate the test on failure.
Date: Tue, 08 Jun 2010 15:07:05 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4

Hi Peter! :-)

Den 2010-06-08 14:33 skrev Peter Rosin:
Hi!

I was looking into a test failure on Cygwin. I see this in the
testsuite output:

Standalone Libltdl.

77: compiling softlinked libltdl FAILED (standalone.at:37)
78: compiling copied libltdl FAILED (standalone.at:52)
79: installable libltdl FAILED (standalone.at:70)

But, the line numbers are incorrect. What really failed is make, and not
what is being reported in the above.

Here's the end of the 77 log: (78 and 79 are similar)

../../tests/standalone.at:35: $MAKE $target
stderr:
make[1]: *** No rule to make target `config/mdate-sh', needed by
`distdir'. Stop.
stdout:
make[1]: Entering directory
`/home/peda/libtool/git/libtool-msvc/cygwin/tests/testsuite.dir/077'
make[1]: Leaving directory
`/home/peda/libtool/git/libtool-msvc/cygwin/tests/testsuite.dir/077'
../../tests/standalone.at:35: exit code was 2, expected 0
../../tests/standalone.at:37: test -f libltdlc.la
77. standalone.at:31: 77. compiling softlinked libltdl
(standalone.at:31): FAILED (standalone.at:37)

As you can see, it's the make statement on line 35 that is failing,
not the "test -f libltdlc.la" on line 37.

I suspect this has something to do with the loop in LT_AT_MAKE, but
my m4-fu is weak...

Sorry to reply to self, but the issue is that there is a subshell in
LT_AT_MAKE (there's one in LT_AT_CONFIGURE too) which stops the
exit from propagating all the way to where it's supposed to.

Maybe adding the following after the end bracket of the sub-shells
in those two macros is acceptable?

$at_failed && at_fn_log_failure

Or is that exploiting too much of the autotest internals? Maybe
there's some public macro that does exactly the above?

(untested, still waiting on the testsuite run to complete)

Cheers,
Peter



reply via email to

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