Tout d'abord, assurez-vous de bien comprendre la gestion des options. dans Tradefed.
La section Configuration de la suite décrit les deux couches de la structure de la suite:
- La suite de premier niveau
- Les modules
Dans un contexte non-suite Tradefed, il n'est pas nécessaire d'y penser ; toutes les permet d'accéder à l'appel complet. Dans un contexte de suite, les modules sont conservés sont isolés de la suite. Par conséquent, toutes les options ne sont pas disponibles à leur niveau.
Transmettre les options à la suite de premier niveau
La suite de premier niveau se comporte comme la configuration Tradefed standard : configuration incluant l'exécuteur de suite reçoit toutes les options, comme un une configuration Tradefed sans suite.
Transmettre des options aux modules
Par défaut, les modules ne reçoivent aucune des options transmises à la commande.
Ils doivent être ciblés explicitement pour recevoir les options via la
Option module-arg
. Cette isolation des options du module facilite le débogage
plus facile.
Exemple :
cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>
cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true
La syntaxe garantit que le module ciblé recevra l'option donnée.
Il existe d'autres moyens de transmettre des options à des modules tels que test-arg
, qui
vous permet de transmettre des options au lanceur de test de chaque module en fonction de l'exécuteur.
un type ou une classe.
Exemple :
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
La syntaxe ne cible pas un module particulier, mais plutôt tous les exécuteurs de test.
de la classe donnée. test-arg
ne prend en compte que les implémentations
IRemoteTest
en tant que destinataire potentiel des options.
Transmettre des options à une classe de test Java dans un objet java_test_host
Si vous ajoutez un @Option
à votre classe de test Java dans le cadre d'un
java_test_host, vous devez utiliser la commande suivante pour injecter cette
l'une des options suivantes:
cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>
Dans ce contexte, set-option correspond à l'option de l'exécuteur HostTest du groupe de test. qui encapsule vos classes Java pour les exécuter.
si la cible du fichier JAR pour les options contient plusieurs classes de test, Par défaut, ils sont tous censés avoir l'option @option spécifiée ou utiliser la pour cibler une seule classe:
cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>
Transmettre des filtres à la suite
Pour filtrer certains tests d'une suite, nous utilisons --include-filter
et
--exclude-filter
pour forcer respectivement à inclure ou exclure un test particulier
ou un module. L'exclusion est prioritaire.
Elles utilisent le format suivant: [abi] <module-name> [test name]
Exemples :
--include-filter CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes