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:
- frameworks/av/camera/tests (em inglês)
- frameworks/native/libs/gui/tests (em inglês)
Resumo das etapas
Para incluir dependências do GTest automaticamente, use o
BUILD_NATIVE_TEST
na configuração do módulo de teste.Crie uma configuração de teste seguindo os exemplos de comandos simples. e complexas.
Crie o módulo de teste com
mmm
para builds incrementais oumma
para build completo builds:make hwui_unit_tests -j
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
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
Instale e execute manualmente:
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
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.