Schreiben Sie einen Shell-Test in Trade Federation. Schreiben Sie einen Shell-Test in Trade Federation

Auf dieser Seite wird beschrieben, wie man einen Shell-Test schreibt. Wenn ein Test mit einem Shell-Skript durchgeführt werden kann, können Sie ihn mit ExecutableHostTest ausführen. ExecutableHostTest unterstützt Testfilterung und Test-Sharding.

Schreiben Sie einen Shell-Test

Ihr Haupt-Shell-Skript wird auf dem Host ausgeführt. Andere Skripte oder Binärdateien, die auf dem Gerät ausgeführt werden sollen, und die erforderlichen Datendateien müssen zuerst auf das Gerät übertragen werden. Dies kann als Teil des Hauptskripts oder mithilfe PushFilePreparer erfolgen.

Wenn der Test über Gerätebinärmodule verfügt, die zusammen mit dem Test installiert werden sollen, geben Sie diese mit der Eigenschaft data_device_bins an.

sh_test {
    name: "module-name",
    ...
    data_device_bins: ["target-name"],
}

Der Shell-Test ziptool-tests ist ein solches Beispiel.

Das Testergebnis für jeden Test basiert auf dem Exit-Status Ihres Hauptskripts. Bei einem Test kann es zu einer Zeitüberschreitung kommen, wenn per-binary-timeout angegeben wurde.

Konfigurieren Sie einen Shell-Test

In der Tradefed-XML-Konfiguration werden Shell-Tests über den ExecutableHostTest Runner ausgeführt.

<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>

Legen Sie das Hauptskript für den Test als Wert der binary fest. Schauen Sie sich andere ExecutableHostTest -Optionen an.

Wenn das Skript Root-Rechte erfordert, fügen Sie RootTargetPreparer zur Konfiguration hinzu.