Tests natifs

Un test natif pour la plate-forme accède généralement aux HAL de niveau inférieur ou effectue un IPC brut sur divers services système. Par conséquent, l'approche de test est généralement étroitement associée au service testé.

Construire des tests natifs en utilisant le gtest cadre. Il s'agit d'une condition préalable à l'intégration avec l'infrastructure de test continu.

Exemples

Voici quelques exemples de tests natifs dans le source de la plateforme :

Résumé des étapes

  1. Voir l' exemple configuration du module de test natif à: cadres / base / libs / Hwui / tests / unité /
  2. Module de test configuation doit utiliser la BUILD_NATIVE_TEST règle de construction si les dépendances gtest sont automatiquement
  3. Écrire une configuration de test. Voir la simples et complexes options.
  4. Construire le module de test avec mmm ou mma (dépend si elle est une incrémental ou génération complète), par exemple:

    make hwui_unit_tests -j
    
  5. Utilisez Atest pour exécuter le test sur place:

    atest hwui_unit_tests
    
    1. Vous pouvez également ajouter des arguments à vos tests natifs. Certains drapeaux sont particulièrement utiles native-test-flag , qui spécifie les valeurs de drapeau supplémentaires pour passer à la commande shell de test de natif et native-test-timeout , ce qui vous permet de spécifier une valeur de délai d' attente de test en microsecondes.

      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 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. Poussez le binaire de test généré sur l'appareil :

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

      adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

    Cela lance le test natif. Vous pouvez également ajouter le --help paramètre à votre binaire de test pour en savoir plus sur les différentes façons de personnaliser l' exécution des tests. Enfin, voir le gtest Guide avancé pour plus de paramètres et leur utilisation.