我有一个Python代码库,其中包含一些我可以使用python -m unittest...
命令运行的测试,但是,当我使用bazel test
运行相同的测试时,这些测试只会卡住并超时。需要注意的一件事是该代码正在使用python的多处理功能,并且还会向外部服务发出一堆发布请求。
使用bazel run
并在代码的多个部分中记录入口点可验证代码是否被随机卡住。
top
也没有显示很多资源正在使用。
关于如何调试此方法的任何想法?大多数测试都设置为size=large
,并带有“独占”标记。
答案 0 :(得分:0)
默认情况下,bazel沙箱会阻止所有网络请求。您可以通过添加标签requires-network
来指定给定的测试需要网络访问。
或者,您可以添加标签no-sandbox
以完全禁用给定测试/操作的沙箱。
也有可能通过诸如--modify_execution_info=TestRunner=+block-network
之类的bazelrc选项禁用了网络访问,因此,如果requires-network
标签不能解决测试中的超时问题,您可能还想检查一下bazelrc。