通商連合でシェルテストを書く

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