Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-721

Code coverage reports



    • New Feature
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • None
    • core/other
    • None
    • New


      Hi all,

      We should be able to measure the code coverage of our unit testcases. I believe it would be very helpful for the committers, if they could verify before committing a patch if it does not reduce the coverage.

      Furthermore people could take a look in the code coverage reports to figure out where work needs to be done, i. e. where additional testcases are neccessary. It would be nice if we could add a page to the Lucene website showing the report, generated by the nightly build. Maybe you could add that to your preview page (LUCENE-707), Grant?

      I attach a patch here that uses the tool EMMA to generate the code coverage reports. EMMA is a very nice open-source tool released under the CPL (same license as junit). The patch adds three targets to common-build.xml:

      • emma-check: verifys if both emma.jar and emma_ant.jar are in the ant classpath
      • emma-instrument: instruments the compiled code
      • generate-emma-report: generates an html code coverage report

      The following steps are neccessary in order to generate a code coverage report:

      • add emma.jar and emma_ant.jar to your ant classpath (download emma from http://emma.sourceforge.net/)
      • execute ant target 'emma-instrument' (depends on compile-test, so it will compile all core and test classes)
      • execute ant target 'test' to run the unit tests
      • execute ant target 'generate-emma-report'

      To view the emma report open build/test/emma/index.html


        1. clover.patch
          2 kB
          Michael Busch
        2. code_coverage.patch
          4 kB
          Michael Busch
        3. emma_report.zip
          847 kB
          Michael Busch



            gsingers Grant Ingersoll
            michaelbusch Michael Busch
            1 Vote for this issue
            0 Start watching this issue