“测试效果差”是 Linux 长期以来的一个主要弱点,目前这一情形有了转机,自动化测试平台 KernelCI 已成为 Linux 基金会的一份子。KernelCI 是一个基于社区的开源分布式测试自动化系统,专注于上游 Linux 内核开发。该项目现已获得了包括 Google、Microsoft 和 Red Hat 等公司的资助。

KernelCI 项目始于五年前,当时一些内核维护者意识到,“Linux 可在如此多的硬件上运行,但是对该硬件的测试却非常少。”

众所周知,Linux 内核是由一个大型的协作式开源社区开发的,该社区通过 Linux 内核邮件列表(LKML)进行协作。但是 Linux 内核测试是分散的,在测试软件或方法上没有足够的协作。Linux 内核开发人员 Russell Currey 提到,这种邮件列表方式下如何处理补丁是一个问题,大多数包含补丁的邮件缺少上下文,从电子邮件中也几乎不可能知道修补程序是否已被合并或拒绝。“通常,邮件列表所携带的元数据级别根本不如当代项目托管站点,这使 CI(连续集成)问题更加棘手。”

打开网易新闻 查看更多图片

“传统上,仅在最常见的硬件上进行测试。但是,由于 Linux 在比任何其他操作系统上更多的硬件上运行,因此在所有这些硬件上进行测试也很重要”,KernelCI 联合创始人 Kevin Hilman 表示。“我们为内核提供了开源软件,但并未采用开源方法进行测试。KernelCI 希望收集并共享我们的测试软件,就像共享其余代码一样”。通过合并这些测试项目并寻求共同点,新的 KernelCI 也将帮助解决在 LKML 中处理补丁的问题。

展望未来,KernelCI 将做的不只是硬件测试。Hilman 认为不仅需要进行更好的测试,还需要进行更好的跟踪和修复。KernelCI 的未来目标不仅是测试各种设备,而且还要统一所有上游 Linux 内核测试工作。这将提供一个存储、查看、比较和跟踪测试结果的平台。

总的来说,KernelCI 将改善 Linux 长期支持(LTS)内核测试状况,巩固现有的测试计划,改善 Linux 的整体安全性,并增加测试硬件的数量。这将提高 Linux 内核的质量、稳定性,并有助于它的长期维护。

本文转载地址:https://www.linuxprobe.com/linux-kernelci-microsoft.html