Optionen und Filter an Suite und Module übergeben

Informieren Sie sich zuerst über den Umgang mit Optionen. Tradefed.

Bei der Suite-Einrichtung werden die beiden Ebenen beschrieben, die im Struktur der Suite:

  • Die Suite auf oberster Ebene
  • Die Module

In einem nicht-suite-Tradefed-Kontext ist es nicht nötig, darüber nachzudenken. jeden zum vollständigen Aufruf. In einer Suite werden Module von der Suite isoliert. sodass nicht alle Optionen auf der Ebene verfügbar sind.

Optionen an die Suite der obersten Ebene weitergeben

Die Suite der obersten Ebene verhält sich wie die standardmäßige Tradefed-Konfiguration: einschließlich der Suite-Runner-Konfiguration alle Optionen wie Tradefed-Konfiguration.

Optionen an die Module weitergeben

Module erhalten standardmäßig keine der an den Befehl übergebenen Optionen. Sie müssen explizit angesprochen werden, um die Optionen über die Option module-arg. Diese Isolation der Moduloptionen erleichtert die Fehlerbehebung einfacher zu machen.

Beispiel:

cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>

cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true

Die Syntax stellt sicher, dass das Zielmodul die angegebene Option erhält.

Es gibt zusätzliche Möglichkeiten, Optionen an Module zu übergeben, z. B. test-arg, die ermöglicht es Ihnen, Optionen an den Test-Runner jedes Moduls basierend auf dem Runner zu übergeben. Typ oder Klasse.

Beispiel:

cts-tradefed run cts --test-arg <test-class>:<option-name>:<option-value>

cts-tradefed run cts --test-arg com.android.tradefed.testtype.JarHosttest:collect-tests-only:true

Die Syntax zielt nicht auf ein bestimmtes Modul ab, sondern auf alle Testläufer der gegebenen Klasse. test-arg berücksichtigt nur Implementierungen von IRemoteTest als potenzieller Empfänger der Optionen.

Optionen an eine Java-Testklasse in einem java_test_host übergeben

Wenn Sie Ihrer Java-Testklasse ein @Option als Teil einer java_test_host-Build-Ziel haben, müssen Sie Folgendes verwenden, um Option:

cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>

set-option ist in diesem Kontext die Option des HostTest-Runners aus der Testumgebung. der Ihre Java-Klassen zusammenfasst, um sie auszuführen.

wenn das Ziel der JAR-Datei für die Optionen mehrere Testklassen enthält, Standardmäßig wird in allen erwartet, dass sie die @option angegeben haben oder die Methode folgende Syntax verwenden, um eine einzelne Klasse gezielt zu beliefern:

cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>

Filter an die Suite übergeben

Zum Filtern einiger Tests aus einer Suite verwenden wir --include-filter und --exclude-filter, um das Ein- oder Ausschließen eines bestimmten Tests zu erzwingen oder Modul. Der Ausschluss hat Priorität.

Sie haben folgendes Format: [abi] <module-name> [test name]

Beispiele:

--include-filter CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes