Primeiro, entenda como lidar com as opções. no Tradefed.
Configuração do pacote descreve as duas camadas que existem no Estrutura do pacote:
- A suíte de nível superior
- Os módulos
Em um contexto que não é de pacote do Tradefed, não há necessidade de pensar sobre isso. todo(a) vai para a invocação completa. Em um contexto de pacote, os módulos são mantidos isolados da sala, portanto, nem todas as opções estão disponíveis em seu nível.
Passe opções para a suíte de nível superior
O pacote de nível superior se comporta como a configuração padrão do Tradefed: o incluindo o executor do pacote recebe todas as opções, como uma configuração não Suite do Tradefed.
Transmitir opções para os módulos
Por padrão, os módulos não recebem nenhuma das opções passadas para o comando.
Eles precisam ser segmentados explicitamente para receber as opções por meio do
module-arg
. Esse isolamento das opções dos módulos torna a depuração
mais fácil.
Exemplo:
cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>
cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true
A sintaxe garante que o módulo visado receba a opção fornecida.
Há outras maneiras de transmitir opções para módulos como test-arg
, que
permite transmitir opções ao executor de testes de cada módulo com base no
ou classe.
Exemplo:
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
A sintaxe não é destinada a um módulo específico, mas a todos os executores de teste.
da classe específica. test-arg
considera apenas as implementações de
Teste remoto
como possível destinatário das opções.
Transmitir opções para uma classe de teste Java em um java_test_host
Se você estiver adicionando um @Option
à classe de teste Java como parte de um
java_test_host, use o código abaixo para injetá-lo.
opção:
cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>
set-option neste contexto é a opção do executor HostTest do arcabouço de testes. que une suas classes Java para executá-las.
se o destino do arquivo jar das opções tiver várias classes de teste; por padrão, espera-se que todos tenham a @option especificada ou usem o sintaxe a seguir para segmentar uma única classe:
cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>
Transmitir filtros para o pacote
Para filtrar alguns testes de um pacote, usamos --include-filter
e
--exclude-filter
para forçar a inclusão ou exclusão de um teste específico, respectivamente.
ou módulo. A exclusão tem prioridade.
Eles usam este formato: [abi] <module-name> [test name]
Exemplos:
--include-filter CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases
--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes