Run*_*ble 27 code-coverage gcov lcov
我最近开始使用lcov来可视化我的代码覆盖率.这是一个很棒的工具.
我注意到的一件事是它为我正在使用的所有文件生成代码覆盖率报告 - 包括那些我不感兴趣的文件.例如,它将为我提供boost和mysql ++文件的代码覆盖率报告.
是否有一种简单的方法可以强制lcov仅生成特定文件的覆盖率报告?
我试过像这样使用-k参数:
/usr/bin/lcov -q -c -i -b . -d .obj -k src/ -k include/ -o app_base.info {run unit tests now} /usr/bin/lcov -q -c -b . -d .obj -k src/ -k include/ -o app_test.info /usr/bin/lcov -q -a app_base.info -a app_test.info -o app_total.info /usr/bin/genhtml -q -o lcov_output_directory app_total.info
(这意味着我只想要"include"和"src"目录的覆盖文件.)
但是,这似乎不起作用.该报告仍然显示了所有无关的文件.任何建议都非常感谢.谢谢!
pee*_*san 31
我将--no-external
标志与标志一起使用--directory
以排除不需要的文件.
来自男人的外在定义:
外部源文件是不在--directory或--base-directory指定的某个目录中的文件.
所以我的命令看起来像这样:
$ lcov --directory src -c -o report.info --no-external
Capturing coverage data from src
Found gcov version: 4.2.1
Scanning src for .gcda files ...
Found 4 data files in src
Processing src/C####.gcda
ignoring data for external file /usr/include/c++/4.2.1/bits/allocator.h
Run Code Online (Sandbox Code Playgroud)