Scrivere un test della shell in Trade Federation

Questa pagina descrive come scrivere un test shell. Se un test può essere eseguito con uno script shell, puoi eseguirlo con ExecutableHostTest. ExecutableHostTest supporta il filtro dei test e lo sharding dei test.

Scrivere un test della shell

Lo script shell principale viene eseguito sull'host. Altri script o file binari da eseguire sul dispositivo e i file di dati richiesti devono essere inviati prima al dispositivo. Questa operazione può essere eseguita nell'ambito dello script principale o utilizzando PushFilePreparer.

Se il test ha moduli binari del dispositivo che devono essere installati insieme al test, specificarli con la proprietà data_device_bins.

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

Shell test ziptool-tests è un esempio.

Il risultato del test per ogni test si basa sullo stato di uscita dello script principale. Un test può scadere se è stato specificato per-binary-timeout.

Configurare un test shell

Nella configurazione XML di Tradefed, i test della shell vengono eseguiti tramite il runner ExecutableHostTest.

<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>

Imposta lo script principale per il test come valore dell'opzione binary. Scopri altre opzioni ExecutableHostTest.

Se lo script richiede il privilegio di root, aggiungi RootTargetPreparer alla configurazione.