bash - gcov/lcov - 如何从覆盖数据中排除除一个目录之外的所有目录
问题描述
我正在使用 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
排除除特定目录之外的所有目录?
附言
- 我愿意接受变通方法(例如,如果这可以通过 bash 脚本完成)
- 我正在使用 bash+CMake+gcov+lcov
附言
这不是这个问题的重复。我在询问一种仅在报告中包含特定目录中的文件的自动化方法。(例如当前目录)我知道这个--remove
论点,但这不是一个自动化的解决方案。
非常感谢您的帮助!
解决方案
推荐阅读
- github - [Vite - Vue 3]在 Github 上重新加载页面时找不到页面
- python - Python Pandas:从一系列循环中使用 1 切换开/关并仅从每个 On Cycle 中获取 2 个最大的数字
- c++ - 有没有办法指定库在 CMake 中包含哪些方法?
- python - 获取两个列表之间的差异(不仅仅是比较)
- node.js - 超时连接错误对 EC2 上的 Express 服务器作出反应
- javascript - Goolge Colab notebook 的计划运行
- typescript - 使用 React Native 和 typescript 创建应用程序
- r - ggplot用斜体注释和变量在R中不起作用
- excel - 在 VBA 中使用变量设置列的范围
- node.js - 即使在使用 @middy/do-not-wait-for-empty-event-loop 之后,AWS 中的 Lambda 也会超时