lcov,报告未测试标头的0%覆盖率

时间:2012-09-24 23:00:56

标签: c++ code-coverage gcov lcov

我会问一个例子。我们假设以下文件:

root
    - yes.h
    - not.h
    - test.cpp

“test.cpp”包含“yes.h”

当我运行lcov时显示yes.h和test.cpp中涵盖的百分比,但是(这是我的问题)我想要“not.h”的零覆盖条目,这样我真的可以有一个有价值的报道度量。有什么方法可以实现这个目标吗?

这是我的lcov用法:

g++ --coverage test.cpp
lcov --directory . --zerocounters
lcov -c -i -d . -o app_base.info
./a.out
lcov -c -d . -o app_test.info
lcov -a app_base.info -a app_test.info -o app_total.info
geninfo app_total.info

感谢。

1 个答案:

答案 0 :(得分:2)

您可能需要查看lcov的--remove和--extract选项(请参见手册页)。 在您的情况下,您可能想要更改

lcov -a app_base.info -a app_test.info -o app_total.info
geninfo app_total.info

lcov -a app_base.info -a app_test.info -o app_tmp.info
lcov --remove app_tmp.info */not.h --output app_total.info
geninfo app_total.info