GoogleTest (GTest, czasami nazywany też „testami natywnymi”) dla platformy zwykle uzyskuje dostęp do HAL-ów niższego poziomu lub wykonuje surowe IPC w stosunku do różnych usług systemowych. Z tego powodu podejście do testowania jest zwykle ściśle powiązane z testowaną usługą.
Aby zintegrować się z infrastrukturą testowania ciągłego, twórz testy GTest za pomocą platformy GTest.
Przykłady
Oto kilka przykładów GTest w kodzie źródłowym platformy:
Podsumowanie kroków
Postępuj zgodnie z przykładem konfiguracji modułu GTest.
Aby automatycznie uwzględnić zależności GTest, użyj reguły kompilacji
BUILD_NATIVE_TESTw konfiguracji modułu testowego.Napisz konfigurację testu, korzystając z przykładów opcji prostych i złożonych.
Skompiluj moduł testowy za pomocą polecenia
mmmw przypadku kompilacji przyrostowych lubmmaw przypadku kompilacji pełnych:make hwui_unit_tests -jUruchom test lokalnie za pomocą Atest:
atest hwui_unit_testsDo testów GTest możesz też dodawać argumenty. Szczególnie przydatne są te argumenty:
native-test-flagokreśla dodatkowe wartości flag, które mają być przekazywane do polecenia powłoki GTest.native-test-timeoutokreśla wartość limitu czasu testu w mikrosekundach.Poniższy przykładowy kod używa obu tych argumentów:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
Uruchom test za pomocą platformy testowej Trade Federation:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_testsZainstaluj i uruchom ręcznie:
Prześlij wygenerowany plik binarny testu na urządzenie:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_testsUruchom GTest i wykonaj test, wywołując plik binarny testu na urządzeniu:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_testsWięcej informacji o dostosowywaniu wykonywania testów znajdziesz, dodając parametr
--helpdo pliku binarnego testu. Więcej informacji o parametrach znajdziesz w zaawansowanym przewodniku po GTest.