Escrevendo um teste de shell na Federação de Comércio

Esta página descreve como escrever um teste de shell. Se um teste puder ser feito com um script de shell, você poderá executá-lo com ExecutableHostTest . ExecutableHostTest é compatível com filtragem de teste e fragmentação de teste.

Escrevendo um teste de shell

Seu script de shell principal é executado no host. Outros scripts ou binários a serem executados no dispositivo e os arquivos de dados necessários devem ser enviados primeiro ao dispositivo. Isso pode ser feito como parte do script principal ou usando PushFilePreparer .

Se o teste tiver módulos binários de dispositivo que devem ser instalados junto com o teste, especifique-os com a propriedade data_device_bins .

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

Teste de shell ziptool-tests é um exemplo.

O resultado do teste para cada teste é baseado no status de saída do seu script principal. Um teste pode atingir o tempo limite se o tempo limite per-binary-timeout tiver sido especificado.

Configurando um teste de shell

Na configuração Tradefed XML, os testes de shell são executados por meio do ExecutableHostTest runner.

<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 para o teste como o valor da opção binary . Confira outras opções de ExecutableHostTest .

Se o script exigir privilégios de root, adicione RootTargetPreparer à configuração.