与 Android CTS 集成

Android CTS 发布包(可从 Android 兼容性下载中获得)包括 deqp 测试,其中一个测试子集(称为 mustpass 列表)要求必须通过。对于不支持目标 API 或扩展程序的设备,将跳过测试并报告为已通过。

mustpass 列表包括 OpenGL ES 3.0、OpenGL ES 3.1、OpenGL ES 3.2 和 Android Extension Pack 测试。mustpass 文件可以在 deqp 源代码树中的 android/cts 目录下找到。您可以使用以下命令通过 cts-tradefed 实用程序运行 deqp 测试:

cts-tradefed run cts --plan CTS-DEQP

在没有 CTS 的情况下复制运行

要复制 CTS 运行,请安装 CTS 包的 deqp APK 并使用以下命令:

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

关键部分是 --deqp-gl-config-name=rgba8888d24s8 参数,它要求在具有 24 位深度缓冲区和 8 位模板缓冲区的 RGBA 8888 屏幕 Surface 上运行测试。请记得使用 --deqp-case 参数设置所需的测试。

CTS 结果映射

在 Android CTS 中,测试用例最终呈现以下三种状态之一:通过、失败或未执行(deqp 会提供更多的结果代码)。CTS 会自动将 deqp 结果代码映射到 CTS 结果:

  • CTS 通过可包括 PassNotSupportedQualityWarningCompatibilityWarning
  • CTS 失败可包括 FailResourceErrorCrashTimeoutInternalError