在 Trade Federation 中编写 Shell 测试

本页介绍如何编写 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添加到配置中。