观速讯丨Linux内核的自动化测试

2023-07-01 15:53:36 来源: 互联网

最近在葡萄牙里斯本召开的Linux内核管道工大会上,最热门的话题之一就是如何自动测试Linux内核。在那里,顶级的Linux开发人员在测试框架KernelCI的支持下一起工作。现在,在法国里昂举行的欧洲开源峰会上,为了帮助KernelCI获得成功所需的资源,它成为了Linux基金会的一个项目。

它是这样工作的:你可能知道Linux内核是由一个大型协作开源社区开发的,它通过Linux内核邮件列表(LKML)工作。你不能这样争论。但是Linux内核测试分散在——,因为主要是在专用的孤岛上做,在测试软件或者方法上没有足够的配合。

部分问题是如何使用Linux邮件列表完成补丁。Linux内核开发人员Russell Currey最近解释说:


(资料图片)

“[与仅基于GitHub或GitLab的项目不同],拉取请求包含合并一组更改所需的所有信息;例如,包含修补程序7/10的电子邮件缺少上下文。几乎不可能。修补程序系列是否已被合并、拒绝或被电子邮件替换。一般来说,邮件列表根本没有与当代项目托管网站相同级别的元数据,这使得CI[持续集成]更加困难”。

具体问题?KernelCI最初是为了解决在各种硬件上测试Linux的问题。到目前为止,测试Linux补丁已经在开发者自己的电脑上完成。这意味着您可以确定Linux将在主流硬件上按预期运行。然而,如果你的硬件不那么受欢迎,那么它可能还没有经过测试。

正如Linux稳定分支的维护者Greg Kroah-Hartman解释的那样:

“Linux可以在任何地方运行,它可以在许多不同的硬件上运行,但是在这个硬件上很少有测试。大多数人只是在测试他们关心的东西。因此,我们希望在尽可能多的硬件上进行测试。确保我们实际上支持我们声称支持的所有硬件。”

然而,展望未来,KernelCI将做的不仅仅是硬件测试。KernelCI联合创始人、高级工程师Kevin Hilman在他的开源欧洲峰会主题中解释道:

“我们在参加Linux水管工的聚会。我们现在面临的一个主要问题是,我们有六七个不同的代码测试项目要向内核开发人员和维护人员发送报告,这真的很烦人,所以我们走到一起说,‘选择一个并将其用作框架’,所以我们在KernelCI上达成了共识,所以我们将共同努力,而不是重复我们的努力和成就。”

通过合并这些测试项目并寻求共同点,新的KernelCI还将帮助解决LKML的补丁处理问题。

1因此,虽然现在仍然有很多Linux测试套件,但是它们之间并没有真正的协调,所以它们不再是孤立的。KernelCI未来的目标不仅仅是测试各种设备,还要统一所有上游的Linux内核测试工作。简而言之,这将提供一个存储、查看、比较和跟踪测试结果的地方。

1“它提供了Linux对社会的重要性,实现Linux内核的全面测试覆盖非常重要。通过将开源概念应用于测试,KernelCI分布式架构使整个内核社区能够围绕单个上游CI系统进行协作。”根据开源咨询公司业务发展副总裁兼KernelCI撰稿人Guy Lunardi的说法。

1综上所述,KernelCI将完善Linux LTS内核的测试和验证。巩固现有的测试计划;提高Linux的整体安全性;并且增加了测试硬件的数量。反过来,这将提高质量和稳定性。以及Linux内核的长期维护。另外,这是一件非常好的事情。

标签:

[责任编辑:]

最近更新