Hi,
We have a unit test that loads classes into another classloader. although we have the coverage data for those classes. Clover is unable to link the per-test coverage data to the unit test. Can you please help.
Regards,
Binod
It might be a problem that per-test coverage files written by Clover's coverage recorders from two different class loaders have the same file name and they're being overwritten, resulting in loss of coverage data. This might explain why you see incorrect per-test coverage in the report. I'll be happy to investigate it further - could you raise a support ticket at http://support.atlassian.com (in the 'Clover Support' project) and attach some code samples and build logs?
I am getting the coverage in the overall report but the per-test code coverage information that is generated is not correct. I want that per-test coverage report to point me to classes that were covered in the other classloader.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It might be a problem with availability of Clover runtime classes in your custom class loader. If classes are not found, then coverage will not be recorded. Does your class loader have the clover.jar on classpath? Do you have any exceptions in the log like NoClassDefFoundError? Have you tried to run your application with -Dclover.logging.level=debug to get more information?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Marek,
Thanks for the quick reply. We use clover-for-ant and the clover version is 3.1. We are running the unit test in one jvm only and do not spawn a new process, but we do use multiple classloaderd within the same jvm to load the same classes in multiple class loader so that we can simulate 2 similar env in the same jvm.
It does not spawn a new process therefore I am not sure how to use the distributed coverage features.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Binod, could you give more details how your project and tests are organized? Which Clover version do you use? Do you use Clover-for-Ant or Clover-for-Maven (or other)? How your unit test works exactly - does it spawn another process? Have you tried to use the Clover's "distributed coverage" feature?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.