用git进行压力测试

时间:2016-06-21 16:44:41

标签: git testing integration-testing stress-testing

我有一个监控各种git流量的应用程序。问题是我只准备处理某些事件,如提交,分支创建/删除,标签创建/删除和注释,但git可以进入其他很多其他时髦的情况。

有没有人知道这对于各种各样的git提交交互的全面测试,可以用来压力测试用于监控git流量的应用程序?

1 个答案:

答案 0 :(得分:4)

  

对各种git提交交互的全面测试

git/git/t包含 ton 测试,其中一些可以作为起点用于压力测试。

那' t'文件夹很有意思,它确实涵盖了所有 git情况。

有趣的是,Git 2.21(2019年第一季度)增加了使用" --stress"重复运行的功能。选项。

请参阅commit fb7d1e3commit fa84058commit 61f292dcommit 62c379bcommit 8cf5800commit a9b2db3commit 0a97e86(2019年1月5日) ,和commit d45cec4(2018年12月30日)SZEDER Gábor (szeder) (由Junio C Hamano -- gitster --合并于commit 3fe47ff,2019年1月18日)

  

test-lib:添加' --stress'在负载下重复运行测试的选项

     

不幸的是,我们有一些不稳定的测试,其失败往往难以重现。

     

我们发现,重现这种失败的最佳方法是在机器处于负载状态时反复运行测试脚本,并等待负载产生足够的变化时间。测试命令最终触发故障。
  我有一个命令可以做到这一点,我注意到其他两个贡献者已经推出了他们自己的脚本来做同样的事情,都选择了略有不同的方法。

     

为了帮助在片状测试中重现失败,请介绍' --stress'选项在多个并行作业中重复运行测试脚本,直到其中一个失败,从而使用测试脚本本身来增加计算机的负载。

     

并行作业的数量由优先顺序确定:

     
      
  • 指定为&#39; --stress=<N>&#39;或
  • 的号码   
  • GIT_TEST_STRESS_LOAD环境变量的值,或
  •   
  • 可用处理器数量的两倍(由&#39; getconf&#39;实用程序报告)或8。
  •   
     

制作&#39; --stress&#39;暗示&#39; --verbose -x --immediate&#39;得到最多   关于罕见故障的信息;支出真的没有意义   所有额外的努力重现这样的失败,然后不知道   哪个命令失败了,为什么。