GoogleTest

Un GoogleTest (GTest, parfois appelé "tests natifs") pour la plate-forme accède généralement à des HAL de niveau inférieur ou effectue une IPC brute sur divers services système. Par conséquent, l'approche de test est généralement étroitement liée au service testé.

Pour une intégration à une infrastructure de tests continus, créez vos tests GTests à l'aide du framework GTest.

Exemples

Voici quelques exemples de GTest dans le code source de la plate-forme:

Résumé des étapes

  1. Suivez l'exemple de configuration du module GTest.

  2. Pour inclure automatiquement les dépendances GTest, utilisez la règle de compilation BUILD_NATIVE_TEST dans la configuration de votre module de test.

  3. Écrivez une configuration de test en suivant les exemples pour les options simples et complexes.

  4. Créez le module de test avec mmm pour les builds incrémentaux ou mma pour les builds complets:

    make hwui_unit_tests -j
    
  5. Exécutez le test en local à l'aide d'Atest:

      atest hwui_unit_tests
    

    Vous pouvez également ajouter des arguments à vos GTests. Les arguments suivants sont particulièrement utiles:

    • native-test-flag spécifie des valeurs d'option supplémentaires à transmettre à la commande shell GTest.
    • native-test-timeout spécifie une valeur de délai avant expiration du test en microsecondes.

      L'exemple de code suivant utilise ces deux arguments:

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
         --module-arg test-name:native-test-timeout:60000
      
  6. Exécutez le test avec le harnais de test de la Trade Federation:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. Installez et exécutez manuellement:

    1. Transférez le binaire de test généré sur votre appareil:

       adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
       /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. Lancez GTest et exécutez le test en appelant le binaire de test sur l'appareil:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      Pour en savoir plus sur la personnalisation de l'exécution des tests, ajoutez le paramètre --help à votre binaire de test. Pour en savoir plus sur les paramètres, consultez le guide avancé de GTest.