Criar um teste 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, você poderá executá-lo com ExecutableHostTest. O ExecutableHostTest oferece suporte à filtragem de testes e à fragmentação de testes.

Criar um teste de shell

O script de 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 por push ao dispositivo 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.