GoogleTest

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

  1. Postępuj zgodnie z przykładową konfiguracją modułu GTest.

  2. Aby automatycznie uwzględniać 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 prostychzłożonych.

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

    make hwui_unit_tests -j
    
  5. 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
      
  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. Ręcznie zainstaluj i uruchom:

    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 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.