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 ExecutableHostTestausführen. ExecutableHostTest unterstützt die Testfilterung und das Test-Sharding.

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 als Teil des Hauptskripts oder mit PushFilePreparer erfolgen.

Wenn der Test binäre Gerätemodule enthält, die zusammen mit dem Test installiert werden sollen, geben Sie sie mit data_device_bins Eigenschaft 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. Weitere Optionen für ExecutableHostTest

Wenn das Skript Root-Berechtigungen erfordert, fügen Sie RootTargetPreparer der Konfiguration hinzu.