Un GoogleTest (GTest, también llamado a veces "pruebas nativas") para la plataforma generalmente 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 está probando.
Para integrarse con la infraestructura de pruebas continuas, cree sus GTests utilizando el marco GTest .
Ejemplos
Estos son algunos ejemplos de GTest en la fuente de la plataforma:
Resumen de pasos
Para incluir automáticamente las dependencias de GTest, use la regla de compilación
BUILD_NATIVE_TEST
en la configuración de su módulo de prueba.Escriba una configuración de prueba, siguiendo los ejemplos para opciones simples y complejas .
Cree el módulo de prueba con
mmm
para compilaciones incrementales omma
para compilaciones completas:make hwui_unit_tests -j
Ejecute la prueba localmente usando Atest :
atest hwui_unit_tests
También puede agregar argumentos a sus GTests. Los siguientes son argumentos especialmente útiles:
-
native-test-flag
especifica valores de marca adicionales para pasar al comando de shell GTest. native-test-timeout
especifica un valor de tiempo de espera de prueba en microsegundos.El siguiente código de ejemplo utiliza estos dos argumentos:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
-
Ejecute la prueba con el arnés de prueba de la Federación de comercio:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Instalar y ejecutar manualmente:
Empuje el binario de prueba generado en su dispositivo:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
Inicie GTest y ejecute la prueba invocando el 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 la prueba, agregue el parámetro
--help
a su binario de prueba. Para obtener más información sobre los parámetros, consulte la guía avanzada de GTest .