Intégrer à Android CTS

Les packages de version Android CTS (disponibles sur la page Téléchargements de compatibilité Android) incluent les 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 signalés comme réussis.

La liste mustpass inclut la couverture d'OpenGL ES 2.0 à OpenGL ES 3.2 et de 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 à l'aide de l'utilitaire cts-tradefed avec la commande suivante :

cts-tradefed run cts --plan CTS-DEQP

Exécutions en double sans CTS

Pour répliquer l'exécution du CTS, installez l'APK du programme de qualité drawElements (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 d'écran RGBA 8888 avec un tampon de profondeur de 24 bits et un tampon de stencil de 8 bits. N'oubliez pas de définir les tests sélectionnés à l'aide de l'argument --deqp-case.

Mappage des résultats CTS

Dans le CTS Android, un cas de test peut se trouver dans l'un des trois états suivants : réussi, échec ou non exécuté (l'APK dEQP propose davantage de codes de résultat). CTS mappe automatiquement les codes de résultat des tests de conformité Khronos aux résultats CTS :

  • Un test CTS réussi peut inclure Pass, NotSupported, QualityWarning et CompatibilityWarning.
  • Un échec CTS peut inclure Fail, ResourceError, Crash, Timeout et InternalError.