GoogleTest

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

  1. Postępuj zgodnie z przykładem konfiguracji modułu GTest.

  2. Aby automatycznie uwzględnić zależności GTest, użyj reguły kompilacji BUILD_NATIVE_TEST w konfiguracji modułu testowego.

  3. Napisz konfigurację testu, korzystając z przykładów opcji prostych i złożonych.

  4. Skompiluj moduł testowy za pomocą polecenia mmm w przypadku kompilacji przyrostowych lub mma w przypadku kompilacji pełnych:

    make hwui_unit_tests -j
    
  5. Uruchom test lokalnie za pomocą Atest:

      atest hwui_unit_tests
    

    Do testów GTest możesz też dodawać argumenty. Szczególnie przydatne są te argumenty:

    • native-test-flag określa dodatkowe wartości flag, które mają być przekazywane do polecenia powłoki GTest.
    • native-test-timeout okreś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
      
  6. Uruchom test za pomocą platformy testowej Trade Federation:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. Zainstaluj i uruchom ręcznie:

    1. 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
      
    2. Uruchom GTest i wykonaj test, wywołując plik binarny testu na urządzeniu:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      Więcej informacji o dostosowywaniu wykonywania testów znajdziesz, dodając parametr --help do pliku binarnego testu. Więcej informacji o parametrach znajdziesz w zaawansowanym przewodniku po GTest.