gts—-关于gtstetheringtestcases模块的几个失败项(代码片段)

houser0323 houser0323     2022-12-17     546

关键词:

GTS---关于GtsTetheringTestCases模块的几个失败项

1.run gts -m GtsTetheringTestCases -t com.google.android.tethering.gts.ProvisioningTest#testRunSilentWifiTetherProvisioningAndEnable?

【问题概述】

日志报错:

01-24 10:06:09 I/ModuleListener: [1/1]     com.google.android.tethering.gts.ProvisioningTest#testRunSilentWifiTetherProvisioningAndEnable fail:
junit.framework.AssertionFailedError
    at junit.framework.Assert.fail(Assert.java:48)
    at junit.framework.Assert.assertTrue(Assert.java:20)
    at junit.framework.Assert.assertTrue(Assert.java:27)
    at com.google.android.tethering.gts.ProvisioningTest.ensureWifiApOff(ProvisioningTest.java:132)
    at com.google.android.tethering.gts.ProvisioningTest.setUp(ProvisioningTest.java:108)
    at junit.framework.TestCase.runBare(TestCase.java:132)
    at junit.framework.TestResult$1.protect(TestResult.java:115)
    at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:73)
    at junit.framework.TestResult.run(TestResult.java:118)
    at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:51)
    at junit.framework.TestCase.run(TestCase.java:124)
    at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:62)
    at android.support.test.internal.runner.junit3.AndroidTestSuite$2.run(AndroidTestSuite.java:101)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)

【问题分析】

通过查看gts测试源码,测试方法是testRunSilentWifiTetherProvisioningAndEnable?()
为何报错是在不相关的兄弟方法

ensureWifiApOff(ProvisioningTest.java:132)  
setUp(ProvisioningTest.java:108)

按照报错去查看原因,找到报错是因为没有请求到期望的state---WIFI_AP_STATE_DISABLED = 11;

源码追溯:
com.google.android.tethering.gts.ProvisioningTest.java

private static final int WIFI_AP_TIMEOUT = 15000;
***************************************************************************
 /**
     * Wi-Fi AP is disabled.
     *
     * @see #WIFI_AP_STATE_CHANGED_ACTION
     * @see #getWifiState()
     *
     * @hide
     */
    @SystemApi
    public static final int WIFI_AP_STATE_DISABLED = 11;
***************************************************************************
 private void ensureWifiApOff() 
        if (this.mWifiManager.getWifiApState() != 11) 
            this.mConnectivityManager.stopTethering(0);
            assertTrue(waitForWifiApState(11, WIFI_AP_TIMEOUT));
        
    
***************************************************************************
private boolean waitForWifiApState(int expectedState, int timeout) 
        long startTime = SystemClock.uptimeMillis();
        while (this.mWifiManager.getWifiApState() != expectedState) 
            if (SystemClock.uptimeMillis() - startTime > ((long) timeout)) 
                Log.v(TAG, String.format("waitForWifiAPState timeout: expected=%d, actual=%d", new Object[]Integer.valueOf(expectedState), Integer.valueOf(state)));
                return false;
            
            SystemClock.sleep(1000);
        
        return true;
    

2.run gts -m GtsTetheringTestCases -t com.google.android.tethering.gts.ProvisioningTest#testRunUiBluetoothTetherProvisioningAndEnable?

【问题概述】

【问题分析】

通过查看gts测试源码得知,进行该项测试,需要判断(是否支持共享)---->>isTetheringSupported();
该方法通过读属性"ro.tether.denied"获取结果,

问题点1:

我们的盒子中没有"ro.tether.denied"属性,只有

console:/ # getprop | grep tether  
[net.tethering.noprovisioning]: [true]  
问题点2:

shouldRunTest() 方法判断读到的属性,应该是ro.tether.denied = 否,才能开启测试,
但是我们的属性[net.tethering.noprovisioning]: [true]

问题点3:

考虑:
我们要改一下属性[net.tethering.noprovisioning]属性的值?
还是添加新的属性[ro.tether.denied]

源码追溯:

 com.google.android.tethering.gts.ProvisioningTest.java
private void runBluetoothTest(boolean showProvisioningUi) throws Exception 
        if (shouldRunTest() && isBluetoothTetheringSupported()) 
            boolean adapterWasDisabled = false;
            if (!this.mBluetoothAdapter.isEnabled()) 
                Log.v(TAG, "Enabling bluetooth for tethering");
                adapterWasDisabled = true;
                this.mBluetoothAdapter.enable();
                waitForBluetoothState(12);
            
            this.mConnectivityManager.startTethering(2, showProvisioningUi, this.mCallback);
            assertTrue(waitForSuccessCallback());
            assertTrue(waitForBluetoothTetherState(true));
            if (adapterWasDisabled) 
                this.mBluetoothAdapter.disable();
                waitForBluetoothState(10);
            
        
    


 private boolean shouldRunTest() 
        PackageManager packageManager = this.mContext.getPackageManager();
        try 
            if (packageManager.getApplicationInfo(PACKAGE_GMS_CORE, 128) != null && packageManager.hasSystemFeature("android.hardware.wifi") && this.mConnectivityManager.isTetheringSupported()) 
                return ApiLevelUtil.isAtLeast(24);
            
            return false;
         catch (NameNotFoundException e) 
            return false;
        
    
ConnectivityService.java
// if ro.tether.denied = true we default to no tethering
    // gservices could set the secure setting to 1 though to enable it on a build where it
    // had previously been turned off.
    public boolean isTetheringSupported() 
        enforceTetherAccessPermission();
        int defaultVal = (SystemProperties.get("ro.tether.denied").equals("true") ? 0 : 1);
        boolean tetherEnabledInSettings = (Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.TETHER_SUPPORTED, defaultVal) != 0);
        return tetherEnabledInSettings && mTetheringConfigValid;
    

3.run gts -m GtsTetheringTestCases -t com.google.android.tethering.gts.ProvisioningTest#testRunUiWifiTetherProvisioningAndEnable?

【问题概述】

【问题分析】

没有获取到期望的state---waitForWifiApState(13, PROVISION_TIMEOUT)
源码追溯:

    com.google.android.tethering.gts.ProvisioningTest.java
/**
     * Wi-Fi AP is enabled.
     *
     * @see #WIFI_AP_STATE_CHANGED_ACTION
     * @see #getWifiApState()
     *
     * @hide
     */
    @SystemApi
    public static final int WIFI_AP_STATE_ENABLED = 13;
private void runWifiApTest(boolean showProvisioningUi) 
        if (shouldRunTest()) 
            this.mConnectivityManager.startTethering(0, showProvisioningUi, this.mCallback);
            assertTrue(waitForWifiApState(13, PROVISION_TIMEOUT));
            assertTrue(waitForSuccessCallback());
        
    

4.run gts -m GtsTetheringTestCases -t com.google.android.tethering.gts.ProvisioningTest#testSilentInvalidTetherTypeTest?

【问题概述】

报的错同第一条失败项
日志报错:

01-24 15:16:49 I/ModuleListener: [1/1] com.google.android.tethering.gts.ProvisioningTest#testSilentInvalidTetherTypeTest fail:
junit.framework.AssertionFailedError
    at junit.framework.Assert.fail(Assert.java:48)
    at junit.framework.Assert.assertTrue(Assert.java:20)
    at junit.framework.Assert.assertTrue(Assert.java:27)
    at com.google.android.tethering.gts.ProvisioningTest.ensureWifiApOff(ProvisioningTest.java:132)
    at com.google.android.tethering.gts.ProvisioningTest.setUp(ProvisioningTest.java:108)
    at junit.framework.TestCase.runBare(TestCase.java:132)
    at junit.framework.TestResult$1.protect(TestResult.java:115)
    at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:73)
    at junit.framework.TestResult.run(TestResult.java:118)
    at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:51)
    at junit.framework.TestCase.run(TestCase.java:124)
    at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:62)
    at android.support.test.internal.runner.junit3.AndroidTestSuite$2.run(AndroidTestSuite.java:101)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)

intel®hdgraphics610核显和gts450哪个好?gts450显卡怎么样?

HDGraphics610集成显卡性能肯定比不上GTS450独显性能强的,集成HD610也就跟台式独显GT610差不多,远远落后于GTS450的,如果单纯看电影电视用集成显卡足够了,450功耗106W发热也大,参考技术A恕我直言…这两个显卡都很老了…该淘汰... 查看详情

gts-failgtssecurityhosttestcases#testnoexemptionsforsocketsbetweencoreandvendorban(代码片段)

【GTS-Fail】GtsSecurityHostTestCases#testNoExemptionsForSocketsBetweenCoreAndVendorBan【问题描述】Gts-7.0-r4工具报出失败项GtsSecurityHostTestCasescom.google.android.security.gts.SELinuxHostTest#testNoExemptionsForSocketsBetweenCoreAndVendorBan<Failuremessage="junit.framework.A... 查看详情

cts,gts,ctsverifier失败项总结(持续更新)

在CTS,GTS,CTSVerifier测试中经常会遇到许多问题,需要寻找相应的解决方法以便通过测试,出来IPV6及Google豁免项外不允许出现其他问题。那么其他问题通常又会是由以下一些原因导致的。软件问题(软件人员... 查看详情

阿里微服务架构下分布式事务解决方案-gts(代码片段)

...也大多是试验层面,鲜有核心业务系统微服务化的案例。GTS是目前业界第一款,也是唯一的一款通用的解决微服务分布式事务问题的中间件,而且可以保证数据的强一致性。本文将对GTS做出深入解读。微服务倡导将复杂的单体应... 查看详情

gms测试常用命令cts&gts&vts

本文档介绍一下cts,gts,sts,vts,cts-on-gsi等测试的常用命令,基于Android9。【附件】Google官网的命令网页。常用通用命令参数:列出历史测试结果:lr指定设备:-s指定设备数:--shard-count指定模块:-m指定testcase:-t指定retrysession... 查看详情

gtscom.google.android.stagedinstall.gts.host.stagedinstalltest#testsamegradesystemtzdataapefail问题(代码

1.首先找到host_log_xxx.txt文件查看测试fail项堆栈,如下:​12-0813:25:51I/ModuleListener:[1/1]com.android.compatibility.common.tradefed.testtype.JarHostTestcom.google.android.stagedinstall.gts.host.StagedI 查看详情

微服务架构下分布式事务解决方案——阿里云gts(代码片段)

https://blog.csdn.net/jiangyu_gts/article/details/79470240  1微服务的发展微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很... 查看详情

华米amazfit跃我gtr4和gts4的区别

华米Amazfit跃我GTR4智能手表采用1.43英寸466×466分辨率圆形AMOLED屏幕,支持AOD息屏显示。同时,该手表拥有154种运动模式,配有BioTracker4.0PGG生物追踪光学传感器。AmazfitGTR4智能手表预装ZEPPOS2.0操作系统,除了支持心... 查看详情

华米amazfit跃我gtr4和gts4的区别

华米Amazfit跃我GTR4智能手表采用1.43英寸466×466分辨率圆形AMOLED屏幕,支持AOD息屏显示。同时,该手表拥有154种运动模式,配有BioTracker4.0PGG生物追踪光学传感器。AmazfitGTR4智能手表预装ZEPPOS2.0操作系统,除了支持心... 查看详情

软件测试cts和gts是啥意思

参考技术A1.CTSCTS(全称“CompatibilityTestSuite”,即“兼容性测试包”)的认证,这是一组用以测试的.apk程序之类的集合,它能够在官网(http://source.android.com/compatibility/downloads.html)上面免费下载,并且测试也非常简单——只是结... 查看详情

cts和gms是啥,平板电脑gms认证介绍

...如:手机)开发商能够开发出兼容性更好的Android设备。GTS:GMS全称为GoogleMobileService,即谷歌移动服务。GMS是Google开发并推动Android的动力,也是Android系统的灵魂所在。Verify:CTS都是指令自动测试,但是还有一些测试是必须手动完成... 查看详情

cts问题分析6

遇到一个AndroidP相关的问题,和原来CTS/GTS问题分析1的表现是一样的,但是将这个修复cp过来,发现不生效,仍然报错,因此记录一下问题初探测试命令:rungts-mGtsGmscoreHostTestCases-tcom.google.android.gts.devicepolicy.managedprovisioning.DeviceOwnerP... 查看详情

bcberror:[linkererror]'xxx.lib'containsinvalidomfrecord,type0x21(possiblycoff)(代(代码片段)

今天C++builder导入gts.lib (gts.dll)库文件编译报错:[LinkerError]‘D:\...\V4.05.007.1000-20161028\GTS.LIB‘containsinvalidOMFrecord,type0x21(possiblyCOFF)在这之前经常使用这个gts.lib,现在报这个错,哈哈---蒙了---百度一下高手在民间:出现了这个错... 查看详情

n卡中的gt、gtx是啥意思

...视频、3D电影、入门游戏显卡。2、如下图,是英伟达官网关于这两大产品系列的介绍GTX:针对游戏玩家的GPU,可实现超级高性能并支持所有超级新的游戏技术。GT:强化的性能让用户能够欣赏高清视频与照片、观看令人身临其境... 查看详情

c#gts四轴运动控制器实例(固高科技步进电机不带编码器)-v1

...后停止运动.源码:usingSystem;usingSystem.Windows.Forms;usinggts;usingSystem.Xml;usingSystem.Collections.Generic;namespace三维平移台控制系统publicpartialclassmainFrom:DevComponents.DotNetBar.OfficeFormpublicmainFrom()this.EnableGlass=false;InitializeComponent();shortRtn;intv... 查看详情

Mongodb使用错误的索引

...合上有多个索引,如下所示。特别是我希望查询使用"gTs_1_RE_H_1_l_1",但查询使用的是"gTs_1"!"0":"v":1,"key":"_id":1,"ns":"week_raw_tweet_db.tweets","name" 查看详情

如何从硒网站上获取时间?

...2022-01-1509:52:39【问题描述】:我想从https://www.hko.gov.hk/en/gts/time/clock_e.html获取时间目前我的代码是:timeDriver.get("https://www.hko.gov.hk/en/gts/time/clock_e.html")HKTime= 查看详情

分布式事务框架选型

...,清楚了解细节,甚至改造,自己写!! 阿里Fescar(GTS开源版本,GTS有阿里云服务)官方中文:https://github.com/alibaba/fescar/wiki/Home_Chinese开源消息和与其他分布式框架(ByteTCC、LCN)对比:https://blog.csdn.net/xlgen157387/article/details/... 查看详情