使用 bazel 覆盖率生成 lcov 覆盖率文件时,未创建输出“_coverage/_coverage_report.dat”

2024-01-03

我正在使用 bazel 来管理我们的 golang 项目,我在网上找到了一个选项,我可以通过先生成 lcovcoverage.dat 文件来生成覆盖率 html 文件,然后使用 genhtml 生成 html。

然而,我却无法成功迈出第一步。

我运行的命令是

bazel coverage //common/model/foobar:go_default_test --test_output=all --combined_report=lcov --coverage_report_generator=@bazel_tools//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:Main --verbose_failures --cache_test_results=false 

我也尝试过

bazel coverage //common/model/foobar:go_default_test --test_output=all --combined_report=lcov --coverage_report_generator=@bazel_tools//tools/test:coverage_report_generator --verbose_failures --cache_test_results=false

它们都只生成非 lcovcoverage.dat 文件并带有错误消息

输出“_coverage/_coverage_report.dat”未创建

严重:解析文件 bazel-out/darwin-fastbuild/testlogs/common/model/foobar/go_default_test/coverage.dat 2020 年 3 月 18 日 10:35:18 PM com.google.devtools.coverageoutputgenerator.Main getGcovInfoFiles 信息:未找到 gcov 信息文件。 2020 年 3 月 18 日 10:35:18 PM com.google.devtools.coverageoutputgenerator.Main getProfdataFileOrNull 信息:未找到 .profdata 文件。

详细输出如下

有谁知道如何解决这个问题?我在用巴泽尔2.2.0 and go1.13.6 达尔文/amd64

(22:35:17) INFO: Current date is 2020-03-18
(22:35:17) DEBUG: Rule 'bazel_buildtools' indicated that a canonical reproducible form can be obtained by modifying arguments commit = "5bcc31df55ec1de770cb52887f2e989e7068301f", shallow_since = "1568030193 +0200" and dropping ["tag"]
(22:35:17) DEBUG: Call stack for the definition of repository 'bazel_buildtools' which is a git_repository (rule definition at /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):
 - <builtin>
 - /Users/peter/Dev/myproject/WORKSPACE:72:1
(22:35:17) INFO: Using default value for --instrumentation_filter: "//common/model/foobar[/:]".
(22:35:17) INFO: Override the above default with --instrumentation_filter
(22:35:17) INFO: Build options --coverage_report_generator and --instrument_test_targets have changed, discarding analysis cache.
(22:35:17) INFO: Analyzed target //common/model/foobar:go_default_test (0 packages loaded, 7647 targets configured).
(22:35:17) INFO: Found 1 test target...
(22:35:18) INFO: From Testing //common/model/foobar:go_default_test:
==================== Test output for //common/model/foobar:go_default_test:
+ [[ -z bazel-out/darwin-fastbuild/bin/common/model/foobar/go_default_test.instrumented_files ]]
+ export ROOT=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject
+ ROOT=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject
+ [[ bazel-out/darwin-fastbuild/bin/common/model/foobar/go_default_test.instrumented_files != /* ]]
+ export COVERAGE_MANIFEST=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/bin/common/model/foobar/go_default_test.instrumented_files
+ COVERAGE_MANIFEST=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/bin/common/model/foobar/go_default_test.instrumented_files
+ export COVERAGE_DIR=_coverage/common/model/foobar/go_default_test/test
+ COVERAGE_DIR=_coverage/common/model/foobar/go_default_test/test
+ [[ _coverage/common/model/foobar/go_default_test/test == /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject* ]]
+ COVERAGE_DIR=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test
+ mkdir -p /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test
+ COVERAGE_OUTPUT_FILE=bazel-out/darwin-fastbuild/testlogs/common/model/foobar/go_default_test/coverage.dat
+ [[ bazel-out/darwin-fastbuild/testlogs/common/model/foobar/go_default_test/coverage.dat == /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject* ]]
+ COVERAGE_OUTPUT_FILE=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/testlogs/common/model/foobar/go_default_test/coverage.dat
+ export JAVA_COVERAGE_FILE=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test/jvcov.dat
+ JAVA_COVERAGE_FILE=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test/jvcov.dat
+ export COVERAGE=1
+ COVERAGE=1
+ export BULK_COVERAGE_RUN=1
+ BULK_COVERAGE_RUN=1
+ for name in '"$LCOV_MERGER"'
+ [[ ! -e bazel-out/darwin-fastbuild/bin/external/io_bazel_rules_go/go/tools/builders/lcov_merger ]]
+ [[ -z '' ]]
+ export GCOV_PREFIX_STRIP=3
+ GCOV_PREFIX_STRIP=3
+ export GCOV_PREFIX=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test
+ GCOV_PREFIX=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test
+ export LLVM_PROFILE_FILE=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test/%h-%p-%m.profraw
+ LLVM_PROFILE_FILE=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test/%h-%p-%m.profraw
+ [[ ! -z '' ]]
+ cd /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/bin/common/model/foobar/darwin_amd64_stripped/go_default_test.runfiles/myproject
+ /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/bin/common/model/foobar/darwin_amd64_stripped/go_default_test.runfiles/myproject/common/model/foobar/darwin_amd64_stripped/go_default_test
PASS
coverage: 48.1% of statements
+ TEST_STATUS=0
+ touch /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/testlogs/common/model/foobar/go_default_test/coverage.dat
+ [[ 0 -ne 0 ]]
+ cd /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject
+ [[ -n '' ]]
+ LCOV_MERGER_CMD='bazel-out/darwin-fastbuild/bin/external/io_bazel_rules_go/go/tools/builders/lcov_merger --coverage_dir=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test   --output_file=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/testlogs/common/model/foobar/go_default_test/coverage.dat   --filter_sources=/usr/bin/.+   --filter_sources=/usr/lib/.+   --filter_sources=/usr/include.+   --filter_sources=.*external/.+   --source_file_manifest=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/bin/common/model/foobar/go_default_test.instrumented_files'
+ [[ -n '' ]]
+ [[ -n '' ]]
+ JAVA_RUNFILES=
+ exec bazel-out/darwin-fastbuild/bin/external/io_bazel_rules_go/go/tools/builders/lcov_merger --coverage_dir=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/_coverage/common/model/foobar/go_default_test/test --output_file=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/testlogs/common/model/foobar/go_default_test/coverage.dat --filter_sources=/usr/bin/.+ --filter_sources=/usr/lib/.+ --filter_sources=/usr/include.+ '--filter_sources=.*external/.+' --source_file_manifest=/private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/sandbox/darwin-sandbox/197/execroot/myproject/bazel-out/darwin-fastbuild/bin/common/model/foobar/go_default_test.instrumented_files
================================================================================
(22:35:18) INFO: LCOV coverage report is located at /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/execroot/myproject/bazel-out/_coverage/_coverage_report.dat
 and execpath is bazel-out/_coverage/_coverage_report.dat
(22:35:18) INFO: From CoverageReport _coverage/_coverage_report.dat:
Mar 18, 2020 10:35:18 PM com.google.devtools.coverageoutputgenerator.Main getTracefiles
INFO: Found 1 tracefiles.
Mar 18, 2020 10:35:18 PM com.google.devtools.coverageoutputgenerator.Main parseFiles
SEVERE: Parsing file bazel-out/darwin-fastbuild/testlogs/common/model/foobar/go_default_test/coverage.dat
Mar 18, 2020 10:35:18 PM com.google.devtools.coverageoutputgenerator.Main getGcovInfoFiles
INFO: No gcov info file found.
Mar 18, 2020 10:35:18 PM com.google.devtools.coverageoutputgenerator.Main getProfdataFileOrNull
INFO: No .profdata file found.
Mar 18, 2020 10:35:18 PM com.google.devtools.coverageoutputgenerator.Main main
WARNING: There was no coverage found.
(22:35:18) ERROR: output '_coverage/_coverage_report.dat' was not created
(22:35:18) ERROR: not all outputs were created or valid
Target //common/model/foobar:go_default_test up-to-date:
  bazel-bin/common/model/foobar/darwin_amd64_stripped/go_default_test
(22:35:18) INFO: Elapsed time: 1.124s, Critical Path: 0.51s
(22:35:18) INFO: 4 processes: 4 darwin-sandbox.
(22:35:18) FAILED: Build did NOT complete successfully
//common/model/foobar:go_default_test                  PASSED in 0.1s
  /private/var/tmp/_bazel_peter/96e1142e20b2e61d4d24265e7f17358d/execroot/myproject/bazel-out/darwin-fastbuild/testlogs/common/model/foobar/go_default_test/coverage.dat

Executed 1 out of 1 test: 1 test passes.

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 bazel 覆盖率生成 lcov 覆盖率文件时,未创建输出“_coverage/_coverage_report.dat” 的相关文章

  • 在 Go 中获取机器 epsilon 的最简单方法

    在 Go 中获取机器 epsilon 的最简单方法是什么 浮点数的其他方面 例如精度 最小指数 最大指数 摆动等 又如何呢 我意识到有一个 math const 包 其中包含不同浮点类型的最大值和最小值 http golang org sr
  • 地图中的最大元素数

    GO 中的 Map 最多可以存储多少个元素 如果我需要经常从 Map 访问数据 那么在长时间运行的程序中不断向 Map 添加项目并从中检索项目是一个好主意吗 除了map length类型的最大值之外 map中的元素数量没有理论上的限制 in
  • IntelliJ 2017.1.2 GOLANG 调试不适用于包中的断点

    我的应用程序由一个 main go 文件和一些包组成 当在 main go 中命中断点时 IntelliJ 按预期工作 显示变量值等 但是 当在不同的包中设置断点时 除了被命中之外 不会显示任何变量 并且不会跳过 进入功能按预期工作 被击中
  • mysql 查询中的 golang 切片,带有 where in 子句

    我正在运行以下查询 但只获取第一个 id 值 select from table where table id in 1 2 3 4 5 6 7 9 11 13 14 15 17 and table deleted at is null 我
  • 读取一个文本文件,替换其中的单词,输出到另一个文本文件

    所以我试图在 GO 中编写一个程序来获取一个充满代码的文本文件并将其转换为 GO 代码 然后将该文件保存到 GO 文件或文本文件中 我一直在试图弄清楚如何保存对文本文件所做的更改 但我可以看到更改的唯一方法是通过 println 语句 因为
  • foo.Name undefined(类型接口{}没有字段或方法名称)

    我使用本机 golang 包 container list 来管理堆栈中的 inotify 事件 当我访问堆栈的项目时 我的类型失败 我认为 import golang org x exp inotify container list lo
  • formatFloat :将浮点数转换为字符串[重复]

    这个问题在这里已经有答案了 http golang org pkg strconv http golang org pkg strconv http play golang org p 4VNRgW8WoB http play golang
  • 在 Go 中使用 init() 函数真的很糟糕吗?

    几天前我开始了一个新的 go 项目 我使用 golangci lint 使我的代码具有良好的风格 我发现 gochecknoinits 是 golangci lint 的 linter 之一 它告诉我不要使用 init 在我看来 为了方便起
  • 在 Go 中修改导入的库

    我的问题 弹性节拍 https www elastic co products beats是一个用 Go 编写的日志传送程序的开源项目 它具有多种日志输出功能 包括控制台 Elasticsearch 和 Redis 我想将我自己的输出添加到
  • 在 Go 中执行字节数组

    我正在尝试在 Go 程序中执行 shellcode 类似于使用其他语言执行此操作的方式 示例 1 C 程序中的 Shellcode https stackoverflow com questions 16626857 shellcode i
  • 如何顺序运行 golang 测试?

    当我跑步时go test 我的输出 FAIL TestGETSearchSuccess 0 00s Location drivers api test go 283 Error Not equal 200 expected 204 actu
  • 有没有一种方法可以在不停机的情况下更新 net/http 服务器中的 TLS 证书?

    我有一个简单的 https 服务器 提供一个简单的页面 如下所示 为简洁起见 没有错误处理 package main import crypto tls fmt net http func main mux http NewServeMux
  • Bazel:将编译标志添加到默认 C++ 工具链

    我想向默认的 C 工具链添加一些编译器和链接器标志 以便我构建的所有目标 本地或导入 共享它们 我知道可以定义我自己的工具链 但我不想这样做 因为它非常复杂且容易出错 理想情况下我想要这样的东西 cc toolchain cc defaul
  • Go io.Pipe 的缓冲版本

    有缓冲版本吗io Pipe https golang org pkg io Pipe 在标准库或第三方库中 在我推出自己的库之前 上下文 我正在尝试使用这个解决方案 https stackoverflow com a 36229262 15
  • for 循环初始值设定项中的结构

    知道为什么 for 循环初始值设定项中的这个结构表达式在编译时会出现语法错误吗 在这种情况下 指向结构的指针工作正常 但 ofc 我需要如下所示的局部变量 感谢您的建议 type Request struct id int line byt
  • 展平嵌套结构会导致切片的切片

    所以我有一个像这样的结构 type Bus struct Number string Name string DirectStations Station Station is another struct ReverseStations
  • 如何在特定文件夹中运行 shell 命令

    我可以用这个out err exec Command git log Output 获取将在与可执行位置相同的路径中运行的命令的输出 如何指定要在哪个文件夹中运行命令 exec Command https golang org pkg os
  • 匿名结构和空结构

    http play golang org p vhaKi5uVmm http play golang org p vhaKi5uVmm package main import fmt var battle make chan string
  • GoLang ssh:尽管将其设置为 nil,但仍出现“必须指定 HosKeyCallback”错误

    我正在尝试使用 GoLang 连接到远程服务器 在客户端配置中 除了用户和密码之外 我将 HostKeyCallback 设置为 nil 以便它接受每个主机 config ssh ClientConfig User user HostKey
  • 如何将 SQLite 数据库捆绑到 Go 二进制文件中?

    我尝试使用 go bindata 和 packr 但这些包没有显示如何将 SQLite 数据库文件打包到二进制文件中 我不需要以任何方式更新数据库 我只想在启动时从中读取数据 如何将 SQLite 数据库文件嵌入到 Go 二进制文件中 SQ

随机推荐