generating branch coverage data for lcov

Hugo picture Hugo · Sep 11, 2012 · Viewed 16.8k times · Source

i'm trying to use lcov for code coverage metrics, but I cannot get branches coverage to work.

Here's how i'm using it:

g++ -ggdb3 --coverage src/read.c tests/test.cpp -o bin/test 
lcov --zerocounters --directory $PWD 
lcov --capture --initial --directory $PWD --output-file coverage_output  
./bin/test 
lcov --no-checksum --directory $PWD --capture --output-file coverage_output 
genhtml --branch-coverage --highlight --legend --output-directory out coverage_output

but i get:

Overall coverage rate:
lines......: 100.0% (60 of 60 lines)
functions..: 100.0% (26 of 26 functions)
branches...: no data found

any ideas?

Answer

Paul Rutland picture Paul Rutland · Jan 25, 2013

The latest version of LCOV disabled branch coverage by default.

You need to re-enable it by either:

  • editing your ~/.lcovrc file (copied from /etc/lcovrc) to change lcov_branch_coverage setting to 1
  • adding --rc lcov_branch_coverage=1 to your lcov command lines