为了账号安全,请及时绑定邮箱和手机立即绑定

在 github 操作和 ubuntu 中运行 go test 时出现打开文件过多错误

在 github 操作和 ubuntu 中运行 go test 时出现打开文件过多错误

PHP
守着星空守着你 2022-10-10 15:41:56
我们有一个测试套件,它总是在本地 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 files\n"}出现了两件奇怪的事情:在 Windows 上没有这样的问题。如果我注释掉错误中提到的包中的一半单元测试,它也不会发生。受影响包中的单元测试数量目前为 245,大约停止工作。
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

我认为您需要更改最大文件描述符。同样的问题发生在许多开发虚拟机之前,需要更改文件描述符最大值,而不是任何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


查看完整回答
反对 回复 2022-10-10
?
慕斯王

TA贡献1864条经验 获得超2个赞

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



查看完整回答
反对 回复 2022-10-10
  • 2 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号