Pasa opciones y filtros al paquete y los módulos

Primero, asegúrate de comprender el manejo de opciones. en Tradefed.

Suite setup describe las dos capas que existen en el de paquetes de aplicaciones:

  • El paquete de primer nivel
  • Los módulos

En un contexto de Tradefed no suite, no hay necesidad de pensar en ello. cada se dirige a la invocación completa. En un contexto de paquete, los módulos se guardan aisladas del paquete; por lo que no todas las opciones están disponibles a nivel.

Pasa opciones al paquete del nivel superior

El paquete de nivel superior se comporta como la configuración estándar de Tradefed: la versión completa incluido que el ejecutor de paquetes recibe todas las opciones, como un de Tradefed no suite.

Pasar opciones a los módulos

De forma predeterminada, los módulos no reciben ninguna de las opciones que se pasan al comando. Se deben segmentar de forma explícita para recibir las opciones a través del Opción module-arg. Este aislamiento de las opciones de los módulos hace que la depuración y fácil de usar.

Ejemplo:

cts-tradefed run cts --module-arg <module-name>:<option-name>:<option-value>

cts-tradefed run cts --module-arg CtsGestureTestCases:collect-tests-only:true

La sintaxis garantiza que el módulo objetivo recibirá la opción dada.

Hay formas adicionales de pasar opciones a módulos, como test-arg, que te permite pasar opciones al ejecutor de pruebas de cada módulo según el ejecutor tipo o clase.

Ejemplo:

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 sintaxis no se orienta a un módulo en particular, sino a todos los ejecutores de pruebas de una clase determinada. test-arg solo considera las implementaciones de IRemoteTest como un posible receptor de las opciones.

Cómo pasar opciones a una clase de prueba de Java en un java_test_host

Si agregas @Option a tu clase de prueba de Java como parte de una java_test_host, deberás usar lo siguiente para insertar ese opción:

cts-tradefed run cts --module-arg <module-name>:set-option:<option-name>:<option-value>

set-option en este contexto es la opción del ejecutor de HostTest del agente de prueba que une las clases de Java para ejecutarlas.

si el destino de tu archivo jar para las opciones contiene varias clases de prueba de forma predeterminada, se espera que se especifique la @option o que usen el siguiente sintaxis para apuntar a una sola clase:

cts-tradefed run cts --module-arg <module-name>:set-option:<class-name>:<option-name>:<option-value>

Pasa filtros al paquete

Para filtrar algunas pruebas de un paquete, usamos --include-filter y --exclude-filter para forzar la inclusión o exclusión de una prueba en particular de manera respectiva o módulo. La exclusión tiene prioridad.

Usan el siguiente formato: [abi] <module-name> [test name]

Ejemplos:

--include-filter CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases

--include-filter armeabi-v7a CtsGestureTestCases android.gesture.cts.GestureTest#testGetStrokes