OC冒烟测试套件正式开源:轻量级、自动化,为系统镜像“健康体检”

在操作系统的研发与构建过程中,如何快速验证一个新生成的镜像是否"健康"?这往往是开发者面临的第一道关卡。

为了解决这一问题,OpenCloudOS 社区正式开源了 os_smoke ------ 一套专为操作系统设计的轻量级、自动化冒烟测试工具。它主要用于在系统镜像构建完成后,第一时间对系统进行全方位的"健康检查",快速验证内核、基础系统、驱动、开发工具等关键组件是否正常工作。

一、为什么需要 os_smoke?

以前,传统的系统验证往往依赖人工检查或分散的脚本,测试人员通常面临以下困境:

  1. 逐项手工校验系统命令、库文件、编译工具链等关键组件的可用性,效率低下且易遗漏。

  2. 各用例脚本风格各异,缺乏统一的结果判定标准与日志规范,排障成本高。

  3. 测试覆盖度依赖个人经验,难以系统化地保证每次构建的基线质量。

现在,有了 os_smoke,一切都不一样了。

  • 一键运行 : ./tools/tos_test.sh test ,剩下的交给它。
  • 全栈覆盖 :从底层的 Kernel、BaseOS,到上层的 App、Develop 工具链,以及第三方的驱动,均可覆盖。
  • 智能诊断 :自动捕获 dmesg 内核异常,测试失败自动保留现场,并能自动生成详细的测试日志与结果汇总(TPASS/TFAIL)。

最关键的,os_smoke 的架构极其轻量化,它无需复杂的环境配置,依赖少,运行快,更适合互联网业务或企业快速迭代验证的场景。

**、 部署 os_smoke?**

2.1 获取代码
复制代码
git clone https://gitee.com/OpenCloudOS/os_smokecd os_smoke
2.2 环境准备与编译

os_smoke 提供了一键式脚本,可自动处理依赖安装与编译:

复制代码
# 安装依赖./tools/tos_test.sh pkg # 编译测试套./tools/tos_test.sh compile
2.3 执行测试

用户可以执行全量测试,也可以只针对特定模块进行测试:

复制代码
# 执行全量冒烟测试./tools/tos_test.sh test # 或按类别执行测试(支持 kernel、baseos、app、develop、driver),例如:./tools/tos_test.sh test kernel # 或执行单个测试用例./tools/tos_test.sh case <用例名称>

测试完成后,结果将保存在 /data/log/os_suites/os_smoke/ 目录下。

备注:全量冒烟测试因检查项较多,整个测试时长大约13-18min,中途请不要退出。

三、 欢迎贡献

os_smoke 是一个开放的项目,尤其app与驱动的稳定性,是操作系统落地的"最后一公里"。

  • 面对海量异构硬件,我们希望更多硬件厂商贡献真实硬件环境下的驱动加载、IO 压力及故障恢复测试用例。
  • 面对行业应用与 OS 的兼容性,我们希望软件厂商贡献关键业务场景的冒烟脚本(如服务启停、核心接口调用等)。

我们希望将真实的业务与硬件场景注入 os_smoke ,才能共同打造出经得起生产环境考验的坚固底座。欢迎您:

  • 发现 Bug? 请在 Gitee 提交 Issue。

  • 有新的测试场景? 欢迎提交 PR 贡献您的测试用例。只需在 os_smoke_src/testcases/ 下创建脚本,引用框架库即可快速集成。

项目地址: ++https://gitee.com/OpenCloudOS/os_smoke++

提交Issue: https://gitee.com/OpenCloudOS/os_smoke/issues