go/types: 测试标准固定测试结果缓存在$GOROOT/test更改之间

7fyelxc5  于 3个月前  发布在  Go
关注(0)|答案(2)|浏览(66)

"go test go/types -run TestStdFixed" results may be cached by cmd/go even after changing files in $GOROOT/test. I noticed this by changing "ignored" to "package ignored" in test/fixedbugs/issue22877.go (in CL 80759), and repeated runs of go test still output "(cached)" pass results.
/cc @rsc@griesemer

iklwldmw

iklwldmw1#

Per @rsc 发送给 golang-dev 的电子邮件(关于 Go 1.10 cmd/go:构建缓存,测试缓存,go install,go vet,测试 vet):
"缓存仅适用于 "go test package-list",而不适用于没有包列表的 "go test"。因此,如果您在一个目录中不断运行 "go test",这些都不会被缓存。"
所以它应该在 go/types 目录内按预期工作。
话虽如此,这可能是一个普遍的问题,也许需要有一种方法告诉测试系统不考虑缓存,理想情况下是通过测试本身(不熟悉特定程序的人,试图识别问题的人可能不知道缓存干扰)。
评论,@rsc?

9avjhtql

9avjhtql2#

在我的情况下,我正在$GOROOT/test目录下工作,但发现go/types测试也在该目录下。这就是为什么我运行"go test go/types"的原因。我没想到如果我运行"cd ../src/go/types; go test",行为会有所不同。
我现在看到这是在"go doc cmd/go"中记录的。我想现在是时候重新阅读它了。

相关问题