Um GoogleTest (GTest, às vezes também chamado de "testes nativos") para a plataforma normalmente acessa HALs de nível inferior ou executa IPC bruto em vários serviços do sistema. Por causa disso, a abordagem de teste geralmente está fortemente associada ao serviço em teste.
Para integração com infraestrutura de testes contínuos, crie seus GTests usando a estrutura GTest .
Exemplos
Aqui estão alguns exemplos de GTest na fonte da plataforma:
Resumo das etapas
Para incluir automaticamente dependências GTest, use a regra de construção
BUILD_NATIVE_TEST
na configuração do módulo de teste.Escreva uma configuração de teste, seguindo os exemplos de opções simples e complexas .
Crie o módulo de teste com
mmm
para compilações incrementais oumma
para compilações completas:make hwui_unit_tests -j
Execute o teste localmente usando Atest :
atest hwui_unit_tests
Você também pode adicionar argumentos aos seus GTests. Os argumentos a seguir são especialmente úteis:
-
native-test-flag
especifica valores de sinalizador adicionais para passar para o comando shell GTest. native-test-timeout
especifica um valor de tempo limite de teste em microssegundos.O código de exemplo a seguir usa esses dois argumentos:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
-
Execute o teste com o equipamento de teste 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 seu 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 obter mais informações sobre como personalizar a execução de teste, adicione o parâmetro
--help
ao seu binário de teste. Para obter mais informações sobre parâmetros, consulte o guia avançado GTest .