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