Un GoogleTest (GTest, a volte chiamato anche "test nativo") per la piattaforma in genere accede a HAL di livello inferiore o esegue IPC non elaborato su vari servizi di sistema. Per questo motivo, l'approccio di test è in genere strettamente associato al servizio sottoposto a test.
Per l'integrazione con l'infrastruttura di test continui, crea i tuoi GTest utilizzando il framework GTest .
Esempi
Ecco alcuni esempi di GTest nel sorgente della piattaforma:
Sintesi dei passaggi
Segui l' esempio di configurazione del modulo GTest .
Per includere automaticamente le dipendenze GTest, utilizza la regola di compilazione
BUILD_NATIVE_TEST
nella configurazione del modulo di test.Scrivi una configurazione di prova, seguendo gli esempi per le opzioni semplici e complesse .
Costruisci il modulo di test con
mmm
per build incrementali omma
per build complete:make hwui_unit_tests -j
Esegui il test in locale usando Atest :
atest hwui_unit_tests
Puoi anche aggiungere argomenti ai tuoi GTest. Le seguenti sono argomentazioni particolarmente utili:
-
native-test-flag
specifica ulteriori valori di flag da passare al comando della shell GTest. native-test-timeout
specifica un valore di timeout del test in microsecondi.Il codice di esempio seguente utilizza entrambi questi argomenti:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
-
Esegui il test con l'imbracatura di prova della Federazione dei Mercanti:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Installa ed esegui manualmente:
Inserisci il file binario di test generato sul tuo dispositivo:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
Avvia GTest ed esegui il test invocando il binario di test sul dispositivo:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Per ulteriori informazioni sulla personalizzazione dell'esecuzione del test, aggiungi il parametro
--help
al file binario del test. Per maggiori informazioni sui parametri, fare riferimento alla guida avanzata di GTest .