Un GoogleTest (GTest, parfois appelé "test natif") pour la plate-forme accède généralement aux HAL de niveau inférieur ou effectue des IPC bruts sur différents services système. Pour cette raison, l'approche de test est généralement étroitement liée au service testé.
Pour l'intégrer à une infrastructure de test continu, créez vos GTests à l'aide du framework GTest.
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 la règle de compilation
BUILD_NATIVE_TESTdans la configuration de votre module de test.Rédigez une configuration de test en suivant les exemples d'options simples et complexes.
Créez le module de test avec
mmmpour les builds incrémentiels oummapour les builds complets :make hwui_unit_tests -jExécutez le test en local à l'aide de Atest :
atest hwui_unit_testsVous pouvez également ajouter des arguments à vos GTests. Voici quelques arguments particulièrement utiles :
native-test-flagspécifie des valeurs d'option supplémentaires à transmettre à la commande shell GTest.native-test-timeoutspé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 le harnais de test Trade Federation :
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_testsInstallez 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_testsLancez GTest et exécutez le test en appelant le binaire de test sur l'appareil :
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_testsPour 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é GTest.