You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Bullseye代码覆盖率.cov文件中排除指定文件夹

Bullseye Coverage 移除.cov文件指定目录覆盖率数据操作方法

covselect匹配路径的依据是编译阶段写入.cov文件的源文件路径记录,和你当前执行统计脚本的工作目录无关,你之前传入的路径和cov文件内实际存储的路径不匹配,所以所有命令都不生效。

操作步骤

  • 第一步:先查询cov文件内实际存储的源文件路径,不要自行臆测路径写法
    执行以下命令列出所有已收录的源文件,找到你要排除的qwerty目录对应的真实路径片段:
    covlist --file "%COVFILE%" -s
    

    该命令输出的路径是covselect做规则匹配的唯一基准,和你当前脚本所在目录、源码实际存放的当前路径没有关联。

  • 第二步:按匹配规则执行移除命令
    covselect默认采用路径前缀匹配规则,不需要对斜杠加转义符,也不需要拼当前目录的相对层级,直接匹配从covlist输出里拿到的路径片段即可:
    • 通用匹配(不关心前面的路径前缀,只要路径包含src/bin/qwerty/就排除):
      covselect --file "%COVFILE%" --remove '*/src/bin/qwerty/*'
      
    • 精准匹配(如果从covlist查到目标目录的完整存储路径是类似/workspace/project/src/bin/qwerty/的完整路径,可直接写全路径前缀):
      covselect --file "%COVFILE%" --remove '/workspace/project/src/bin/qwerty/*'
      

之前命令失效的原因

  • 命令里额外添加的\/转义是无效写法,covselect不需要对路径斜杠做转义
  • 传入的../../src/bin/qwerty/是基于当前脚本工作目录的相对路径,cov文件内不会存储这类运行时相对路径,完全无法命中
  • 传入的/src/bin/qwerty/是系统根目录起始的绝对路径,和cov文件内存储的编译时路径前缀不匹配,不会命中任何条目

验证结果

执行完移除命令后,重新运行covlist --file "%COVFILE%" -s,确认目标目录下的文件已从列表中消失,后续生成的覆盖率报告就不会包含这部分数据。

内容的提问来源于stack exchange,提问作者roffensive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 23:54:21