Un GoogleTest (également appelé "test natif") pour la plate-forme accède généralement aux HAL de niveau inférieur ou effectue l'IPC brute sur différents systèmes services. Par conséquent, l'approche de test est généralement étroitement liée au service testé.
Pour intégrer l'infrastructure de tests continus, créez vos GTests à l'aide de l'API GTest d'infrastructure.
Exemples
Voici quelques exemples de GTest dans le code source de la plate-forme:
Résumé des étapes
Suivez l'exemple de configuration du module GTest.
Pour inclure automatiquement les dépendances GTest, utilisez
BUILD_NATIVE_TEST
. dans la configuration de votre module de test.Écrivez une configuration de test en suivant les exemples pour les options simples et complexes.
Compilez le module de test avec
mmm
pour les builds incrémentiels oumma
pour un build complet compilations:make hwui_unit_tests -j
Exécutez le test en local à l'aide de 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'options supplémentaires à transmettre à la commande shell de 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
Exécutez le test avec l'outil de test de la fédération du commerce:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Installez et exécutez manuellement:
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
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 du test, ajoutez
--help
au binaire de test. Pour en savoir plus sur les paramètres, consultez Guide GTest avancé.