使用 kselftest 进行设备测试¶
有几种不同的 kselftest 可用于通用设备测试,它们在覆盖范围上有所重叠,并且有不同的要求。本文档旨在概述每种测试。
注意:本文档中的路径是相对于 kselftest 文件夹(tools/testing/selftests
)的。
面向设备的 kselftest
设备树(
dt
)覆盖范围:设备树中描述的设备的探测状态
要求:无
错误日志(
devices/error_logs
)覆盖范围:来自任何设备的错误(或更关键的)日志消息是否存在
要求:无
可发现总线(
devices/probe
)覆盖范围:在参考文件中描述的 USB 或 PCI 设备是否存在及探测状态
要求:在 YAML 参考文件中手动描述应测试的设备(参见
devices/probe/boards/google,spherion.yaml
以获取示例)
存在(
devices/exist
)覆盖范围:所有设备是否存在
要求:在已知良好的内核上生成参考文件(详情请参见
devices/exist/README.rst
)
因此,建议在所有(基于 DT 的)平台上启用错误日志和设备树测试,因为它们没有任何要求。然后,为了大大提高覆盖率,为每个平台生成参考文件并启用存在性测试。可发现总线测试可用于验证特定 USB 或 PCI 设备的探测状态,但在大多数情况下可能不值得。