Shell-Test in der Trade Federation schreiben

Auf dieser Seite wird beschrieben, wie Sie einen Shell-Test schreiben. Wenn ein Test mit einem Shell-Script durchgeführt werden kann, können Sie ihn mit ExecutableHostTest ausführen. ExecutableHostTest unterstützt Testfilter und Test-Fragmentierung.

Shell-Test schreiben

Ihr Shell-Hauptskript wird auf dem Host ausgeführt. Andere Scripts 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. Das kann im Hauptscript oder mit PushFilePreparer erfolgen.

Wenn der Test Geräte-Binärmodule enthält, die zusammen mit dem Test installiert werden sollen, geben Sie sie mit der Property data_device_bins an.

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

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.

Shell-Test konfigurieren

In der Tradefed-XML-Konfiguration werden Shell-Tests über die Läufer von 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>

Legen Sie das Hauptscript für den Test als Wert für die Option binary fest. Weitere ExecutableHostTest-Optionen ansehen

Wenn für das Script Root-Berechtigungen erforderlich sind, fügen Sie der Konfiguration RootTargetPreparer hinzu.