2017-09-27 160 views
1

我使用GENHTML命令生成的HTML巴泽勒覆盖报告生成coverage.dat文件:使用巴泽尔生成覆盖率报告

genhtml bazel-testlogs/path/to/TestTarget/coverage.dat --output-directory coverage 

使用GENHTML的问题是,我必须提供路径覆盖.dat文件(在bazel-testlogs/..中生成)是否可以将这些coverage.dat文件作为另一个规则的输出?

我想不必直接调用genthml命令,而是让Bazel处理所有事情。

回答

2

我无法找到一种方法来获取coverage.dat文件作为bazel规则的输出。不过,我能包住所有.dat文件的所有位置为索马里红新月会的文件组在工作区目录:

filegroup(
    name = "coverage_files", 
    srcs = glob(["bazel-out/**/coverage.dat"]), 
) 

,然后使用文件组在自定义.bzl规则,包装了genthml命令生成html覆盖报告。所以,现在我只需要调用

bazel coverage //path/... --instrumentation_filter=/path[/:] 

命令生成coverage.dat文件,生成HTML报告和zip起来。因此,bazel处理所有事情。

相关问题