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