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 don't 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 drawElements Quality Program (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 selected 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 APK 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
.