Innanzitutto, assicurati di aver compreso la gestione delle opzioni. in Tradefed.
La configurazione della suite descrive i due livelli esistenti nella struttura della 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.
Passare le opzioni alla suite di primo livello
La suite di primo livello si comporta come la configurazione standard Tradefed: di configurazione, compreso l'esecuzione della suite, riceve tutte le opzioni, o una configurazione non-suite permutata.
Passare le opzioni ai moduli
Per impostazione predefinita, i moduli non ricevono nessuna delle opzioni passate al comando.
Devono essere scelti 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 passare opzioni ai moduli, ad esempio test-arg
, che consente di passare opzioni al programma di test di ogni modulo in base al tipo o alla classe del programma.
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>
In questo contesto, set-option è l'opzione del runner HostTest del test harness che avvolge le classi Java per eseguirle.
se il file jar di destinazione per le opzioni contiene più classi di test, per impostazione predefinita, è previsto che tutte abbiano l'opzione @specificata o utilizzino la sintassi seguente per avere 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 di 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