Project

General

Profile

Actions

CodeCoverage » History » Revision 3

« Previous | Revision 3/8 (diff) | Next »
Yi Huang, 03/18/2014 05:46 PM


Code Coverage

This guide has instructions to generate code coverage report on your local machine in HTML or plain text.

Install required command-line tool (gcovr) and configure the project to generate temporary profiling files:

  1. Install gcovr on your machine. sudo easy_install gcovr

  2. When configuring, add option "--with-coverage" (e.g. ./waf configure --with-tests --with-coverage). If the build or running unit tests requires other packages, all the packages should be configured with the option "--with-coverage". For example, ndn-cpp-dev requires ndnd-tlv to run its unit tests, then when configuring ndn-cpp-dev, we should use "./waf configure --with-tests --with-coverage", and when configuring ndnd-tlv, we should use "./waf configure --with-coverage".

To create code coverage report (HTML format) follow the steps below:

  1. After building the project and running unit tests, use gcovr to generate detailed code coverage report in html form. The following is a one-liner:
    mkdir build/coverage; gcovr -r . --object-directory=build/ --html --html-details -o build/coverage/coverage.html

  2. Use any browser to open build/coverage/coverage.html to see the code coverage report.

To create code coverage report (PLAIN TEXT) follow the steps below:

  1. After building the project and running unit tests, use gcovr to generate detailed code coverage report in plain text. The command is:
    gcovr -r . --object-directory=build/ --html-details -o build/coverage.txt

  2. Use any plain text editor/reader to open build/coverage.txt to see the code coverage report.

##To view the detailed code coverage report on Jenkins for builds triggered by Gerrit

  1. Click on the build link that Jenkins posted as a comment on Gerrit.

  2. Click on the label "code-coverage" under "Configuration"

  3. Click on "Cobertura Coverage Report" to see the detailed code coverage report for the build.

Updated by Yi Huang almost 11 years ago · 7 revisions