Cómo realizar la integración con CTS de Android

Los paquetes de lanzamiento de CTS de Android (disponibles en las descargas de compatibilidad de Android) incluyen pruebas de conformidad de Khronos y requieren que se apruebe un subconjunto de estas pruebas (conocida como la lista mustpass). En el caso de los dispositivos que no admiten una API o extensión de destino, se omiten las pruebas y se informan como aprobadas.

La lista mustpass incluye cobertura para OpenGL ES 2.0 a través de OpenGL ES 3.2 y Vulkan 1.1. Los archivos mustpass se pueden encontrar en el directorio android/cts de las pruebas de conformidad de Khronos. Puedes ejecutar estas pruebas a través de la utilidad cts-tradefed con el siguiente comando:

cts-tradefed run cts --plan CTS-DEQP

Ejecuciones duplicadas sin CTS

Para replicar la ejecución de CTS, instala el APK de deqp del paquete de CTS y usa el siguiente comando:

adb -d shell am start -n com.drawelements.deqp/android.app.NativeActivity -e \
cmdLine "deqp --deqp-case=dEQP-GLES3.some_group.* --deqp-gl-config-name=rgba8888d24s8 --deqp-log-filename=/sdcard/dEQP-Log.qpa

La parte importante es el argumento --deqp-gl-config-name=rgba8888d24s8, que solicita que las pruebas se ejecuten en una superficie en pantalla RGBA 8888 con un búfer de profundidad de 24 bits y un búfer de plantilla de 8 bits. Recuerda configurar las pruebas deseadas con el argumento --deqp-case.

Asignación de resultados de CTS

En CTS de Android, un caso de prueba puede terminar en uno de tres estados: aprobado, con errores o no ejecutado (deqp tiene más códigos de resultado disponibles). CTS asigna automáticamente los códigos de resultados de la prueba de conformidad de Khronos a los resultados de CTS:

  • Una aprobación de CTS puede incluir Pass, NotSupported, QualityWarning y CompatibilityWarning.
  • Una falla de CTS puede incluir Fail, ResourceError, Crash, Timeout y InternalError.