Android CTS release packages (available from
Android Compatibility
Downloads) include Khronos Conformance Tests and require a subset of these
tests (known as the mustpass
list), to pass. For devices that do
not support a target API or extension, tests are skipped and reported as
passing.
The mustpass
list includes coverage for OpenGL ES 2.0 through
OpenGL ES 3.2 and Vulkan 1.1. mustpass
files can be found under the android/cts
directory in the Khronos
Conformance Tests. You can run these tests through the cts-tradefed
utility with the following command:
cts-tradefed run cts --plan CTS-DEQP
Duplicate runs without CTS
To replicate the CTS run, install the deqp APK of the CTS package and use the following command:
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
The important part is the --deqp-gl-config-name=rgba8888d24s8
argument, which requests the tests be run on an RGBA 8888 on-screen surface
with a 24-bit depth buffer and an 8-bit stencil buffer. Remember to set
the desired tests using the --deqp-case
argument.
CTS results mapping
In the Android CTS, a test case can end up in one of three states: passed, failed, or not executed (the deqp has more result codes available). CTS automatically maps Khronos Conformance Test result codes to CTS results:
- A CTS pass can include
Pass
,NotSupported
,QualityWarning
, andCompatibilityWarning
. - A CTS failure can include
Fail
,ResourceError
,Crash
,Timeout
, andInternalError
.