Google-Test

Ein GoogleTest (GTest, auch als „nativer Test“ bezeichnet) für die Plattform greift in der Regel auf HALs niedrigerer Ebene zu oder führt einen Roh-IPC mit verschiedenen Systemdiensten aus. Aus diesem Grund ist der Testansatz normalerweise eng mit dem zu testenden Dienst gekoppelt.

Wenn Sie Ihre GTests in die Continuous-Testing-Infrastruktur einbinden möchten, erstellen Sie sie mit dem GTest-Framework.

Beispiele

Hier einige Beispiele für GTest in der Plattformquelle:

Zusammenfassung der Schritte

  1. Folgen Sie der Beispielkonfiguration für GTest-Module.

  2. Wenn Sie GTest-Abhängigkeiten automatisch einbeziehen möchten, verwenden Sie die Build-Regel BUILD_NATIVE_TEST in der Konfiguration Ihres Testmoduls.

  3. Erstellen Sie eine Testkonfiguration. Folgen Sie dabei den Beispielen für einfache und komplexe Optionen.

  4. Erstellen Sie das Testmodul mit mmm für inkrementelle Builds oder mma für vollständige Builds:

    make hwui_unit_tests -j
    
  5. Führen Sie den Test lokal mit Atest aus:

      atest hwui_unit_tests
    

    Sie können Ihren GTests auch Argumente hinzufügen. Folgende Argumente sind besonders hilfreich:

    • Mit native-test-flag werden zusätzliche Flag-Werte angegeben, die an den GTest-Shell-Befehl übergeben werden.
    • native-test-timeout gibt ein Testzeitlimit in Mikrosekunden an.

      Im folgenden Beispielcode werden beide Argumente verwendet:

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
         --module-arg test-name:native-test-timeout:60000
      
  6. Führen Sie den Test mit dem Trade Federation-Test-Harnisch aus:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. Manuell installieren und ausführen:

    1. Senden Sie das generierte Test-Binary auf Ihr Gerät:

       adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
       /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. Starten Sie GTest und führen Sie den Test aus, indem Sie das Test-Binary auf dem Gerät aufrufen:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      Weitere Informationen zur Anpassung der Testausführung finden Sie, wenn Sie dem Test-Binary den Parameter --help hinzufügen. Weitere Informationen zu Parametern finden Sie im erweiterten Leitfaden für GTest.