Trade Federation でシェル テストを作成する,Trade Federation でシェル テストを作成する

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