Test GoogleTest (GTest, czasami nazywany też „testami natywnymi”) dla platformy zwykle uzyskuje dostęp do interfejsów HAL 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ą testów ciągłych, utwó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ładową konfiguracją modułu GTest.
Aby automatycznie uwzględniać zależności GTest, użyj reguły kompilacji
BUILD_NATIVE_TEST
w konfiguracji modułu testowego.Napisz konfigurację testu, korzystając z przykładów opcji prostych i złożonych.
Zbuduj moduł testowy za pomocą polecenia
mmm
w przypadku przyrostowych kompilacji lubmma
w przypadku pełnych kompilacji:make hwui_unit_tests -j
Uruchom test lokalnie za pomocą narzędzia Atest:
atest hwui_unit_tests
Możesz też dodawać argumenty do testów GTest. Szczególnie przydatne są te argumenty:
native-test-flag
określa dodatkowe wartości flag, które mają zostać przekazane do polecenia powłoki GTest.native-test-timeout
określa wartość czasu oczekiwania na test w mikrosekundach.W tym przykładowym kodzie używamy 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_tests
Ręcznie zainstaluj i uruchom:
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_tests
Uruchom GTest i wykonaj test, wywołując na urządzeniu plik binarny testu:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Więcej informacji o dostosowywaniu wykonywania testów znajdziesz po dodaniu parametru
--help
do pliku binarnego testu. Więcej informacji o parametrach znajdziesz w zaawansowanym przewodniku po GTest.