“go test”和“bazel test”中的文件权限错误不同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“go test”和“bazel test”中的文件权限错误不同相关的知识,希望对你有一定的参考价值。

如果测试想要声明文件权限错误,例如,写入文件系统的根,“go test”返回syscall.EACCES错误,而“bazel test”返回syscall.EPERM。如何在“bazel test”和“go test”中进行测试?

一个例子可以找到here

答案

您可以使用bazel --spawn_strategy=standalone test //...禁用沙箱。我怀疑这会解决问题。

但是,您可能需要考虑写入/是否是您要测试的行为。如果您需要在不同的操作系统或Docker容器内运行代码,在这种情况下您将获得不同的行为,因此您可以考虑测试更可预测的代码路径,或者模拟文件访问层以隔离您的测试从中。

以上是关于“go test”和“bazel test”中的文件权限错误不同的主要内容,如果未能解决你的问题,请参考以下文章

Go Test

Go test 针对单个测试文件构建失败

Go test 针对单个测试文件构建失败

Go test 针对单个测试文件构建失败

C# 设置或验证 PDF中的文本域格式

查找目录中的文件数