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 を追加します。