快速入门
如需构建 Zircon 并运行单元测试,请运行以下命令之一:
# Build and run x64.
fx set bringup.x64 --with-base //bundles/buildbot/bringup
fx build
fx qemu
# Build and run arm64.
fx set bringup.arm64 --with-base //bundles/buildbot/bringup
fx build
fx qemu
脚本运行完毕后,您应该会看到 Zircon shell。如需运行用户空间测试,请使用 Zircon shell 运行以下命令:
runtests --all
您可以使用 runtests --all -d
查看系统中可用的测试列表。您还可以使用 runtests -n <TEST_NAME>
运行一项特定测试。
如需运行内核内测试,请使用 Zircon shell 运行以下命令:
k ut all
Fuchsia 的使用入门页面详细介绍了如何使用 Zircon shell 以及如何自动构建所有受支持的架构。
用户空间测试
自动化测试框架、运行测试,从 /boot/test
和 /system/test
目录中选择并运行所有可执行文件。如果您提供了 runtests -m widget_test
等命令行参数,则运行测试将仅运行所请求的单个测试(在本例中为 widget_test
)。
内核模式测试
内核包含单元测试和诊断信息,可以使用 k
命令运行这些测试和诊断信息。k
命令的输出将仅在控制台中显示。根据您的配置,这可能是串行控制台或 debuglog
虚拟终端。
单元测试
内核的许多部分都有单元测试,可以自动报告成功/失败。这些单元测试是使用内核单元测试库提供的基元构建的。您可以通过搜索 UNITTEST_START_TESTCASE
静态找到这些查询。
您可以使用 k ut
从 shell 运行这些测试。k ut all
将运行所有测试,您也可以使用 k ut $TEST_NAME
运行特定测试。
诊断
内核的许多部分都提供诊断信息,其输出需要手动检查。其中一些诊断用于验证正确性(例如 timer_diag
),而其他诊断仅用于对系统的某一部分(例如 timer_stress
)进行压力测试。
如需运行诊断,只需将诊断名称传递给 k
命令即可。例如,如需运行内核的内置基准,请运行 k bench
。如需以静态方式查找全套内核诊断,请搜索 STATIC_COMMAND
。如需动态枚举它们,请运行 k help
。
诊断测试应通过串行控制台或通过对系统进行物理访问来运行。某些诊断可能具有破坏性,会使系统处于损坏状态。