博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【CTS】几个serialno失败项
阅读量:6570 次
发布时间:2019-06-24

本文共 2069 字,大约阅读时间需要 6 分钟。

【问题结论】

[Common]SN配置项的问题,只可以‘数字与大小写字母’
将配置SN改为字母数字组合,测试全部pass
【问题描述】
CTS三条失败项

run cts -m CtsTelephonyTestCases -t android.telephony.cts.TelephonyManagerTest#testGetDeviceIdrun cts -m CtsTelephonyTestCases -t android.telephony.cts.TelephonyManagerTest#testGetDeviceIdForSlotrun cts -m CtsUsbTests -t com.android.cts.usb.TestUsbTest#testUsbSerialReadOnDeviceMatches

问题日志:

06-10 15:29:58 I/ConsoleReporter: [1/1 armeabi-v7a CtsUsbTests xxx_xxx_111_00000111] com.android.cts.usb.TestUsbTest#testUsbSerialReadOnDeviceMatches fail: junit.framework.ComparisonFailure: usb serial != adb serial expected:<[]> but was:<[xxx_xxx_111_00000111]>    at junit.framework.Assert.assertEquals(Assert.java:100)    at junit.framework.TestCase.assertEquals(TestCase.java:261)    at com.android.cts.usb.TestUsbTest.testUsbSerialReadOnDeviceMatches(TestUsbTest.java:162)

【问题分析】

  • 源码追溯
cts / master / . / hostsidetests / usb / src / com / android / cts / usb / TestUsbTest.java/**     * Check if adb serial number, USB serial number, ro.serialno, and android.os.Build.SERIAL     * all matches and meets the format requirement [a-zA-Z0-9]{6,20}     */public void testInstantAppsCannotReadSerial() throws Exception {......        CommandResult result = RunUtil.getDefault().runTimedCmd(5000, "lsusb", "-v");//这一句是在linux测试机执行shell命令"lsusb -v"......        String lsusbOutput = result.getStdout();        Pattern pattern = Pattern.compile("^\\s+iSerial\\s+\\d+\\s+([a-zA-Z0-9]{6,20})",Pattern.MULTILINE);//在上句命令的返回值中匹配,看serilnumber是不是合法即“只能由字母数字组成,且6≤lenth≤20”        Matcher matcher = pattern.matcher(lsusbOutput);        String usbSerial = "";        while (matcher.find()) {            String currentSerial = matcher.group(1).toLowerCase();            if (adbSerial.compareTo(currentSerial) == 0) {                usbSerial = currentSerial;                break;            }        }        assertEquals("usb serial != adb serial" , usbSerial, adbSerial);//由于我们的serialno是带下划线了,所以匹配为空,就抛异常了
  • 实验
    在理清源码测试逻辑后,我们将SN配置项修改为“无下划线”的字母数字组合
    实验结果:三条均pass

转载于:https://www.cnblogs.com/houser0323/p/10999106.html

你可能感兴趣的文章
直接插入排序
查看>>
ssh建立安全跳板机,方便外网登录内网机器
查看>>
fstab中mount错误导致不能启动
查看>>
OSPF转发地址深入解析
查看>>
SQLServer的Top功能
查看>>
CentOS之crontab
查看>>
Nginx-Access日志格式
查看>>
【在线研讨-现场文字】《敏捷开发用户故事分类与组织结构(二期-3)》2012-07-03...
查看>>
F5扩展Synthesis架构实现可靠的应用与互联网访问
查看>>
Hyper-V 2012 R2 配置存储QoS
查看>>
易语言 --什么情况下 用许可证
查看>>
项目总结:凡事预则立,不预则废!
查看>>
VNC怎么和宿主机共享粘贴板
查看>>
ORA-32004: obsolete and/or deprecated parameter(s)
查看>>
建属于自己的网站
查看>>
[linux] ubuntu 切换默认的/bin/sh
查看>>
Web Bench (网站压力测试工具)
查看>>
NSTreeController初步使用(三) NSTreeNode和自定义结点
查看>>
boost库之智能指针
查看>>
linux c/c++ GDB教程详解(转载)
查看>>