如何在llvm-cov代码覆盖率报告中过滤文件?

时间:2017-05-26 17:54:06

标签: xcode bash code-coverage llvm-cov

来自llvm-cov docs

  

llvm-cov show [options] -instr-profile PROFILE BIN [-object BIN,...] [[-object BIN]] [SOURCES]

     

llvm-cov show命令显示二进制文件的逐行覆盖   BIN,...使用配置文件数据PROFILE。它可以选择过滤   仅显示SOURCES中列出的文件的覆盖范围。

我使用以下命令:

xcrun llvm-cov show -instr-profile "${PROFDATA}" "${BINARY}" codecov_source_files > Coverage.report

其中codecov_source_files是包含此行的文件:

  

*Router.swift

基本上我想要的是报告只包含带有后缀的文件:Router.swift

但是我得到了Coverage.report,其中包含项目中的所有类。

我错过了什么?

1 个答案:

答案 0 :(得分:4)

措辞错误但SOURCES实际上是文件名列表,而不是包含文件名列表的文件名。

它们需要是磁盘上实际源文件的路径。不幸的是,它不支持通配符或正则表达式。

编辑:通过阅读源代码,我发现您还可以将目录列为SOURCES,并将其递归到它们中。还有一个未记录的选项-dump-collected-paths,用于打印SOURCES匹配的文件。