Integrar com o Android CTS

Pacotes de versão do Android CTS (disponíveis em Compatibilidade do Android Downloads) incluem os Testes de conformidade do Khronos (links em inglês) e precisam de um subconjunto deles testes (conhecidos como lista mustpass), para serem aprovados. Para dispositivos que não for compatível com uma API ou extensão de destino, os testes serão ignorados e informados como passando.

A lista mustpass inclui cobertura para OpenGL ES 2.0 a OpenGL ES 3.2 e Vulkan 1.1. mustpass arquivos podem ser encontrados no diretório android/cts no arquivo Khronos Testes de Conformidade. É possível executar esses testes pelo 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 do 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

O importante é que: --deqp-gl-config-name=rgba8888d24s8 , que solicita que os testes sejam executados em uma superfície na 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 do CTS

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

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