Nesta página, descrevemos como escrever um teste de shell. Se um teste puder ser feito com um
script de shell, execute-o com ExecutableHostTest
. O ExecutableHostTest
oferece suporte à filtragem e
fragmentação de testes.
Criar um teste de shell
O script shell principal é executado no host. Outros scripts ou binários a serem executados no dispositivo e os arquivos de dados necessários precisam ser enviados primeiro.
Isso pode ser feito como parte do script principal ou usando PushFilePreparer
.
Se o teste tiver módulos binários de dispositivo que precisam ser instalados junto com ele, especifique-os com a propriedade data_device_bins
.
sh_test {
name: "module-name",
...
data_device_bins: ["target-name"],
}
O teste de shell ziptool-tests
é um exemplo disso.
O resultado de cada teste é baseado no status de saída do seu script principal.
Um teste pode atingir o tempo limite se per-binary-timeout
tiver sido especificado.
Configurar um teste de shell
Na configuração XML do Tradefed, os testes de shell são executados pelo
executor 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>
Defina o script principal do teste como o valor da opção binary
. Confira outras opções de ExecutableHostTest
.
Se o script exigir privilégio de root, adicione RootTargetPreparer
à configuração.