Android14 CTS-R6和GTS-12-R2不能同时测试的解决方法

背景
Android14 CTS r6和GTS 12-r1之后,tf-console默认会带起OLC Server,看起来olc server可能是想适配ATS(android-test-station),一种网页版可视化、可配置的跑XTS的方式。这种网页版ATS对测试人员是比较友好的,网页上简单配置下就能把CTS跑起来,但是目前觉得还是不太方便。对于经常跑CTS fulltest的开发测试人员来说,终端上敲个命令似乎更方便。

遇到的问题

  • 上面提到olc server有个问题,我们用新版tool,tf-console敲了命令,测试有时会跑不起来,或是retry也有机会遇到问题。
    GTS测试等了很久或是retry失败
  • 同一台linux server跑CTS+GTS会被排序,不能同时跑。为什么这样?因为新版tool:cts和gts会各自起自己的ats console,同时带起olc server,比如cts先起ats console和olc server,gts再起ats console,然后会去connect existing olc server,如果有olc server存在,就用存在的olc server。cts和gts起的ats console相当于olc client,在cts和gts的ats console敲的command会被传到olc server里的queue buffer,这样command就会排序,导致gts和cts不能同时跑(gts-gts,cts-cts也不能)。那以前旧版本的tool没这个问题。但是我们一台Host server通常是多种测试一起跑,所以这种不能多种测试一起跑的问题,要相办法解决。
    Using existing olc server

寻找解决方法

  • 借助docker来隔离测试环境
    参考了dockerfile构建CTS环境,编译搭建了2个docker image,一个for CTS,一个for GTS,但最后还是会connect existing olc server,就另寻其他方法了。

  • 查看android-gts/tools/gts-tradefed(cts: android-cts/tools/cts-tradefed),发现问题USE_ATS=true,原来如此:

USE_ATS=${USE_ATS:-"true"}if [ "$USE_ATS" == "true" ]; thenATS_CONSOLE_JAR=${GTS_ROOT}/android-gts/tools/ats_console_deploy.jarATS_OLC_SERVER_JAR=${GTS_ROOT}/android-gts/tools/ats_olc_server_local_mode_deploy.jarcheckFile ${ATS_CONSOLE_JAR}checkFile ${ATS_OLC_SERVER_JAR}FASTBOOT_FLAGS=" \--enable_fastboot_in_android_real_device=true \--fastboot='$(type -P fastboot 2>/dev/null)' \"if ! type -P fastboot &> /dev/null; thenFASTBOOT_FLAGS="--enable_fastboot_in_android_real_device=false"fi;DEVICE_INFRA_SERVICE_FLAGS=" \--aapt='$(type -P aapt2 2>/dev/null)' \--adb='$(type -P adb 2>/dev/null)' \--ats_console_olc_server_path='${ATS_OLC_SERVER_JAR}' \--public_dir=/tmp \--simplified_log_format=true \--tmp_dir_root=/tmp \${FASTBOOT_FLAGS} \"LANG=en_US.UTF-8 TEST_TMPDIR=/tmp ${JAVA_BINARY} --add-opens=java.base/java.lang=ALL-UNNAMED -Xmx4g -DXTS_ROOT=${GTS_ROOT} -DXTS_TYPE=gts -DDEVICE_INFRA_SERVICE_FLAGS="${DEVICE_INFRA_SERVICE_FLAGS}" -jar ${ATS_CONSOLE_JAR} "$@"
else${JAVA_BINARY} $RDBG_FLAG -Xmx4g -cp ${JAR_PATH} -DGTS_ROOT=${GTS_ROOT} com.android.compatibility.common.tradefed.command.CompatibilityConsole "$@"
fi

因为USE_ATS=true,导致起的是ats console并去起olc server,和之前旧tool不同。到此解决办法就有了:在.bashrc里加入一句就可以了,继续用之前旧tool起的console。

export USE_ATS=false 

最后
G看起来后续是要推这个ATS的东西,其中ats console和olc server类似C/S,但现阶段似乎不稳定,暂时就先关掉ATS。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/499134.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-12-29-sklearn学习(26)模型选择与评估-交叉验证:评估估算器的表现 今夜偏知春气暖,虫声新透绿窗纱。

文章目录 sklearn学习(26) 模型选择与评估-交叉验证:评估估算器的表现26.1 计算交叉验证的指标26.1.1 cross_validate 函数和多度量评估26.1.2 通过交叉验证获取预测 26.2 交叉验证迭代器26.2.1 交叉验证迭代器–循环遍历数据26.2.1.1 K 折26.2.1.2 重复 K-折交叉验…

免费容器镜像服务--统信容器镜像平台

原文链接:免费容器镜像服务--统信容器镜像平台 Hello,大家好啊!今天给大家带来一篇关于 免费容器镜像服务——统信容器镜像平台 的文章。统信容器镜像平台是由统信软件推出的免费容器镜像服务,遵循 OCI(Open Containe…

Vue 3.0 中 template 多个根元素警告问题

在 Vue 2.0 中,template 只允许存在一个根元素,但是这种情况在 Vue 3.0 里发生了一些变化。 在 Vue 3.0 中开始支持 template 存在多个根元素了。但是因为 VSCode 中的一些插件没有及时更新,所以当你在 template 中写入多个根元素时&#xf…

基于JavaWeb的汽车维修保养智能预约系统

作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,…

Kafka 幂等性与事务

文章目录 幂等性实现机制配置使用局限性 事务使用场景配置使用实现机制事务过程事务初始化事务开始事务提交事务取消事务消费 幂等性 Producer 无论向 Broker 发送多少次重复的数据,Broker 端只会持久化一条,保证数据不丢失且不重复。 实现机制 通过引…

ActiveMQ支持哪些传输协议

ActiveMQ 支持多种传输协议,以满足不同场景下的需求。这些协议包括但不限于以下几种: 1. OpenWire: • 这是 ActiveMQ 的默认和专有协议。 • 提供了高效、可靠的消息传递功能。 • 支持多种消息传递模式,如点对点和发布/订阅。 2…

MySQL数据库——常见慢查询优化方式

本文详细介绍MySQL的慢查询相关概念,分析步骤及其优化方案等。 文章目录 什么是慢查询日志?慢查询日志的相关参数如何启用慢查询日志?方式一:修改配置文件方式二:通过命令动态启用 分析慢查询日志方式一:直…

Qt天气预报系统设计界面布局第四部分左边

Qt天气预报系统设计 1、第四部分左边的第一部分1.1添加控件1.2修改控件名字 2、第四部分左边的第二部分2.1添加控件2.2修改控件名字 3、第四部分左边的第三部分3.1添加控件3.2修改控件名字 4、对整个widget04l调整 1、第四部分左边的第一部分 1.1添加控件 拖入一个widget&…

【嵌入式硬件】嵌入式显示屏接口

数字显示串行接口(Digital Display Serial Interface) SPI 不过多赘述。 I2C-bus interface 不过多赘述 MIPI DSI MIPI (Mobile Industry Processor Interface) Alliance, DSI (Display Serial Interface) 一般用于移动设备,下面是接口…

一个在ios当中采用ObjectC和opencv来显示图片的实例

前言 在ios中采用ObjectC编程利用opencv来显示一张图片,并简单绘图。听上去似乎不难,但是实际操作下来,却不是非常的容易的。本文较为详细的描述了这个过程,供后续参考。 一、创建ios工程 1.1、选择ios工程类型 1.2、选择接口模…

el-input输入框需要支持多输入,最后传输给后台的字段值以逗号分割

需求&#xff1a;一个输入框字段需要支持多次输入&#xff0c;最后传输给后台的字段值以逗号分割 解决方案&#xff1a;结合了el-tag组件的动态编辑标签 那块的代码 //子组件 <template><div class"input-multiple-box" idinputMultipleBox><div>…

[2474].第04节:Activiti官方画流程图方式

我的后端学习大纲 Activiti大纲 1.安装位置&#xff1a; 2.启动&#xff1a;

用再生龙备份和还原操作系统(三)

续上篇《用再生龙备份和还原操作系统&#xff08;二&#xff09;》 三&#xff0c;用再生龙将镜像文件还原到硬盘 将再生龙工具盘、待还原系统的硬盘&#xff08;与源盘一样大或更大&#xff09;、镜像文件所在磁盘&#xff08;如果是U盘&#xff0c;也可以后插&#xff09;安…

2025:OpenAI的“七十二变”?

朋友们&#xff0c;准备好迎接AI的狂欢了吗&#xff1f;&#x1f680; 是不是跟我一样&#xff0c;每天醒来的第一件事就是看看AI领域又有什么新动向&#xff1f; 尤其是那个名字如雷贯耳的 OpenAI&#xff0c;简直就是AI界的弄潮儿&#xff0c;一举一动都牵动着我们这些“AI发…

谷粒商城项目125-spring整合high-level-client

新年快乐! 致2025年还在努力学习的你! 你已经很努力了&#xff0c;今晚就让自己好好休息一晚吧! 在后端中选用哪种elasticsearch客户端&#xff1f; elasticsearch可以通过9200或者9300端口进行操作 1&#xff09;9300&#xff1a;TCP spring-data-elasticsearch:transport-…

9.若依-自定义表单构建

表单构建工具&#xff0c;开发者通过图形界面和拖拽等操作&#xff0c;可以快速构建复杂的表单。 需求&#xff1a;做一些复杂的功能提交&#xff0c;涉及到多张标的数据提交。 自定义一个特殊表单页面 1.拖拉一个布局组件中行容器&#xff0c;然后在组件属性中设置表单删格在…

Matlab Hessian矩阵计算

文章目录 一、简介二、实现代码三、实现效果一、简介 图像的Hessian矩阵用于描述图像灰度值的二阶导数,可以用来分析图像的局部曲率和变化。例如,在图像边缘检测、特征点检测等任务中,Hessian矩阵能帮助我们识别图像的结构。 Hessian矩阵定义 对于二维图像,Hessian矩阵是由…

java重装小结

一、Java安装 安装路径 https://www.oracle.com/java/technologies/javase/javas e8-archive-downloads.html 具体类型可参考&#xff1a; Java安装配置-CSDN博客 我在这一步主要碰到的问题就是访问官网报404错误&#xff0c;可参考&#xff1a; 在oracle官网下载资源显示…

4G报警器WT2003H-16S低功耗语音芯片方案开发-实时音频上传

一、引言 在当今社会&#xff0c;安全问题始终是人们关注的重中之重。无论是家庭、企业还是公共场所&#xff0c;都需要一套可靠的安全防护系统来保障人员和财产的安全。随着科技的飞速发展&#xff0c;4G 报警器应运而生&#xff0c;为安全防范领域带来了全新的解决方案。…

工业5G路由器让无人机数据传输 “飞” 起来

无人机上搭载5G通信模块&#xff0c;该模块与工业5G路由器通过5G网络建立连接。无人机的飞控系统、传感器以及摄像头等设备采集到的数据&#xff0c;如飞行姿态、高度、速度、环境图像、温度湿度等&#xff0c;经过编码、加密、调制等处理后转换为适合5G网络传输的信号形式。 …