目标和动力
无论是在生产环境中还是测试中,日志通常用于诊断和排查系统状态。
测试中日志的一项实用功能可以限制被测日志严重级别。这样,即使满足测试所设定的所有预期,测试作者也可以确信自己的测试没有遇到意外的错误情况。经验表明,此功能可以检测细微的 bug 和回归问题。
默认情况下,如果测试的严重级别高于 WARNING
(即日志级别不低于 ERROR
),则测试将失败。如需覆盖此行为,开发者可以设置更高的阈值。例如,如果需要使用 ERROR
,开发者将在与测试关联的测试规范中设置 max_severity = "ERROR"
。
首次引入此功能时,所有替换项都在单个文件中进行设置。从那以后,我们可以专门针对定义测试本身的测试设置替换项。新方法更易于维护。
技术背景
必须具备修改 BUILD.gn
文件方面的初级知识。
如何提供帮助
选择任务
从 max_severity_fuchsia.json 中选择一个条目。 例如:
{
"max_severity": "FATAL"
"url": "fuchsia-pkg://fuchsia.com/audio_core_unittests#meta/audio_core_unittests.cm"
},
执行任务
您将删除此部分,并在上述测试的 build 定义上设置类似的配置。
fuchsia_test_package("audio_core_unittests") {
test_specs = {
log_settings = {
max_severity = "FATAL"
}
}
...
}
您还可以参阅指南。
请注意,虽然大多数测试都是使用 fuchsia_test_package()
模板定义的,但有些测试是使用其他封装容器模板定义的。通常,封装容器接受 test_specs
并将其转发到底层 fuchsia_test_package
模板。
完成任务
按 OWNERS 查找审核者并合并更改。
示例
- 555759:[log] 将 intl_services 日志严重性配置移至测试定义
- 410049:[blobfs] blobfs 压力测试 v1
- 436337:[network/tests] 拆分集成测试二进制文件
- 426214:[isolated-ota] 重构为用于集成测试的库。
- 440054:[run_test_component] 删减网络测试许可名单
赞助商
如有疑问或想了解最新状态,请与我们联系: