c++11 - 如何获取 C++ 的 Bazel 代码覆盖率摘要?

标签 c++11 code-coverage bazel

我有一个使用静态库和可执行文件进行单元测试的小型设置。 运行 bazel Coverage 时,它​​会在单元测试二进制文件的测试日志文件夹中创建一个 Coverage.dat 文件。结果是 lcov 文件或 llvm profdata 文件。 Bazel 的覆盖率数据生成器似乎能够区分 Clang 和 GCC,但似乎无法生成报告。

有没有办法从覆盖率生成器获取一些统计数据?

最佳答案

我这样做bazel覆盖这样:

  bazel coverage -s \                                         
    --instrument_test_targets \
    --experimental_cc_coverage \
    --combined_report=lcov \
    --coverage_report_generator=@bazel_tools//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:Main \
    //...

然后我以这种方式生成 HTML 输出。

  genhtml /home/user1/.cache/bazel/_bazel_user1/e74a825d0eb0c2db4b6f8afd819b274c/execroot/__main__/bazel-out/k8-fastbuild/testlogs/foo_test/coverage.dat --output-directory coverage

关于c++11 - 如何获取 C++ 的 Bazel 代码覆盖率摘要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54905273/

相关文章:

c++ - 使用 make_pair(_Ty1&& _Val1, const _Ty2& _Val2) 在 C++11 中进行重大更改

c++ - 从成员函数初始化无序映射

java - 我在哪里可以找到 Cobertura 中的单一摘要覆盖率编号?

c++ - 用于开发 C++ 代码覆盖工具的解析器

bazel - 如何为指定的 bazel 规则禁用远程缓存

bazel - 我可以从 .bzl 文件加载通用规则吗?

c++ - 为什么切片非根基类会产生正确答案?

ruby-on-rails - 在 Rails 应用程序中查找未使用的代码

python - 工具链未下载工具

c++ - 具有相同类型参数的类型安全可变参数函数