【问题标题】:LCOV to exclude entire packages from code coverage analysisLCOV 从代码覆盖分析中排除整个包
【发布时间】:2017-02-12 23:55:32
【问题描述】:

我使用 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

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

【问题讨论】:

标签: html c++ regex gcov lcov


【解决方案1】:

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

'Src/GeneralSubSystems/GA/Utils/*'

使用

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

【讨论】:

  • 这也将排除Src/GeneralSubSystems/GA/Iterators我想包含这个特定的包
  • 你不能在你的删除列表中列举除迭代器之外的所有东西吗?
猜你喜欢
  • 1970-01-01
  • 2020-06-12
  • 2016-07-09
  • 2011-03-10
  • 2023-03-16
  • 2014-01-06
  • 2016-03-21
  • 1970-01-01
  • 2019-12-26
相关资源
最近更新 更多