Criar um teste de shell na Trade Federation

Esta página descreve como escrever um teste de shell. Se um teste puder ser feito com um script de shell, ele poderá ser executado com ExecutableHostTest. O ExecutableHostTest oferece suporte à filtragem de testes e à fragmentação de testes.

Criar um teste de shell

O script principal é executado no host. Outros scripts ou binários para execução 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 com o teste, 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 script principal. Um teste pode ter um tempo limite se per-binary-timeout tiver sido especificado.

Configurar um teste de shell

Na configuração do XML da Tradefed, os testes de shell são executados pelo executador 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égios de raiz, adicione RootTargetPreparer à configuração.