EMMA instructions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Attached is a file with some instructions on how to use EMMA to generate
the coverage reports for Mauve/Classpath.

I will be on IRC in the next few days and will try to commit a script
that automatically generates a list of which classes can be
instrumented.  I've included instructions on how that script can be
written in the attachment.

Hopefully I'll be on IRC in the next little while and find time to make
some small contributions to the community.  

Thanks very much for the experience and camaraderie of the past 16
months.

Cheers,
Tony 
EMMA INSTRUCTIONS:
=======================

- the following instructions refer to "emma.jar".  Copy this from 
  /home/abalkiss/emma.jar.


THE SETUP:
 - create a folder for instrumented sources, $INST
 - cp -r "/home/user/sources/classpath/install" $INST
 - cd $INST/install/share/classpath
 - cp emma.jar .
 - fastjar xf emma.jar
 - (unzip glibj.zip and remove glibj.zip)
 - setup a JamVM (--disable-zip, --with-classpath-install-dir=$INST/install 
   --prefix=$JAMINSTR)


INSTRUMENT THE CLASSPATH INSTALLATION
 - cd sources/mauve
 - for the following commands, "JAVA" has been tested as either gij or Sun's 
   java
 - JAVA -cp emma.jar emma instr -m overwrite -cp $INST/$SUBFOLDER
 - a list of $SUBFOLDERs that can be instrumented is at the bottom of this file
 - this will drop a "coverage.em" into sources/mauve -> this is one of the 
   files needed to generate the report


RUN THE TESTS USING THE INSTRUMENTED VM
 - JAVA Harness -vm $JAMINSTR/bin/jamvm gnu/testlet
 - when the tests complete, a "coverage.ec" will be dropped into sources/mauve
   -> this is needed to generate the report


GENERATE THE REPORT
 - JAVA -cp emma.jar emma report -r html -sp $CPSRC -in coverage.em,coverage.ec 
	-Dreport.sort=+name
 - notes: $CPSRC is the path to your regular Classpath sources, not 
   instrumented, not the build folder. For me, this is 
   /home/abalkiss/.workspace/classpath.  For you this might be 
   /home/fitzsim/sources/classpath.  This is so the line-by-line hilighting 
   can be done.
 - this drops a "coverage" folder into sources/mauve -> this is the web report.
   coverage/index.html is the start page.


***SUBFOLDERS THAT CAN BE INSTRUMENTED***
the folders/classes that can currently be instrumented is reflected in the 
script on builder.classpath.org "MauveEMMA"

When instrumenting, EMMA accepts only a folder or a jar file, so if you want 
to test down to the class level which files can be instrumented, you should 
create a jar file containing the class and instrument it.  This can be 
seen in the MauveEMMA script on builder as well.

A script that automatically determines which classes can be instrumented 
can be written in this way - create a jar containing a single .class file, 
instrument it, try to run the jamvm built against it, and if the Harness 
starts up and everything is okay, this file can be instrumented.

[Index of Archives]     [Linux Kernel]     [Linux Cryptography]     [Fedora]     [Fedora Directory]     [Red Hat Development]

  Powered by Linux