Integrar com Android CTS

Os pacotes de lançamento do Android CTS (disponíveis em Downloads de compatibilidade do Android ) incluem testes de conformidade Khronos e exigem um subconjunto desses testes (conhecido como lista mustpass ) para passar. Para dispositivos que não suportam uma API ou extensão de destino, os testes são ignorados e relatados como aprovados.

A lista mustpass inclui cobertura para OpenGL ES 2.0 até OpenGL ES 3.2 e Vulkan 1.1. Os arquivos mustpass podem ser encontrados no diretório android/cts nos testes de conformidade Khronos. Você pode executar esses testes por meio do utilitário cts-tradefed com o seguinte comando:

cts-tradefed run cts --plan CTS-DEQP

Execuções duplicadas sem CTS

Para replicar a execução do CTS, instale o APK deqp do pacote CTS e use o seguinte 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

A parte importante é o argumento --deqp-gl-config-name=rgba8888d24s8 , que solicita que os testes sejam executados em uma superfície de tela RGBA 8888 com um buffer de profundidade de 24 bits e um buffer de estêncil de 8 bits. Lembre-se de definir os testes desejados usando o argumento --deqp-case .

Mapeamento de resultados CTS

No Android CTS, um caso de teste pode terminar em um dos três estados: aprovado, reprovado ou não executado (o deqp tem mais códigos de resultado disponíveis). O CTS mapeia automaticamente os códigos de resultado do teste de conformidade Khronos para os resultados do CTS:

  • Uma passagem CTS pode incluir Pass , NotSupported , QualityWarning e CompatibilityWarning .
  • Uma falha de CTS pode incluir Fail , ResourceError , Crash , Timeout e InternalError .