On May 11, 2009 10:26am, johnwohlbier@xxxxxxxxx wrote:
On May 11, 2009 9:59am, johnwohlbier@xxxxxxxxx wrote:
> I have a testsuite hanging and for the life of me I can't figure out
what is going on. For some sub-libraries within my project autotest works
fine. For other sub-libraries it hangs. The libraries share common
local.at and atconfig files, etc. In fact the Makefile.am's for the
different sub-libraries are made by the same bootstrap script, which also
copies the same local.at into the different locations. So it almost feels
like the *source code* for the different sub-libraries is the culprit,
even though that sounds crazy.
>
>
>
> The hang looks like this:
>
>
>
> [wohlbier@beepbeep test]$ make check
>
> make check-local
>
> make[1]: Entering directory
`/home/wohlbier/pika_relay/branches/build-branch/build/lib/pika_utilities/test'
>
> /usr/bin/autom4te --language=autotest
-I '/home/wohlbier/pika_relay/branches/build-branch/src/pika_utilities/test'
-o testsuite.tmp testsuite.at
>
> mv testsuite.tmp testsuite
>
> /bin/sh 'testsuite'
>
> ## ------------------------------------------ ##
>
> ## pika_utilities test suite: pika_utilities. ##
>
> ## ------------------------------------------ ##
>
>
>
> Running ./testsuite -v gives the same thing. I've shrunk the
testsuite.at to call only one test, and again the test is a macro that
works within other sublibraries!
>
>
>
> At this point I think I'm looking for recommendations on how to debug
this. I can provide any information that is needed. Thanks.
>
I reduced my macro down to a minimal set and I think I have some more
information. When I use this macro
m4_define([CCS_AT_RUN],
[AT_BANNER([testing $1])
AT_SETUP([$1])
echo "this is $1"
AT_TESTED([])
AT_CLEANUP])
Invoked like this
CCS_AT_RUN([test_Comp_Cart_Part],[1 2 4])
and make check, followed by ./testsuite -v I get
[wohlbier@beepbeep test]$ ./testsuite -v
## ------------------------------------------ ##
## pika_utilities test suite: pika_utilities. ##
## ------------------------------------------ ##
pika utilities
testing test_Comp_Cart_Part
1. testsuite.at:7: testing ...
this is test_Comp_Cart_Part
1. testsuite.at:7: ok
## ------------- ##
## Test results. ##
## ------------- ##
1 test was successful.
[wohlbier@beepbeep test]$
However, If I add $1 to the argument of AT_TESTED, viz
m4_define([CCS_AT_RUN],
[AT_BANNER([testing $1])
AT_SETUP([$1])
echo "this is $1"
AT_TESTED([$1])
AT_CLEANUP])
and call it in the same way, I get the hang.
Does this glean any information for anyone?
And finally, the reason the macro was "working" in the other libraries is
that those tests were passing. In the case where I was seeing the testsuite
hang, it was b/c the tests were failing and exiting with exit(1). In fact,
then, the hang was due to my source code being incorrect.
Does this indicate an improperly designed macro? Should AT_TESTED([$1])
only be called for tests that pass, or at least terminate in a prescribed
manner?
jgw
_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf