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 die Testfilterung und das Test-Sharding.

Shell-Test schreiben

Das Haupt-Shell-Script 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"],
}

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

Das Testergebnis für jeden Test basiert auf dem Beendigungsstatus Ihres Hauptscripts. Bei einem Test kann ein Zeitlimit auftreten, wenn per-binary-timeout angegeben wurde.

Shell-Test konfigurieren

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 Hauptscript für den Test als Wert für die Option binary fest. Weitere ExecutableHostTest-Optionen

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