test Google (GTest, czasem nazywany też „testami natywnymi”) dla platformy; zwykle uzyskuje dostęp do list HAL niższego poziomu lub wykonuje nieprzetworzone dane IPC w odniesieniu do różnych systemów usług Google. Z tego powodu testowanie jest zazwyczaj ściśle powiązane, w testowanej usłudze.
Aby przeprowadzić integrację z infrastrukturą do ciągłego testowania, utwórz testy GTest za pomocą GTest. platformy.
Przykłady
Oto kilka przykładów użycia GTest w źródle platformy:
Podsumowanie kroków
Postępuj zgodnie z przykładową konfiguracją modułu GTest.
Aby automatycznie uwzględnić zależności GTest, użyj komponentu
BUILD_NATIVE_TEST
reguły kompilacji w konfiguracji modułu testowego.Napisz konfigurację testową, postępując zgodnie z przykładami dla prostych lub złożonych.
Utwórz moduł testowy, korzystając z interfejsu
mmm
, aby tworzyć przyrostowe kompilacje, lubmma
, aby w pełni wykorzystać tę funkcję. kompilacje:make hwui_unit_tests -j
Uruchom test lokalnie przy użyciu Atest:
atest hwui_unit_tests
Możesz też dodawać argumenty do testów GTests. Szczególnie przydatne są te argumenty:
native-test-flag
określa dodatkowe wartości flag, które należy przekazać do polecenia powłoki GTest.native-test-timeout
określa wartość limitu czasu testowego w mikrosekundach.Następujący przykładowy kod korzysta z obu tych argumentów:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
Przeprowadź test za pomocą narzędzia Trade Federation:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
Zainstaluj i uruchom ręcznie:
Prześlij wygenerowany testowy plik binarny 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 przeprowadź test, wywołując na urządzeniu plik binarny testu:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
Aby uzyskać więcej informacji o dostosowywaniu wykonania testu, dodaj
--help
do testowego pliku binarnego. Więcej informacji na temat parametrów znajdziesz tutaj: zaawansowanym przewodniku GTest.