找回密码
 立即注册
首页 群组 IT互联网 网站 程序园子 osmts:OERV之一站式管理测试脚本

osmts:OERV之一站式管理测试脚本

巨耗 2025-5-29 18:11:29
  最近团队里面实习的小伙伴开发了一个新的项目,可以用来一键式运行各种测试脚本并且完成数据总结,我也尝试部署了一下,遇到了一些问题,接下来一起解析一下这个项目。
  首先是获取osmts
  1. git clone https://gitee.com/April_Zhao/osmts.git
  2. cd osmts
复制代码
  运行前环境安装
  1. dnf install gcc python python3-devel python3-pip
  2. pip install --upgrade pip setuptools
  3. pip install -r requirements.txt
  4. # 如果遇到SSL问题
  5. pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host=files.pythonhosted.org -r requirements.txt
  6. # 仍然提示SSL错误
  7. dnf install ntp
  8. ntpdate cn.pool.ntp.org
复制代码
  直接运行脚本
  1. # main.py应当直接以root身份运行
  2. chmod +x main.py
  3. ./main.py
复制代码
  做到这里,照理来说是可以运行的(官方做法),但是我却遇到了这个问题。
1.png

  于是我向官方提交了一个轻量级PR,在requirements.txt里面加了tornado,就可以运行起来了。PR:【轻量级 PR】:Tornado missing · Pull Request !1 · April_Zhao/osmts - Gitee.com
2.png

  这是测试的过程,由于过程缓慢,所以建议用tmux挂在后台运行。接下来我们看看项目结构。
3.png

  testclasses目录里面存放着各种各样的测试样本,有LLVM的测试,ltp测试等等。真正跑起来是在main.py。
  1. testclasses = from_tests_to_tasks(run_tests)
  2. if not osmts_tmp_dir.exists():
  3.     osmts_tmp_dir.mkdir()
  4. # 所有检查都通过,则正式开始测试
  5. for testclass in testclasses:
  6.     testclass.run()
复制代码
  这是测试运行的代码,而from_tests_to_tasks这个函数,主要用来对测试任务进行收集,测试任务环境准备以及调整测试顺序,并且分别调用了fio_judge和netperf_judge,这两个函数用于在使用fio以及netperf测试之前对本机环境进行检测,判断是否适合进行相应的测试。
  最终测试结果类似下图:
4.png

5.png

  不过小伙伴和我说,他的机器不需要安装tornado也能运行,但是在我这里行不通,因此我这个PR还有争议。我推断是跟Python版本或者软件包版本有关系,我目前运行环境是OERV 24.09,希望后面能顺利探讨出原因。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!