Informieren Sie sich zuerst über die Optionenverwaltung in Tradefed.
Bei der Suite-Einrichtung werden die beiden Ebenen beschrieben, die im Struktur der Suite:
- Suite der obersten Ebene
- Die Module
In einem nicht-suite-Tradefed-Kontext ist es nicht nötig, darüber nachzudenken. jeden zum vollständigen Aufruf. In einem Suite-Kontext sind Module von der Suite getrennt. Daher sind nicht alle Optionen auf dieser Ebene verfügbar.
Optionen an die Suite der obersten Ebene weitergeben
Die Suite auf oberster Ebene verhält sich wie eine Standard-Tradefed-Konfiguration: Die vollständige Konfiguration einschließlich des Suite-Runners erhält alle Optionen wie eine Tradefed-Konfiguration ohne Suite.
Optionen an die Module übergeben
Module erhalten standardmäßig keine der an den Befehl übergebenen Optionen.
Sie müssen explizit ausgewählt werden, damit sie die Optionen über die Option module-arg
sehen. 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 sorgt dafür, dass das anvisierte Modul 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 richtet sich nicht an ein bestimmtes Modul, sondern an alle Testläufer der angegebenen 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 im Rahmen eines java_test_host-Buildziels ein @Option
hinzufügen, müssen Sie Folgendes verwenden, um diese Option einzufügen:
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 einschließt, 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
Um einige Tests aus einer Suite herauszufiltern, verwenden wir --include-filter
und --exclude-filter
, um einen bestimmten Test oder ein bestimmtes Modul jeweils zu erzwingen oder auszuschließen. Der Ausschluss hat Vorrang.
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