Por lo general, un GoogleTest (GTest, también llamado a veces "pruebas nativas") para la plataforma accede a HAL de nivel inferior o realiza IPC sin procesar en diferentes servicios del sistema. Por lo tanto, el enfoque de prueba suele tener un acoplamiento alto con el servicio que se está probando.
Para integrarte en la infraestructura de pruebas continuas, compila tus GTests con el framework de GTest.
Ejemplos
Estos son algunos ejemplos de GTest en el código 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 las opciones simple y compleja.
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 argumentos son especialmente útiles:
native-test-flag
especifica valores de marcas adicionales para pasar al comando de shell de GTest.native-test-timeout
especifica un valor de tiempo de espera de la 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 arnés de prueba de Trade Federation:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Instala y ejecuta de forma manual:
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 archivo 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 archivo binario de prueba. Para obtener más información sobre los parámetros, consulta la guía avanzada de GTest.