Una prueba de Google (GTest, también denominada a veces "pruebas nativas") para la plataforma normalmente accede a HAL de nivel inferior o realiza IPC sin procesar contra varios servicios del sistema. Debido a esto, el enfoque de prueba suele estar estrechamente relacionado con el servicio bajo prueba.
Para integrarse con la infraestructura de pruebas continuas, cree sus GTests utilizando el marco GTest .
Ejemplos
Aquí hay algunos ejemplos de GTest en la fuente de la plataforma:
Resumen de pasos
Para incluir automáticamente 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 de 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 puedes agregar argumentos a tus GTests. Los siguientes son argumentos especialmente útiles:
-
native-test-flag
especifica valores de indicador 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 ambos 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:
Inserte 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 .