A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
GoogleTest
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Un test Google (GTest, a volte chiamato anche "test nativi") per la piattaforma solitamente accede a HAL di livello inferiore o esegue IPC non elaborati con vari servizi di sistema. Per questo motivo, l'approccio di test è in genere strettamente associato al servizio in test.
Per integrarti con l'infrastruttura di test continuo, crea i tuoi GTest
utilizzando il framework GTest.
Esempi
Ecco alcuni esempi di GTest nel codice sorgente della piattaforma:
Riepilogo della procedura
Segui l'esempio di configurazione del modulo GTest.
Per includere automaticamente le dipendenze di GTest, utilizza la regola di compilazione BUILD_NATIVE_TEST
nella configurazione del modulo di test.
Scrivi una configurazione di test seguendo gli esempi per le opzioni semplici
e complesse.
Compila il modulo di test con mmm
per le build incrementali o mma
per le build complete:
make hwui_unit_tests -j
Esegui il test localmente utilizzando Atest:
atest hwui_unit_tests
Puoi anche aggiungere argomenti ai GTest. Di seguito sono riportati gli argomenti particolarmente utili:
Esegui il test con il test harness Trade Federation:
make tradefed-all -j
tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Installa ed esegui manualmente:
Invia il file binario di test generato sul 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 il parametro --help
al file binario del test. Per ulteriori informazioni sui parametri, consulta la guida avanzata di GTest.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[null,null,["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# GoogleTest\n\nA GoogleTest (GTest, also sometimes called \"native tests\") for the platform\ntypically accesses lower-level HALs or performs raw IPC against various system\nservices. Because of this, the testing approach is usually tightly coupled with\nthe service under test.\n\nTo integrate with continuous testing infrastructure, build your GTests\nusing the [GTest](https://github.com/google/googletest)\nframework.\n\nExamples\n--------\n\nHere are some examples of GTest in the platform source:\n\n- [frameworks/av/camera/tests](https://android.googlesource.com/platform/frameworks/av/+/android16-release/camera/tests/)\n- [frameworks/native/libs/gui/tests](https://android.googlesource.com/platform/frameworks/native/+/android16-release/libs/gui/tests/)\n\nSummary of steps\n----------------\n\n1. Follow the [example GTest module setup](https://android.googlesource.com/platform/frameworks/base/+/android16-release/libs/hwui/tests/unit/).\n\n2. To automatically include GTest dependencies, use the `BUILD_NATIVE_TEST`\n build rule in your test module configuration.\n\n3. Write a test configuration, following the examples for [simple](/docs/core/tests/development/blueprints)\n and [complex](/docs/core/tests/development/test-config) options.\n\n4. Build the test module with `mmm` for incremental builds, or `mma` for full\n builds:\n\n make hwui_unit_tests -j\n\n5. Run the test locally using [Atest](/docs/core/tests/development/atest):\n\n atest hwui_unit_tests\n\n You can also add arguments to your GTests. The following are especially useful arguments:\n - `native-test-flag` specifies additional flag values to pass to the GTest shell command.\n - `native-test-timeout` specifies a test timeout value in microseconds.\n\n The following example code uses both of these arguments: \n\n atest test-name -- --module-arg test-name:native-test-flag:\"\\\"argument1 argument2\\\"\" \\\n --module-arg test-name:native-test-timeout:60000\n\n6. Run the test with the Trade Federation test harness:\n\n make tradefed-all -j\n tradefed.sh run template/local_min --template:map test=hwui_unit_tests\n\n7. Manually install and run:\n\n 1. Push the generated test binary onto your device:\n\n adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \\\n /data/nativetest/hwui_unit_tests/hwui_unit_tests\n\n 2. Launch GTest and execute the test by invoking the test binary on the device:\n\n adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests\n\n For more information about customizing test execution, add the `--help`\n parameter to your test binary. For more information on parameters, refer to\n the [GTest advanced guide](https://github.com/google/googletest/blob/master/googletest/docs/advanced.md)."]]