2016-10-04 154 views
1

我使用LCOV作为我的代码覆盖率的图形方法,告诉我我测试了多少代码,但它包括我不关心的代码文件夹,以及这使得我的报道低于实际情况。LCOV从代码覆盖率分析中排除整个软件包

有没有办法排除整个目录,我可以忽略一堆我不关心的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 

任何帮助或援助将不胜感激,在此先感谢大家

+0

类似的问题:http://stackoverflow.com/q/39842139/783510 –

回答

0

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

'Src/GeneralSubSystems/GA/Utils/*' 

使用

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

这也将排除'的src/GeneralSubSystems/GA/Iterators'我想包括这个特定的包 –

+0

你不能枚举你的删除列表中的所有除了迭代器吗? –