GoogleTest

Ein GoogleTest (GTest, manchmal auch als „native Tests“ bezeichnet) für die Plattform greift in der Regel auf HALs auf niedrigerer Ebene zu oder führt rohe IPC für verschiedene Systemdienste aus. Daher ist der Testansatz in der Regel eng mit dem zu testenden Dienst verbunden.

Wenn Sie eine Integration in eine Infrastruktur für kontinuierliche Tests vornehmen möchten, erstellen Sie Ihre GTests mit dem GTest-Framework.

Beispiele

Hier einige Beispiele für GTest im Plattformquellcode:

Zusammenfassung der Schritte

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

  2. Verwenden Sie die Build-Regel BUILD_NATIVE_TEST in der Konfiguration Ihres Testmoduls, um GTest-Abhängigkeiten automatisch einzuschließen.

  3. Schreiben Sie eine Testkonfiguration, die den Beispielen für einfache und komplexe Optionen entspricht.

  4. Erstellen Sie das Testmodul mit mmm für inkrementelle Builds oder mit 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. Die folgenden Argumente sind besonders nützlich:

    • native-test-flag gibt zusätzliche Flag-Werte an, die an den GTest-Shell-Befehl übergeben werden sollen.
    • native-test-timeout gibt einen Test-Zeitlimitwert 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-Harness aus:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. Manuelle Installation und Ausführung:

    1. Übertragen Sie die generierte Test-Binärdatei 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 die Test-Binärdatei auf dem Gerät aufrufen:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      Weitere Informationen zum Anpassen der Testausführung erhalten Sie, wenn Sie der Testbinärdatei den Parameter --help hinzufügen. Weitere Informationen zu Parametern finden Sie im GTest-Leitfaden für Fortgeschrittene.