本页介绍如何编写 shell 测试。如果可以使用 shell 脚本完成测试,则可以使用ExecutableHostTest
运行它。 ExecutableHostTest
支持测试过滤和测试分片。
编写 shell 测试
您的主 shell 脚本在主机上运行。要在设备上运行的其他脚本或二进制文件以及所需的数据文件必须先推送到设备。这可以作为主脚本的一部分或使用PushFilePreparer
来完成。
如果测试具有应与测试一起安装的设备二进制模块,请使用data_device_bins
属性指定它们。
sh_test {
name: "module-name",
...
data_device_bins: ["target-name"],
}
Shell test ziptool-tests
就是这样一个例子。
每个测试的测试结果基于您的主脚本的退出状态。如果指定了per-binary-timeout
,则测试可能会超时。
配置外壳测试
在 Tradefed XML 配置中,shell 测试通过ExecutableHostTest
运行程序运行。
<test class="com.android.tradefed.testtype.binary.ExecutableHostTest" >
<option name="binary" value="your-test-script.sh" />
<option name="relative-path-execution" value="true" />
<option name="per-binary-timeout" value="15m" />
</test>
将测试的主脚本设置为binary
选项的值。查看其他ExecutableHostTest
选项。
如果脚本需要 root 权限,请将RootTargetPreparer
添加到配置中。