GoogleTest

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

  1. Sigue la configuración de ejemplo del módulo GTest.

  2. 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.

  3. Escribe una configuración de prueba siguiendo los ejemplos de las opciones simple y compleja.

  4. Compila el módulo de prueba con mmm para compilaciones incrementales o mma para compilaciones completas:

    make hwui_unit_tests -j
    
  5. 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
      
  6. 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
    
  7. Instala y ejecuta de forma manual:

    1. 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
      
    2. 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.