Menu

EMMA early access build 2.1.5214 available

EMMA is a fast Java code coverage tool based on low overhead bytecode
instrumentation. It is designed to support large scale enterprise software
projects as well as agile personal software processes.

This early access v2.1 build fixes an assortment of small bugs and
implements a feature that's been on frequently requested list for months.

************************************************
CUMULATIVE LIST OF IMPLEMENTED FEATURE REQUESTS:
************************************************

2.1.5214

974340  make concurrent output file writing safer
http://sf.net/tracker/?group\_id=108932&atid=651900&func=detail&aid=974340

v2.1 will default to using a machine-global mutex when writing to the
coverage output file. This mutex implementation is based on a UDP socket
and will work in any J2SE version. Locking behavior is controlled by a
new set of EMMA properties:

rt.filelock:       true
rt.filelock.portbase:  59141
rt.filelock.maxtime:   120000
rt.filelock.retries:   11

File locking is enabled by default but can be disabled using
'rt.filelock' boolean property. The UDP port acquired is a sum of
'rt.filelockbase' and an offset \(0-254\) that is derived from the file's
canonical pathname. This ensures that concurrent JVMs writing to
\*different\* files are unlikely to serialize each other on the same
socket mutex.

'rt.filelock.maxtime' and 'rt.filelock.retries' specify for how long to
try getting the lock and in how many retry attempts, before erroring
out. The retry scheme is exponential backout.

2.1.5124

999764 'v'/'version' command line option
http://sf.net/tracker/?group_id=108932&atid=651900&func=detail&aid=999764

The traditional -v|-version option is now accepted by all command line
tools, to help with issue submission.

977738 an option to auto-exclude empty classes
http://sf.net/tracker/?group_id=108932&atid=651900&func=detail&aid=977738

v2.1 will default to automatically excluding all classes with no methods
(javac has a flaw whereby it will emit such classes for certain code
patterns). This behavior is controlled by a new boolean property
'instr.exclude_empty_classes' that defaults to 'true'. Because such
empty classes affect class coverage, users who wish to retain their
existing coverage numbers can turn this exclusion off. Note that all
other types of coverage are unaffected.

************************************************
CUMULATIVE LIST OF FIXED DEFECTS:
************************************************

2.1.5214

1189166 AIOOBE when handling report properties
http://sf.net/tracker/?group\_id=108932&atid=651897&func=detail&aid=1189166

1015721 whitespace at end of property values
http://sf.net/forum/forum.php?forum\_id=386606

1077741 report tool problem with "/"-prefixed report locations
http://sf.net/tracker/?group\_id=108932&atid=651897&func=detail&aid=1077741

1002854 sourcepath and java file locations
http://sf.net/tracker/?group\_id=108932&atid=651897&func=detail&aid=1002854

2.1.5124

(none)

Posted by Vlad Roubtsov 2005-05-14

Log in to post a comment.