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