Por lo general, un GoogleTest (GTest, que a veces también se denomina "pruebas nativas") para la plataforma accede a HAL de nivel inferior o realiza IPC sin procesar en varios servicios del sistema. Debido a esto, el enfoque de prueba suele estar estrechamente relacionado con el servicio que se prueba.
Para integrar con la infraestructura de pruebas continuas, compila tus GTests con el framework GTest.
Ejemplos
Estos son algunos ejemplos de GTest en la fuente de la plataforma:
Resumen de los pasos
Para incluir automáticamente las dependencias de GTest, usa la regla de compilación
BUILD_NATIVE_TEST
en la configuración de tu módulo de prueba.Escribe una configuración de prueba siguiendo los ejemplos de opciones simples y complejas.
Compila el módulo de prueba con
mmm
para compilaciones incrementales omma
para compilaciones completas:make hwui_unit_tests -j
Ejecuta la prueba de forma local con Atest:
atest hwui_unit_tests
También puedes agregar argumentos a tus GTests. Los siguientes son argumentos especialmente útiles:
native-test-flag
especifica valores de marca adicionales para pasar al comando de shell de GTest.native-test-timeout
especifica un valor de tiempo de espera de prueba en microsegundos.En el siguiente código de ejemplo, se usan ambos argumentos:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
Ejecuta la prueba con el kit de prueba de Trade Federation:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Instala y ejecuta manualmente:
Envía el objeto binario de prueba generado a tu dispositivo:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
Inicia GTest y ejecuta la prueba invocando el objeto binario de prueba en el dispositivo:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Para obtener más información sobre cómo personalizar la ejecución de pruebas, agrega el parámetro
--help
a tu binario de prueba. Para obtener más información sobre los parámetros, consulta la guía avanzada de GTest.