このページでは、シェルテストの作成方法について説明します。シェルスクリプトを使用してテストを実行できる場合は、 ExecutableHostTestを使用してテストを実行できます。 ExecutableHostTestは、テストフィルタリングとテストシャーディングをサポートします。
シェルテストの作成
メインのシェルスクリプトはホスト上で実行されます。デバイスで実行する他のスクリプトまたはバイナリ、および必要なデータファイルは、最初にデバイスにプッシュする必要があります。これは、メインスクリプトの一部として、またはPushFilePreparerを使用して実行できます。
テストに、テストと一緒にインストールする必要のあるデバイスバイナリモジュールがある場合は、 data_device_binsプロパティでそれらを指定します。
sh_test {
name: "module-name",
...
data_device_bins: ["target-name"],
}
シェルテストziptool-testsはそのような例です。
各テストのテスト結果は、メインスクリプトの終了ステータスに基づいています。 per-binary-timeoutが指定されている場合、テストはタイムアウトする可能性があります。
シェルテストの構成
Tradefed XML構成では、シェルテストは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を構成に追加します。