Integrating with Android CTS
Deqp tests in Android CTS
Deqp tests have been part of Android CTS since the Android 5.0 release.
Android CTS requires a certain subset of tests, called the mustpass
list, to pass. The mustpass
list includes OpenGL ES 3.0, OpenGL ES 3.1, and the Android Extension Pack tests. If a device doesn't support a target API or extension, tests are skipped and reported as passing. The mustpass
files can be found under the android/cts
directory in the deqp source tree.
Deqp tests are included in the Android CTS release packages, available on the Android Compatibility Downloads page.
You can run deqp tests through the cts-tradefed
utility with the following command:
cts-tradefed run cts --plan CTS-DEQP
Duplicating 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 of that command is the following:
--deqp-gl-config-name=rgba8888d24s8
This argument requests the tests be run on an RGBA 8888 on-screen surface with a 24-bit depth buffer and an 8-bit stencil buffer. Also remember to set the desired tests, e.g. using the --deqp-case
argument.
Mapping of the CTS results
In the Android CTS, a test case can end up in three states: passed, failed, or not executed.
The deqp has more result codes available. A mapping is automatically performed by the CTS. The following deqp result codes are mapped to a CTS pass: Pass
, NotSupported
, QualityWarning
, and CompatibilityWarning
The following results are interpreted as a CTS failure: Fail
, ResourceError
, Crash
, Timeout
, and InternalError