etap icon indicating copy to clipboard operation
etap copied to clipboard

make test fails (on 64b systems)

Open wkhere opened this issue 16 years ago • 1 comments

Hi! I can't get etap to work on 3 different machines; It doesn't pass its `make test', crashing here:

Running tests for etap_t_011 erl -pa ../ebin -run etap_t_011 start -run init stop -noshell 1..0 # skip {"init terminating in do_boot",{badarg,[{etap,end_tests,0},{init,start_it,1},{init,start_em,1}]}}

Crash dump was written to: erl_crash.dump init terminating in do_boot () make[1]: *** [etap_t_011] Error 1 make[1]: Leaving directory `/home/wk/src/etap/t' make: *** [test] Error 2

Git bisection showed the affected commit is: commit f5d36d0c34696b2def2f658cb9cc8733a27ba2e5 Author: Nick Gerakines [email protected] Date: Fri Apr 24 18:33:42 2009 -0700

Adding support for unknown test plans. Bumped version to 0.3.4

Fallback to previous commit makes it pass. I don't believe some bug was unnoticed for so long so I guess there may be some locality - all 3 systems are 64b machines, Debian and Ubuntu with R13B01 compiled by hand.

Funny thing is that I don't have access to any 32b erlang right now so I can't investigate it more. It may be that you and most users have the opposite setting.

cheers, Wojtek

wkhere avatar Sep 10 '09 18:09 wkhere

Seems to be caused by the "etap_server ! {self(), state}" line that was added to end_tests/0. It appears that, in this test, etap_server isn't registered at the time of that call, and so the failure. The problem seems to go away if I wrap that sequence with a call to whereis(etap_server) to check whether we can send the message (and to perform the subsequent receive, etc).

As a data point, I hit the same issue on a 32-bit Windows box, running R13B02.

Scanning through the code a bit, it appears that etap_server just doesn't get started at all given the etap:plan(skip) call in etap_t_011.erl, but etap:end_tests() now relies on etap_server to be registered.

oseiler avatar Nov 05 '09 06:11 oseiler