Innanzitutto, assicurati di aver compreso la gestione delle opzioni. in Tradefed.
La configurazione della suite descrive i due livelli esistenti struttura di suite:
- La suite di primo livello
- I moduli
In un contesto non-suite Tradefed, non c'è bisogno di pensarci; ogni va alla chiamata completa. In un contesto di suite, i moduli vengono conservati isolata dalla suite; pertanto non tutte le opzioni sono disponibili al loro livello.
Passa le opzioni alla suite di primo livello
La suite di primo livello si comporta come la configurazione standard Tradefed: configurazione, compreso il runner della suite, riceve tutte le opzioni o una configurazione non-suite permutata.
Passa le opzioni ai moduli
Per impostazione predefinita, i moduli non ricevono nessuna delle opzioni passate al comando.
Devono essere scelte esplicitamente come target per ricevere le opzioni tramite
Opzione module-arg
. L'isolamento delle opzioni dei moduli rende il debug
è più facile.
Esempio:
cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>
cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true
La sintassi garantisce che il modulo di destinazione riceva l'opzione specificata.
Esistono altri modi per trasmettere opzioni ai moduli come test-arg
, che
consente di passare le opzioni al runner del test di ciascun modulo in base al runner
tipo o classe.
Esempio:
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 sintassi non è indirizzata a un particolare modulo, ma a tutti i runner del test
della classe data. test-arg
prende in considerazione solo le implementazioni
IRemoteTest
come potenziale destinatario delle opzioni.
Passa le opzioni a una classe di test Java in un java_test_host
Se aggiungi @Option
alla classe java test come parte di una
java_test_host target della build dovrai usare quanto segue per inserire questo
:
cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>
set-option in questo contesto è l'opzione scelta dal runner di HostTest che aggrega le classi Java per eseguirle.
se il target del file jar per le opzioni contiene più classi di test, per impostazione predefinita, si prevede che abbiano l'@opzione specificata o utilizzino il seguente sintassi per scegliere come target una singola classe:
cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>
Passa i filtri alla suite
Per filtrare alcuni test da una suite, utilizziamo --include-filter
e
--exclude-filter
per forzare rispettivamente l'inclusione o l'esclusione di un determinato test
o modulo. L'esclusione ha la priorità.
Usano questo formato: [abi] <module-name> [test name]
Esempi:
--include-filter CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes