启动测试现代化改造

目标和动机

启动产品规范是开发的最小可行目标。它通常用于非常底层的工程工作,例如内核开发以及特定于开发板的驱动程序和配置(也称为开发板启动,因此得名)。许多基本工程工作流和 fx 命令在启动阶段不起作用。

下一个产品配置称为“Core”。Core 增加了对其他工程工作流的支持,包括测试基础架构使用的那些工作流。因此,尽可能在 Core 上运行测试会更方便,在不可避免的情况下,再改为在启动测试上运行测试。

我们希望尽可能将测试从“启动”移至“核心”,以便通过缩短迭代周期和简化问题排查来提升开发者体验。对于绝对需要在启动阶段运行的测试,应说明原因。

技术背景

引导测试的范围在组 "tests" 下的 //bundles/bringup/BUILD.gn 中定义。

如何提供帮助

选择任务

//bundles/bringup:tests 中选择任意测试目标。

某些启动测试目标带有注释,说明它们应保留在启动测试软件包中的原因。选择一个不含任何此类注解的测试目标,然后看看能否将其迁移。

执行任务

将该测试移至“Core”配置。尝试在本地或 CQ 上运行测试,并根据需要进行问题排查。

目前在“启动”阶段的大多数测试在移至“核心”阶段后,要么一开始就会失败,要么看似通过,但实际上会跳过原本会失败的测试用例。根本原因通常是一些琐碎的配置问题,表现为测试的命名空间中缺少路径。若要修正这些问题,无需更改测试代码,只需更改 .cml 文件即可。

如果您确定此测试应保留在“启动”阶段,请更新 BUILD.gn 文件,注明原因。

遇到常见失败模式和解决方案时,请考虑在此处记录这些信息以供参考。

完成任务

按 OWNERS 查找审核者,然后合并更改。

示例

赞助商

如有疑问或需要了解最新状态,请与我们联系: