Passa opzioni e filtri a suite e moduli

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 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 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