我正在使用gcov / lcov为我的C ++项目创建代码覆盖率报告,并且尝试从覆盖率报告中删除除某个目录中的文件以外的所有文件(即,我不想显示各种文件夹中的不同依赖项)在报告中)。
但是,我想自动而不是手动执行此操作。我尝试了以下方法:
lcov -r coverage.total '!(<path>)' -o coverage.info
但是lcov
随即返回Deleted 0 files
。我还尝试了!(<path>)
,'[^path]*'
,但这些方法略有变化,但似乎无济于事。我可以手动删除不需要的文件夹,例如以下方法可以工作:
lcov -r coverage.total '/usr/libs/*' '/usr/mylibs/*' -o coverage.info
所以我的问题是,如何lcov
排除除特定目录之外的所有目录?
P.S。
P.S。
这不是this question的重复项。我问的是一种自动方法,仅将文件包括在报告中的特定目录中。 (例如当前目录)我知道--remove
参数,但这不是自动化的解决方案。
非常感谢您的帮助!