このページでは、シェルテストの作成方法について説明します。シェルスクリプトを使用してテストを実行できる場合は、 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
を構成に追加します。