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 que no es de suite, no es necesario pensar en ello. Cada opción va 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 configuración completa, incluido el ejecutor de paquetes, recibe todas las opciones como una configuración de Tradefed sin paquete.
Pasa opciones a los módulos
De forma predeterminada, los módulos no reciben ninguna de las opciones que se pasan al comando.
Deben segmentarse de forma explícita para recibir las opciones a través de la opción module-arg
. Este aislamiento de las opciones de los módulos facilita la depuración.
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 de destino reciba la opción determinada.
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 la clase determinada. test-arg
solo considera las implementaciones de
IRemoteTest
como un posible receptor de las opciones.
Pasa opciones a una clase de prueba de Java en un java_test_host
Si agregas un @Option
a tu clase de prueba de Java como parte de un objetivo de compilación de java_test_host, deberás usar lo siguiente para insertar esa 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 conjunto de pruebas que une tus clases de Java para ejecutarlas.
Si el objetivo del archivo JAR para las opciones contiene varias clases de prueba, de forma predeterminada, se espera que todas tengan la @option especificada o usen la siguiente sintaxis para orientarse 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