Intégrer à Android CTS

Les packages de versions Android CTS (disponibles sur les téléchargements de compatibilité Android) incluent des tests de conformité Khronos et exigent qu'un sous-ensemble de ces tests (appelé liste mustpass) soit réussi. Pour les appareils qui ne sont pas compatibles avec une API ou une extension cible, les tests sont ignorés et sont signalés comme réussis.

La liste mustpass inclut la couverture d'OpenGL ES 2.0 à OpenGL ES 3.2 et Vulkan 1.1. Les fichiers mustpass se trouvent dans le répertoire android/cts des tests de conformité Khronos. Vous pouvez exécuter ces tests via l'utilitaire cts-tradefed à l'aide de la commande suivante:

cts-tradefed run cts --plan CTS-DEQP

Exécutions en double sans CTS

Pour reproduire l'exécution CTS, installez l'APK deqp du package CTS et utilisez la commande suivante:

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

L'argument --deqp-gl-config-name=rgba8888d24s8 est important, car il demande que les tests soient exécutés sur une surface à l'écran RGBA 8888 avec un tampon de profondeur de 24 bits et un tampon de modèle de 8 bits. N'oubliez pas de définir les tests souhaités à l'aide de l'argument --deqp-case.

Mappage des résultats CTS

Dans Android CTS, un cas de test peut se trouver dans l'un des trois états suivants : "Passé", "Échec" ou "Non exécuté" (le deqp dispose de plus de codes de résultat disponibles). Le CTS met automatiquement en correspondance les codes de résultat des tests de conformité Khronos avec les résultats du CTS:

  • Une carte CTS peut inclure Pass, NotSupported, QualityWarning et CompatibilityWarning.
  • Un échec CTS peut inclure Fail, ResourceError, Crash, Timeout et InternalError.