Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Pasar opciones y filtros a suite y módulos

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

La configuración de la suite describe las dos capas que existen en la estructura de la suite:

  • La suite de primer nivel
  • Los módulos

En un contexto Tradefed fuera de la suite, no hay necesidad de pensar en ello; cada opción va a la invocación completa. En un contexto de suite, los módulos se mantienen aislados de la suite; por lo que no todas las opciones están disponibles en su nivel.

Pasar opciones a la suite de nivel superior

La suite de nivel superior se comporta como una configuración Tradefed estándar: la configuración completa, incluido el ejecutor de la suite, recibe todas las opciones como una configuración Tradefed que no es una suite.

Pasar opciones a los módulos

Los módulos por defecto no reciben ninguna de las opciones pasadas al comando. Deben estar dirigidos explícitamente 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 asegura que el módulo de destino recibirá la opción dada.

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

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 apunta a un módulo en particular sino a todos los corredores de prueba de la clase dada. test-arg considera solo las implementaciones de IRemoteTest como receptor potencial de las opciones.

Pasando la opción a una clase de prueba de Java en un java_test_host

Si está agregando una @Option a su clase de prueba Java como parte de un objetivo de compilación java_test_host, deberá usar lo siguiente para inyectar 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 corredor HostTest del arnés de prueba que envuelve sus clases Java para ejecutarlas.

Pasar filtros a la suite

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

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