Code Coverage in Team Concert for Mac
Hi,
I'm working in a Software Engineering class and we are using Team Concert this semester. We want the students to use the code coverage tool and we have successfully gotten it to run on Windows. However, we are having issues when we run it on a mac. We are able to check the box to enable static code instrumentation, but whenever we run a unit test (or anything else) while the code coverage is enabled, we get errors similar to
Failed to invoke suite(): java.lang.ClassFormatError: LVTT entry for 'queries' in class file edu/ncsu/csc/itrust/DBBuilder does not match any LVT entry.
Any help would be appreciated!
I'm working in a Software Engineering class and we are using Team Concert this semester. We want the students to use the code coverage tool and we have successfully gotten it to run on Windows. However, we are having issues when we run it on a mac. We are able to check the box to enable static code instrumentation, but whenever we run a unit test (or anything else) while the code coverage is enabled, we get errors similar to
Failed to invoke suite(): java.lang.ClassFormatError: LVTT entry for 'queries' in class file edu/ncsu/csc/itrust/DBBuilder does not match any LVT entry.
Any help would be appreciated!
2 answers
I'm surprised you got this to work on Windows because we frequently
experienced the problem there. Were you compiling the exact same classes on
both platforms? The issue is tracked in workitem 33604. From my
investigation it's related to the use of Java 5.0 generics specifically it
appeared more to be an issue of assignment of generics to a local variable
then having or using generics in general which was initially believed to be
the cause. I was finally able to narrow the problem down in a simple test
case that you can see in comment 13 of that defect. Our component team was
heavy users of the Jazz based code coverage tools until we ran into this
problem about a year ago now. The issue never made the priority list for
the 1.0 release so I found an alternative for our team to use at
www.eclipse.org. We started to use ECLEmma at the beginning of this year
and have been using it since. It's free and installable from an update
site. It has a nice integration with Eclipse. It also supports providing
coverage data for our server side code running in Jetty inside the IDE which
our coverage tooling has never done and we desperately wanted. It doesn't
have the nice integration into an automated continuous build however like
the Jazz offering does. Strangely...in that context the Jazz solution
doesn't have the LVTT problem.
Don Weinand
Jazz Team Build
"ljhaywar" <ljhaywar> wrote in message
news:g8n9ra$eh4$1@localhost.localdomain...
experienced the problem there. Were you compiling the exact same classes on
both platforms? The issue is tracked in workitem 33604. From my
investigation it's related to the use of Java 5.0 generics specifically it
appeared more to be an issue of assignment of generics to a local variable
then having or using generics in general which was initially believed to be
the cause. I was finally able to narrow the problem down in a simple test
case that you can see in comment 13 of that defect. Our component team was
heavy users of the Jazz based code coverage tools until we ran into this
problem about a year ago now. The issue never made the priority list for
the 1.0 release so I found an alternative for our team to use at
www.eclipse.org. We started to use ECLEmma at the beginning of this year
and have been using it since. It's free and installable from an update
site. It has a nice integration with Eclipse. It also supports providing
coverage data for our server side code running in Jetty inside the IDE which
our coverage tooling has never done and we desperately wanted. It doesn't
have the nice integration into an automated continuous build however like
the Jazz offering does. Strangely...in that context the Jazz solution
doesn't have the LVTT problem.
Don Weinand
Jazz Team Build
"ljhaywar" <ljhaywar> wrote in message
news:g8n9ra$eh4$1@localhost.localdomain...
Hi,
I'm working in a Software Engineering class and we are using Team
Concert this semester. We want the students to use the code coverage
tool and we have successfully gotten it to run on Windows. However,
we are having issues when we run it on a mac. We are able to check
the box to enable static code instrumentation, but whenever we run a
unit test (or anything else) while the code coverage is enabled, we
get errors similar to
Failed to invoke suite(): java.lang.ClassFormatError: LVTT entry for
'queries' in class file edu/ncsu/csc/itrust/DBBuilder does not match
any LVT entry.
Any help would be appreciated!