Ein GoogleTest (GTest, manchmal auch „native Tests“ genannt) für die Plattform greift normalerweise auf HALs niedrigerer Ebene zu oder führt Roh-IPC für verschiedene Systemdienste durch. Aus diesem Grund ist der Testansatz normalerweise eng mit dem zu testenden Dienst verknüpft.
Zur Integration in die kontinuierliche Testinfrastruktur erstellen Sie Ihre GTests mit dem GTest- Framework.
Beispiele
Hier sind einige Beispiele für GTest in der Plattformquelle:
Zusammenfassung der Schritte
Folgen Sie dem Beispiel-GTest-Modul-Setup .
Um GTest-Abhängigkeiten automatisch einzubeziehen, verwenden Sie die Build-Regel
BUILD_NATIVE_TEST
in Ihrer Testmodulkonfiguration.Schreiben Sie eine Testkonfiguration und folgen Sie dabei den Beispielen für einfache und komplexe Optionen.
Erstellen Sie das Testmodul mit
mmm
für inkrementelle Builds odermma
für vollständige Builds:make hwui_unit_tests -j
Führen Sie den Test lokal mit Atest aus:
atest hwui_unit_tests
Sie können Ihren GTests auch Argumente hinzufügen. Folgende Argumente sind besonders nützlich:
-
native-test-flag
gibt zusätzliche Flag-Werte an, die an den GTest-Shell-Befehl übergeben werden sollen. native-test-timeout
gibt einen Test-Timeout-Wert in Mikrosekunden an.Der folgende Beispielcode verwendet diese beiden Argumente:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
-
Führen Sie den Test mit der Testumgebung der Trade Federation durch:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Manuell installieren und ausführen:
Schieben Sie die generierte Testbinärdatei auf Ihr Gerät:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
Starten Sie GTest und führen Sie den Test aus, indem Sie die Testbinärdatei auf dem Gerät aufrufen:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Für weitere Informationen zum Anpassen der Testausführung fügen Sie den Parameter
--help
zu Ihrer Testbinärdatei hinzu. Weitere Informationen zu Parametern finden Sie im erweiterten GTest-Leitfaden .