Ok, Mike and I spent 2 days on this one:
Just a summay of what we were doing with emma on hackydev: not good.
1. with release version of emma
Everything is cool when you excute "ant -f emma.build.xml
hackyCore_Build.emma" directly from inside a console window. But when
this is run as a subprocess of cruisecontrol, it seems that emma never
gets notified when tomcat shuts down (more specifically, jvm
termination), thus no "coverage.ec" file is generated.
I think under both scenario, the same win32 api function (CreateProcess)
is called.
2. with latest beta of emma, it is claimed that there is no longer any
need to terminate jvm to get coverage information.
After replacing
<exec executable="cmd.exe" spawn="false">
<arg line="/c shutdown.bat"/>
</exec>
with
<emma>
<ctl connect="localhost:47653" >
<command name="coverage.get" args="mycoverage.ec" />
</ctl>
</emma>
I got
java.lang.IllegalAccessError: tried
to access method
com.vladium.emma.ctl.ctlCommand.tokenize(Ljava/lang/String;Ljav
a/lang/String;Z)[Ljava/lang/String; from class
com.vladium.emma.ctl.ctlTask$comm
andElement
I guess that's why they did not call it release version.
Cheers,
Cedric