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

Reply via email to