By the way, I did not mean that we are doomed that we cannot have
coverage data. We can run emma seperately with windows scheduled task
and send coverage data to hackystat server. We just cannot run it inside
cruisecontrol. Cheers, -Cedric
(Cedric) Qin ZHANG wrote:
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