对每个文件夹的 gcov 覆盖率结果进行分组

问题描述

我想知道是否有任何方法可以在保持源代码树结构的同时获得gcov覆盖结果,以便我们可以看到整个文件夹的覆盖结果?
我目前正在使用 lcov 来可视化结果,但如果提供了该功能,我不介意切换到其他工具。

Lcov 输出(顶视图)

src/folder1/subfolder1/  12%
src/folder1/subfolder2/  39%
src/folder2/subfolder1/  76%
src/folder2/subfolder2/  100%

我在找什么

src/  58%
|-  folder1/ 22%
|     |- subfolder1  12%
|      - subfolder2  39% 
 -  folder2/ 94%
      |- subfolder1  76%
       - subfolder2  100% 

我正在处理一个大型代码库,我想快速了解一下代码的哪些部分得到了很好的覆盖。如果我可以扩展子文件夹以便我只能看到一定深度,那就更好了:)

解决方法

尝试根据 gcov/lcov 结果生成 Html-report。它可以帮助您可视化结果并对其进行不同的排序。

例如

lcov --capture --rc lcov_branch_coverage=1 --directory 。 lcovrc --输出coverage.info genhtml --branch-coverage --output ./report_dir/coverage.info