Un GoogleTest (GTest, a volte chiamato anche "test nativi") per la piattaforma di solito accede ad HAL di livello inferiore o esegue IPC non elaborati su vari sistemi i servizi di machine learning. Per questo motivo, l'approccio di test di solito è strettamente legato il servizio sottoposto a test.
Per l'integrazione con l'infrastruttura di test continuo, crea i tuoi GTest utilizzando GTest il modello di machine learning.
Esempi
Ecco alcuni esempi di GTest nel codice sorgente della piattaforma:
Riepilogo dei passaggi
Per includere automaticamente le dipendenze GTest, utilizza
BUILD_NATIVE_TEST
nella configurazione del modulo di test.Scrivi una configurazione di test, seguendo gli esempi per le semplice e complesse.
Crea il modulo di test con
mmm
per le build incrementali omma
per la versione completa build:make hwui_unit_tests -j
Esegui il test in locale utilizzando Atest:
atest hwui_unit_tests
Puoi anche aggiungere argomenti ai tuoi GTest. Di seguito sono riportati gli argomenti particolarmente utili:
native-test-flag
specifica valori di flag aggiuntivi da passare al comando 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 il sistema di test della Trade Federation:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Installa ed esegui manualmente:
Esegui il push del 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 richiamando il file 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
--help
al tuo file binario di test. Per ulteriori informazioni sui parametri, consulta la guida avanzata per GTest.