Shell-Test in der Trade Federation schreiben

Auf dieser Seite wird beschrieben, wie Sie einen Shell-Test schreiben. Wenn ein Test mit einem Shell-Skript durchgeführt werden kann, können Sie ihn mit ExecutableHostTest ausführen. ExecutableHostTest unterstützt die Filterung und das Sharding von Tests.

Shell-Test schreiben

Ihr Haupt-Shell-Skript 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. Dies kann im Hauptskript oder mit PushFilePreparer erfolgen.

Wenn der Test Binärmodule für Geräte hat, die zusammen mit dem Test installiert werden sollen, geben Sie sie mit dem Attribut data_device_bins an.

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

Ein Beispiel dafür ist der Shell-Test ziptool-tests.

Das Testergebnis für jeden Test basiert auf dem Exit-Status Ihres Hauptskripts. Ein Test kann ein Zeitlimit überschreiten, wenn per-binary-timeout angegeben wurde.

Shell-Test konfigurieren

In der Tradefed-XML-Konfiguration werden Shell-Tests über den Runner ExecutableHostTest 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 Option binary fest. Sehen Sie sich andere ExecutableHostTest-Optionen an.

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