lcov命令的使用方法请参考man手册或者参考lcov --help
这里主要关注的下面这几个参数:
另外还有需要说明的是:
lcov默认不会打开分支覆盖率,因此我们还需要增加这个参数来打开分支覆盖率的计算:
COVERAGE_FILE=coverage.info
REPORT_FOLDER=coverage_report
lcov --rc lcov_branch_coverage=1 -c -d build -o ${COVERAGE_FILE}_tmp
lcov --rc lcov_branch_coverage=1 -e ${COVERAGE_FILE}_tmp "*src*" -o ${COVERAGE_FILE}
genhtml --rc genhtml_branch_coverage=1 ${COVERAGE_FILE} -o ${REPORT_FOLDER}
这段代码从我们前面编译的结果中收集覆盖率结果,并将结果输出到coverage.info_tmp文件中。但是这里面会包含非项目源码的覆盖率(例如google test),所以我们又通过另外一条命令来指定”src”文件夹进行过滤。最后,通过genhtml得到html格式的报告。