Shell-Test in 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 Testfilterung und Testfragmentierung.

Shell-Test schreiben

Das Haupt-Shell-Script wird auf dem Host ausgeführt. Andere Skripts 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"],
}

Ein solches Beispiel ist der Shell-Test ziptool-tests.

Das Testergebnis für jeden Test basiert auf dem Beendigungsstatus Ihres Hauptscripts. 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 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 ansehen

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