android系统的测试方法,运行测试 | Android 开源项目 | Android Open Source Project...
本页将介绍如何在 Linux 和 Windows 环境中运行 deqp 测试、如何使用命令行参数,以及如何使用 Android 应用包。
Linux 与 Windows 环境
首先,请将以下文件及目录复制到目标中。
模块
目录
目标
执行服务器
build/execserver/execserver
/execserver
EGL 模块
build/modules/egl/deqp-egl
/deqp-egl
GLES2 模块
build/modules/gles2/deqp-gles2
/deqp-gles2
data/gles2
/gles2
GLES3 模块
build/modules/gles3/deqp-gles3
/deqp-gles3
data/gles3
/gles3
GLES3.1 模块
build/modules/gles31/deqp-gles31
/deqp-gles31
data/gles31
/gles31
GLES3.2 模块
build/modules/gles32/deqp-gles32
/deqp-gles32
data/gles32
/gles32
您可以在目标文件系统的任意位置部署执行服务和测试二进制文件,但是测试二进制文件需要在当前的工作目录中查找数据目录。准备就绪后,在目标设备上启动测试执行服务。有关如何启动服务的详细信息,请参阅测试执行服务一节。
命令行参数
下表列出了影响所有测试程序执行的命令行参数。
参数
说明
--deqp-case=
运行与指定模式匹配的用例。支持通配符 (*)。
--deqp-log-filename=
将测试结果写入文件,文件名由您提供。测试执行服务将在开始测试时设置文件名。
--deqp-stdin-caselist
--deqp-caselist=
--deqp-caselist-file=
通过 stdin 或指定的参数读取用例列表。测试执行服务将根据收到的执行请求设置参数。有关用例列表格式的说明,请参阅下一节。
--deqp-test-iteration-count=
覆盖迭代次数可变的测试的迭代计数。
--deqp-base-seed=
为采用随机测试的测试用例设定种子。
特定于 GLES2 及 GLES3 的参数
下表列出了特定于 GLES2 及 GLES3 的参数。
参数
说明
--deqp-gl-context-type=
OpenGL 上下文类型。提供的上下文类型取决于平台。在支持 EGL 的平台上,值 egl 可用于选择 EGL 上下文。
--deqp-gl-config-id=
对所提供的 GL 配置 ID 运行测试。解译取决于平台。在 EGL 平台上,该配置 ID 为 EGL 配置 ID。
--deqp-gl-config-name=
对已命名的 GL 配置运行测试。解译取决于平台。对于 EGL,格式为 rgb(a)ds。例如,值 rgb888s8 会选择第一个配置,其中颜色缓冲区为 RGB888,模板缓冲区为 8 位。
--deqp-gl-context-flags=
创建一个上下文。指定 robust 或 debug。
--deqp-surface-width=
--deqp-surface-height=
尝试使用指定的尺寸创建表面。对这项功能的支持为可选项。
--deqp-surface-type=
将指定的表面类型用作主测试渲染目标。可取类型为 window、pixmap、pbuffer 和 fbo。
--deqp-screen-rotation=
对于支持该参数的平台,屏幕方向的旋转增量为 90 度。
测试用例列表格式
测试用例列表有两种格式。第一种选项是在标准 ASCII 文件的单独一行中列出每个测试的全名。随着测试集的增长,重复添加前缀可能会很麻烦。为避免重复添加前缀,可使用以下所示的 trie(也称为前缀树)语法。
{nodeName{firstChild{…},…lastChild{…}}}
例如:
{dEQP-EGL{config-list,create_context{rgb565_depth_stencil}}}
会转换为以下两个测试用例:
dEQP-EGL.config_list
dEQP-EGL.create_context.rgb565_depth_stencil
Android
Android 应用包包含所需的所有组件,包括测试执行服务、测试二进制文件和数据文件。测试 Activity 是使用 EGL 的 NativeActivity(需要 Android 3.2 或更高版本)。
应用包可使用以下命令安装(所示名称为 Android CTS 包中 APK 的名称;该名称因版本而异):
adb –d install –r com.drawelements.deqp.apk
要启动测试执行服务并设置端口转发,请使用以下命令:
adb –d forward tcp:50016 tcp:50016
adb –d shell am start –n com.drawelements.deqp/.execserver.ServiceStarter
在开始测试之前,可执行以下命令来启用调试打印:
adb –d shell setprop log.tag.dEQP DEBUG
在没有 Android CTS 的 Android 设备上执行测试
要手动启动测试执行 Activity,请构建一个目标为 android.app.NativeActivity 的 Android Intent。这些 Activity 可以在 com.drawelements.deqp 包中找到。在 Intent 中,命令行必须以含 "cmdLine" 键的额外字符串提供。
测试日志会写入 /sdcard/dEQP-log.qpa。若测试运行无法正常启动,请查看设备日志,了解其他调试信息。
您可使用 am 实用程序从命令行启动 Activity。例如,要在支持 NativeActivity, 的平台上运行 dEQP-GLES2.info 测试,请执行以下命令。
adb -d shell am start -n com.drawelements.deqp/android.app.NativeActivity -e \
'cmdLine "deqp --deqp-case=dEQP-GLES2.info.* --deqp-log-filename=/sdcard/dEQP-Log.qpa"'
在 Android 系统上调试
要采用 Android 系统中的 GDB 调试器运行测试,首先要运行以下两个脚本来编译并安装调试版本:
python android/scripts/build.py --native-build-type=Debug
python android/scripts/install.py
当设备上安装调试版本后,要采用主机上运行的 GDB 启动测试,请运行以下命令:
python android/scripts/debug.py \
--deqp-commandline="--deqp-log-filename=/sdcard/TestLog.qpa --deqp-case=dEQP-GLES2.functional.*"
deqp 命令行取决于要执行的测试用例和其他所需参数。脚本会在开始执行 deqp 时添加一个默认断点 (tcu::App::App)。
debug.py 脚本接受多个命令行参数用于相关操作,例如:设置调试断点、gdbserver 连接参数及要调试的其他二进制文件的路径(对于所有参数和解释,都执行 debug.py
--help)。该脚本还会从目标设备中复制一些默认库,以获取符号列表。
要逐步检查驱动程序代码(例如,当 GDB 需要了解具有完整调试信息的二进制文件的位置时),请通过 debug.py 命令行参数添加更多的库。该脚本从脚本文件的第 132 行开始写出 GDB 的配置文件。您还可以提供额外的二进制路径等信息,但提供正确的命令行参数就已足够。
注意:在 Windows 上,GDB 二进制文件需要使用 libpython2.7.dll。在启动 debug.py 前,请将 /prebuilt/windows/bin 添加到 PATH 变量中。
注意:本机代码调试不适用于 Android 4.3 及之前的所有版本。有关解决方法,请参考此公开 Bug。Android 4.4 及更高版本不包含此 Bug。
android系统的测试方法,运行测试 | Android 开源项目 | Android Open Source Project...相关推荐
- 【开源项目----Android OPenGLES渲染YUV视频文件】
[开源项目----Android OPenGLES渲染YUV视频文件] OpenGLES对YUV渲染相关文章参考
- 终于把鸿蒙说明白了,关于安卓系统、AOSP(安卓开源项目)和鸿蒙系统比较
把鸿蒙说得很明白了,小白们不要给小米.蓝绿厂泼污水文忽悠了,以为鸿蒙就和当年的龙芯一样把鸿蒙说得很明白了,小白们不要给小米.蓝绿厂泼污水文忽悠了,以为鸿蒙就和当年的汉芯一样买芯片换掉商标就行! 关于安 ...
- Android系统移植与调试之-------如何修改Android设备添加重启、飞行模式、静音模式等功能(一)...
1.首先先来看一下修改前后的效果对比图 修改之后的图片 确认重启界面 具体的修改内容在下一篇中具体介绍. Android系统移植与调试之------->如何修改Android设备添加重启.飞行模 ...
- android10分区镜像,分区和映像 | Android 开源项目 | Android Open Source Project
分区 Android 设备包含若干个分区,这些分区在启动过程中发挥不同的作用.为了支持 A/B 更新,设备需要为 boot.system.vendor 和 radio 分区分别单独配置一个槽位. bo ...
- Android github上的好的开源项目汇总
转自:http://blog.csdn.net/ithomer/article/details/8882236 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上.基于 ...
- android的wifi直连,WLAN 直连 | Android 开源项目 | Android Open Source Project
WLAN 直连功能又称"WLAN 点对点",它允许支持设备直接使用 WLAN 直连协议发现其他设备并与之互连(无需连接到互联网或移动网络).此功能是基于 Wi-Fi 联盟 (WFA ...
- Android常用酷炫控件(开源项目)github地址汇总
转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...
- android zip 开源 加密,Android带密码解压----Zip4J开源项目使用
最近工作过程中,需要在Android项目中对一个带密码的压缩文件进行解压 ,之前就知道Java API中提供了 java.util.zip.*;包来支持Java对于压缩文件的相关压缩,解压缩操作.所以 ...
- android开机自动开启zram,低内存配置 | Android 开源项目 | Android Open Source Project...
Android 支持内存为 512 MB 的设备.本文档旨在帮助 OEM 优化和配置 Android 内核 4.4,使其能够在低内存设备上运行.在下文所述的优化措施中,有几项非常通用,甚至也可应用于以 ...
最新文章
- C++中四种类型装换
- 科大星云诗社动态20210517
- 如何关闭SAP Fiori的病毒扫描设置
- _thread_in_vm_Java Thread类的静态void sleep(long time_in_ms,int time_in_ns)方法,带示例
- EF架构~了解一下,ADO.NET Entity Framework
- 解决HP t5335z瘦客户机休眠问题
- php日期控件calendar.js,轻量级的原生js日历插件calendar.js使用指南
- 南京大学软件测试复习
- TIFF图像文件格式分析
- click 简单易用的Python命令行
- 如何使用Python itchat库玩转微信, 统计好友信息, 设置自动回复和发送本地文件...
- ibm服务器卡在开机界面_使用HTTPS配置IBM Integration Bus Web用户界面
- 用Vue写的一个简易的待办事项清单系统
- 第一次使用Arduino MKR WIFI 1010
- 点云配准算法ICP及其各种变体
- Api2Doc,生成 Restful API 文档
- css动画--使用图标进行顺时针与逆时针转圈
- ubuntu进入系统黑屏问题
- Smart3d 近景摄影测量与航空摄影测量
- java gui 开发工具_用什么工具进行java GUI的开发?
热门文章
- 英飞凌AI越野组入门教程
- img下面的png图片 vs 读不出来_VUX中XImg组件加载图片不正确,BusPlugin不好使,求解...
- oracle数据库中insert,【Oracle】sql插入之 insert all、insert first
- go split 正则_WEGO使用—华大基因在线GO功能注释
- python-oracle,python与oracle(一)基本配置
- Linux 内核调试必备工具
- kettle 日志存到mysql_kettle作业(job)调用转换,设置变量,写日志到数据库中【转】...
- java 投票ip限制_java 限定网站在指定IP段访问
- layui树形父子不关联_DP专题7 | 没有上司的舞会 洛谷1352(树形DP)
- python面试题_Python面试题大全