在github actions和ubuntu中运行go测试时太多打开文件错误



我们已经构建了一个测试套件,它总是在本地ubuntu机器和github操作的ubuntu机器上工作。由于最近添加了单元测试,一个包的单元测试数量大幅增加,并且它开始失败并显示too many open files错误消息:

{"Time":"2021-10-22T13:24:15.784106437Z","Action":"output","Package":"github.com/MyCompany/Product/src/interface/service/user","Test":"Test_userService_MethodTest/Case_1","Output":"2021/10/22 13:24:15 too many open filesn"}

出现了两个奇怪的事情:在Windows上没有这样的问题。如果我注释掉错误中提到的包中一半的单元测试,它也不会发生。

受影响包中的单元测试数量目前为245个,它大约在大约停止工作。

我认为你需要改变你的最大文件描述符。同样的问题出现在许多开发VM之前,需要更改文件描述符,而不是inotify设置。

ulimit != ulimit -n

➜  cmd git:(wip-poop) ✗ ulimit -a
-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             8192
-c: core file size (blocks)         0
-v: address space (kbytes)          unlimited
-l: locked-in-memory size (kbytes)  unlimited
-u: processes                       1418
-n: file descriptors                4864

在我们的测试设置中,我们为每个子测试注入了一个单独的viper实例,每次都打开一些文件。集中定义一个viper实例,然后将配置向下传递到测试中。

相关内容

  • 没有找到相关文章

最新更新