Teste do Google

Um GoogleTest (GTest, também chamado de "testes nativos") para a plataforma normalmente acessa HALs de nível inferior ou realiza uma IPC bruta em vários serviços do sistema. Por isso, a abordagem de teste costuma estar fortemente associada o serviço em teste.

Para fazer a integração com a infraestrutura de testes contínuos, crie seus GTests usando o GTest de análise de dados em nuvem.

Exemplos

Confira alguns exemplos de GTest na fonte da plataforma:

Resumo das etapas

  1. Siga o exemplo de configuração do módulo do GTest.

  2. Para incluir dependências do GTest automaticamente, use o BUILD_NATIVE_TEST na configuração do módulo de teste.

  3. Crie uma configuração de teste seguindo os exemplos de comandos simples. e complexas.

  4. Crie o módulo de teste com mmm para builds incrementais ou mma para build completo builds:

    make hwui_unit_tests -j
    
  5. Execute o teste localmente usando o Atest:

      atest hwui_unit_tests
    

    Você também pode adicionar argumentos aos seus GTests. Veja a seguir argumentos especialmente úteis:

    • native-test-flag especifica outros valores de sinalização a serem transmitidos ao comando do shell do GTest.
    • native-test-timeout especifica um valor de tempo limite do teste em microssegundos.

      O exemplo de código a seguir usa os dois argumentos:

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
         --module-arg test-name:native-test-timeout:60000
      
  6. Realize o teste com o arcabouço de testes da Trade Federation:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. Instale e execute manualmente:

    1. Envie o binário de teste gerado para o dispositivo:

       adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
       /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. Inicie o GTest e execute o teste invocando o binário de teste no dispositivo:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      Para mais informações sobre como personalizar a execução de testes, adicione o parâmetro --help ao seu binário de teste. Para mais informações sobre parâmetros, consulte o guia avançado do GTest.