#!watchflakes
default <- pkg == "golang.org/x/tools/go/analysis/unitchecker" && `illegal byte sequence`
自动创建的问题以收集这些故障。
示例( log ):
=== RUN TestExampleSeparateAnalysis
invoke.go:268: 9.798123ms for GOROOT= GOPATH=/Users/swarming/.swarming/w/ir/x/w/gopath GO111MODULE=off GOPROXY=off PWD=/Users/swarming/.swarming/w/ir/x/t/TestExampleSeparateAnalysis3299946371/001 go list -e -f {{context.ReleaseTags}} -- unsafe
invoke.go:268: 95.863536ms for GOROOT= GOPATH=/Users/swarming/.swarming/w/ir/x/w/gopath GO111MODULE= GOPROXY=off PWD=/Users/swarming/.swarming/w/ir/x/t/TestExampleSeparateAnalysis3299946371/001 go list -e -json=Name,ImportPath,Error,Dir,GoFiles,IgnoredGoFiles,IgnoredOtherFiles,CFiles,CgoFiles,CXXFiles,MFiles,HFiles,FFiles,SFiles,SwigFiles,SwigCXXFiles,SysoFiles,CompiledGoFiles,Export,DepOnly,Imports,ImportMap,Module -compiled=true -test=false -export=false -deps=true -find=false -pgo=off -- separate/main
unitchecker.test: failed to export type information: write /Users/swarming/.swarming/w/ir/x/t/TestExampleSeparateAnalysis3299946371/001/30.types: illegal byte sequence
separate_test.go:188: exit status 1
--- FAIL: TestExampleSeparateAnalysis (1.38s)
5条答案
按热度按时间7bsow1i61#
解:根据题意,我们可以得到以下结论:
第一行代码表示在$x_2024-02-03 21:27$发现了一个新 Jmeter 板测试片。
第二行代码表示该测试片对应的文件是$x_tools-go1.22-darwin-amd64_12$,版本号为$b0957cfc$,位于release-branch.go1.22@分支中。
第三行代码表示该测试片对应的文件是$x/tools/go/analysis/unitchecker.TestExampleSeparateAnalysis$,其中包含了一个名为$x_e0f1x$的变量。
6xfqseft2#
这个字符串是 perror(EILSEQ),这是一个 Go 程序从未生成的 errno,所以它一定是来自 macOS。失败的行号是一个调用 packagestest.Export 的函数,这意味着真正的失败已经被一个不太有用的对 testing.T.Helper 的调用所掩盖。在 Export 中查看所有对 t.Fatal 或 t.Error 的调用,大多数都与 os.Mkdir 有关。
假设:我们试图创建一个不是有效文本名称的目录条目,而 macOS 忘记了它是 UNIX,文件名只是字节字符串。
实验:
结果:
但是失败测试中的非文本字符串从哪里来的?所有的文件系统操作(Mkdir、WriteFile 等)似乎都是从 testing.T.Name 或者测试的 tempdir 中获取文件名的,这两个都必须是有效的文本字符串。
vmpqdwk33#
哦,看来有数百个测试因为同样的原因失败了:
https://logs.chromium.org/logs/golang/buildbucket/cr-buildbucket/8757079028780343489/+/u/step/20/log/2
然而所有的文件名看起来都很无害。我认为是构建器出了问题。
yvgpqqbh4#
这可能是#65461(评论)中的一部分。
我在这里只看到一个watchflake报告(https://ci.chromium.org/b/8757079028780343489),而bot it ran on显示为3天4小时前最后看到的,与#65461(评论)中提到的另一个机器人的时间线相同。
我认为https://go.dev/cl/562399(CC @prattmic)将来会帮助解决这个问题。
5f0d552i5#
给定
darwin/amd64
,这可能是 #60449 的另一个症状。