FYI - I'm having trouble with emma generating the report. Most likely because we have some byte code generated classes from Jibx that may not have all of the necessary metadata.
------------
2 file(s) read and merged in 220 ms
line coverage requested in a report of type [html] but not all instrumented classes were compiled with line number debug data: this column will be removed from the report.
showing up to 3 classes without full debug info per package:
com.xyz.domain.Alloc
com.xyz.domain.JiBX_MungeAdapter
com.xyz.domain.JiBX_Y__ReportSide_access
java.lang.IllegalArgumentException: null or empty input: name
at com.vladium.util.Descriptors.combine(Descriptors.java:30)
at com.vladium.util.Descriptors.combineVMName(Descriptors.java:45)
at com.vladium.emma.report.ReportDataModel.getView(ReportDataModel.java:76)
at com.vladium.emma.report.AbstractReportGenerator.initialize(AbstractReportGenerator.java:207)
at com.vladium.emma.report.html.ReportGenerator.process(ReportGenerator.java:85)
at com.vladium.emma.report.ReportProcessor._run(ReportProcessor.java:254)
at com.vladium.emma.Processor.run(Processor.java:54)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
FYI - I'm having trouble with emma generating the report. Most likely because we have some byte code generated classes from Jibx that may not have all of the necessary metadata.
------------
2 file(s) read and merged in 220 ms
line coverage requested in a report of type [html] but not all instrumented classes were compiled with line number debug data: this column will be removed from the report.
showing up to 3 classes without full debug info per package:
com.xyz.domain.Alloc
com.xyz.domain.JiBX_MungeAdapter
com.xyz.domain.JiBX_Y__ReportSide_access
java.lang.IllegalArgumentException: null or empty input: name
at com.vladium.util.Descriptors.combine(Descriptors.java:30)
at com.vladium.util.Descriptors.combineVMName(Descriptors.java:45)
at com.vladium.emma.report.ReportDataModel.getView(ReportDataModel.java:76)
at com.vladium.emma.report.AbstractReportGenerator.initialize(AbstractReportGenerator.java:207)
at com.vladium.emma.report.html.ReportGenerator.process(ReportGenerator.java:85)
at com.vladium.emma.report.ReportProcessor._run(ReportProcessor.java:254)
at com.vladium.emma.Processor.run(Processor.java:54)
Looks like Jibx creates invalid SourceFile attributes in the .class files it generates.
A couple of suggestions:
(a) if possible, let EMMA have a crack at your classes before Jibx.
(b) alternatively, exclude the offending classes from coverage instrumentation via one of these options:
(b.1) use an instrumentation filter. Using "*.JiBX*" wildcard will work for the last two sample classes shown above, not sure about Alloc
(b.2) let JiBX output its classes into a separate directory that is excluded from EMMA's instrpath so that EMMA never even sees these classes.
Let me know how it goes,
Vlad.
Instrumentation filter worked just fine. I posted the exception to enable enhancing emma to cleanly handle bad class files.