Auf dieser Seite wird beschrieben, wie man einen Shell-Test schreibt. Wenn ein Test mit einem Shell-Skript durchgeführt werden kann, können Sie ihn mit ExecutableHostTest
ausführen. ExecutableHostTest
unterstützt Testfilterung und Test-Sharding.
Schreiben Sie einen Shell-Test
Ihr Haupt-Shell-Skript wird auf dem Host ausgeführt. Andere Skripte 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 mithilfe PushFilePreparer
erfolgen.
Wenn der Test über Gerätebinärmodule verfügt, die zusammen mit dem Test installiert werden sollen, geben Sie diese mit der Eigenschaft 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 Exit-Status Ihres Hauptskripts. Bei einem Test kann es zu einer Zeitüberschreitung kommen, wenn per-binary-timeout
angegeben wurde.
Konfigurieren Sie einen Shell-Test
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 Hauptskript für den Test als Wert der binary
fest. Schauen Sie sich andere ExecutableHostTest
-Optionen an.
Wenn das Skript Root-Rechte erfordert, fügen Sie RootTargetPreparer
zur Konfiguration hinzu.