“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”中的文件权限错误不同的主要内容,如果未能解决你的问题,请参考以下文章