在 Trade Federation 中编写 Shell 测试

本页介绍了如何编写 shell 测试。如果一个测试可以用 shell 脚本来完成,您就可以用 ExecutableHostTest 来运行它。ExecutableHostTest 支持测试过滤和测试分片。

编写 shell 测试

您的主 shell 脚本在主机上运行。要在设备上运行的其他脚本或二进制文件以及所需的数据文件必须首先推送到设备上。这可以作为主脚本的一部分来完成,也可以使用 PushFilePreparer 来完成。

如果测试中有应随测试一起安装的设备二进制模块,请使用 data_device_bins 属性指定它们。

sh_test {
    name: "module-name",
    ...
    data_device_bins: ["target-name"],
}

shell 测试 ziptool-tests 就是这样一个示例。

每个测试的测试结果都基于主脚本的退出状态。如果指定了 per-binary-timeout,测试可能会超时。

配置 shell 测试

在 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 添加到配置中。