LCOV从代码覆盖率分析中排除整个包

时间:2016-10-04 17:47:47

标签: html c++ regex gcov lcov

我使用LCOV作为代码覆盖的图形方式,告诉我我测试了多少代码,但是它包括我不关心的代码文件夹以及它& #39;使我的报道低于实际应用的范围。

有没有办法排除整个目录,我可以忽略一堆我不关心的cpp文件?我知道--remove,但这似乎并不适用于此目的。我想排除遵循此模式的所有文件夹:

Src / GeneralSubSystems / GA / 除了迭代器

这是我想忽略的目录

**Src/GeneralSubSystems/GA/Iterators**  I want to include this but exclude everything else
Src/GeneralSubSystems/GA/Converters 
Src/GeneralSubSystems/GA/Utils  
Src/GeneralSubSystems/GA/Models 
Src/GeneralSubSystems/GA/Collapse   
Src/GeneralSubSystems/GA/Interview  
Src/GeneralSubSystems/GA/Misc1  
Src/GeneralSubSystems/GA/Misc2
Src/GeneralSubSystems/GA/Misc3
Src/GeneralSubSystems/GA/Misc4
Src/GeneralSubSystems/GA/Misc5

这是我目前的用法:

lcov --gcov-tool /usr/bin/gcov --capture --no-checksum --directory /jenkins/workspace/TCONVENGINE-INSTRUMENTED-BUILD/TCONV/Main/targs/Src --directory /jenkins/workspace/TCONVENGINE-INSTRUMENTED-BUILD/TCONV/Main/targs/Component --output-file ${WORKSPACE}/tps_coverage.info

lcov --remove ${WORKSPACE}/tconv_coverage.info '*/ThrdPrty/*' '*/Src/Low/*' '*/Src/TCCP-C/*' '*/Src/Tool/*' '*/zinAttInterviewDisassembler.*' '/usr/*' -o ${WORKSPACE}/tconv_coverage.info

genhtml --prefix /jenkins/workspace/TCONVENGINE-INSTRUMENTED-BUILD/TCONV/Main --title "TCONV Engine Coverage Analysis" --output-directory ${WORKSPACE}/lcov --num-spaces 3 ${WORKSPACE}/tps_coverage.info

非常感谢任何帮助或帮助,先谢谢大家

1 个答案:

答案 0 :(得分:0)

在删除列表中*之前添加两个反斜杠可能会有所帮助。 例如。而不是

'Src/GeneralSubSystems/GA/Utils/*'

使用

'Src/GeneralSubSystems/GA/Utils/\\*'