CTS fail分析

本文汇总了多个Android CTS(兼容性测试套件)测试失败的案例,涉及DownloadManager、Camera、ContentResolverSync等组件和服务的测试错误详情及部分解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TestStatusDetailBugComments 
android.app.cts.DownloadManagerTest
-- testDownloadManagerfailjunit.framework.AssertionFailedError: Make sure you have WiFi or some other connectivity for this test. at android.app.cts.DownloadManagerTest$DownloadCompleteReceiver.waitForDownloadComplete(DownloadManagerTest.java:140) Bug 105916:这个问题是由于cache的权限变更,init.rc中原来的cache0777,现在的权限是0744。权限设置为744,会导致testDownloadManager 测试不过
权限设置为
777, 会导致另外一项测试不过
,
修改为默认的770, testDownloadManager这一项也测试不过, 并且会导致FOTA功能无法使用.需要再分析一下.
DownloadManager2.3新增的一个系统服务,用来处理长时间运行的HTTP下载,它不与webkit交互,详细请看
http://developer.android.com/reference/android/app/DownloadManager.html
start --plan CTS -t android.app.cts.DownloadManagerTest#testDownloadManager
-- testMinimumDownloadfailjunit.framework.AssertionFailedError: Make sure you have WiFi or some other connectivity for this test. at android.app.cts.DownloadManagerTest$DownloadCompleteReceiver.waitForDownloadComplete(DownloadManagerTest.java:140)Bug 106196 Device implementations MUST have at least 128MB of memory available to the kernel and userspace.这个问题恐怕不只是遇到空间的问题,还有目录/文件权限问题.权限问题是android.app.cts.DownloadManagerTest --testDownloadManager这个case导致的start --plan CTS -t android.app.cts.DownloadManagerTest#testMinimumDownload
Compatibility Test Package: CtsContentTestCases
TestResultFailure Details
android.content.cts.ContentResolverSyncTestCase
-- testRequestSyncfailjunit.framework.AssertionFailedError at android.content.cts.ContentResolverSyncTestCase.addAccountAndVerifyInitSync(ContentResolverSyncTestCase.java:111)start --plan CTS -t android.content.cts.ContentResolverSyncTestCase#testRequestSync
-- testCancelSyncfailjunit.framework.AssertionFailedError at android.content.cts.ContentResolverSyncTestCase.addAccountAndVerifyInitSync(ContentResolverSyncTestCase.java:111)start --plan CTS -t android.content.cts.ContentResolverSyncTestCase#testCancelSync
android.hardware.cts.CameraTest Bug 109395 - camera启动超出1500ms。导致全体失败
-- testTakePicturefailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1501ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testTakePicture
-- testPreviewCallbackfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1502ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testPreviewCallback
-- testSetOneShotPreviewCallbackfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1503ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testSetOneShotPreviewCallback
-- testSetPreviewDisplayfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1504ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testSetPreviewDisplay
-- testDisplayOrientationfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1505ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testDisplayOrientation
-- testParametersfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1506ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testParameters
-- testJpegThumbnailSizefailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1507ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testJpegThumbnailSize
-- testJpegExiffailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1508ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testJpegExif
-- testLockUnlockfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1509ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testLockUnlock
-- testPreviewCallbackWithBufferfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1510ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testPreviewCallbackWithBuffer
-- testZoomfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1511ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testZoom
-- testFocusDistancesfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1512ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testFocusDistances
-- testCancelAutofocusfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1513ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testCancelAutofocus
-- testPreviewPictureSizesCombinationfailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1514ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testPreviewPictureSizesCombination
-- testPreviewFpsRangefailjunit.framework.AssertionFailedError: initializeMessageLooper: start timeout at android.hardware.cts.CameraTest.initializeMessageLooper(CameraTest.java:139) Bug 109395 - camera启动超出1515ms。导致全体失败start --plan CTS -t android.hardware.cts.CameraTest#testPreviewFpsRange
Compatibility Test Package: CtsMediaTestCases
TestResultFailure Details
android.media.cts.MediaPlayerTest
-- testPlayOggStreamRedirectfailstart --plan CTS -t android.media.cts.MediaPlayerTest#testPlayOggStreamRedirect
android.net.cts.ConnectivityManagerTest
-- testStartUsingNetworkFeature_enableHiprifailjunit.framework.AssertionFailedError: Wifi must be configured to connect to an access point for this test. at android.net.cts.ConnectivityManagerTest.connectToWifi(ConnectivityManagerTest.java:261)
hipri接入点类型,该测试项无法支持!
只要在
10秒之内连接,就能通过测试。假如超过10
秒才连上,那么就会通不过测试。
这完全变成一个测试
WIFI
性能的问题了。
APOLLO当前连接AP时间较长到底是否是受到HW的制约呢,或者SW WIFI模块存在优化的可能,这个需要WIFI
组的专业人士继续跟踪分析了。


wifi没在十秒内连接上一个连接点(是连接上,而不仅仅是打开wifi),就会报错。若wifi以前没有配置过连接点或者10秒内没有连接上,都会出错,测试很多遍都是因为10秒内没有成功连上而出错。
所以,尝试把
wifi
打开并连接上,这一步就能过去了。但是,又出现了以下问题:
android.net.cts.ConnectivityManagerTest#testStartUsingNetworkFeature_enableHipri..........(fail)应该是没找到有效的APN配置。
start --plan CTS -t android.net.cts.ConnectivityManagerTest#testStartUsingNetworkFeature_enableHipri
Compatibility Test Package: CtsPermission2TestCases
TestResultFailure Details
android.permission2.cts.NoReceiveSmsPermissionTest
-- testReceiveTextMessagefailjava.lang.IllegalArgumentException: Invalid destinationAddress at android.telephony.SmsManager.sendTextMessage(SmsManager.java:84)start --plan CTS -t android.permission2.cts.NoReceiveSmsPermissionTest#testReceiveTextMessage
android.permission2.cts.NoReceiveGsmSmsPermissionTest
-- testReceiveTextMessagefailjava.lang.IllegalArgumentException: Invalid destinationAddress at android.telephony.SmsManager.sendTextMessage(SmsManager.java:84)start --plan CTS -t android.permission2.cts.NoReceiveGsmSmsPermissionTest#testReceiveTextMessage
Compatibility Test Package: CtsPermissionTestCases
TestResultFailure Details
android.permission.cts.FileSystemPermissionTest
-- testAllFilesInSysAreNotWritablefailjunit.framework.AssertionFailedError: /sys/sockutils/skutils_seq_ack at android.permission.cts.FileSystemPermissionTest.assertAllFilesInDirAndSubDirAreNotWritable(FileSystemPermissionTest.java:240)start --plan CTS -t android.permission.cts.FileSystemPermissionTest#testAllFilesInSysAreNotWritable
Compatibility Test Package: CtsSpeechTestCases
TestResultFailure Details
android.speech.tts.cts.TextToSpeechTest
-- testSynthesizeToFilefailjunit.framework.AssertionFailedError at android.speech.tts.cts.TextToSpeechTest.setUp(TextToSpeechTest.java:110)start --plan CTS -t android.speech.tts.cts.TextToSpeechTest#testSynthesizeToFile
-- testAndroidTestCaseSetupProperlyfailjunit.framework.AssertionFailedError at android.speech.tts.cts.TextToSpeechTest.setUp(TextToSpeechTest.java:110)start --plan CTS -t android.speech.tts.cts.TextToSpeechTest#testAndroidTestCaseSetupProperly
Compatibility Test Package: CtsTelephonyTestCases
TestResultFailure Details
android.telephony.cts.TelephonyManagerTest
-- testGetNetworkCountryIsofailjunit.framework.AssertionFailedError: Country code '' did not match [a-z]{2} at android.telephony.cts.TelephonyManagerTest.testGetNetworkCountryIso(TelephonyManagerTest.java:429)start --plan CTS -t android.telephony.cts.TelephonyManagerTest#testGetNetworkCountryIso
-- testGetSimCountryIsofailjunit.framework.AssertionFailedError: Country code '' did not match [a-z]{2} at android.telephony.cts.TelephonyManagerTest.testGetSimCountryIso(TelephonyManagerTest.java:441)start --plan CTS -t android.telephony.cts.TelephonyManagerTest#testGetSimCountryIso
android.telephony.cts.SmsManagerTest
-- testSendMessagesfailjava.lang.IllegalArgumentException: Invalid destinationAddress at android.telephony.SmsManager.sendTextMessage(SmsManager.java:84)start --plan CTS -t android.telephony.cts.SmsManagerTest#testSendMessages
android.telephony.gsm.cts.SmsManagerTest
-- testSendMessagesfailjava.lang.IllegalArgumentException: Invalid destinationAddress at android.telephony.SmsManager.sendTextMessage(SmsManager.java:84)start --plan CTS -t android.telephony.gsm.cts.SmsManagerTest#testSendMessages
Compatibility Test Package: CtsTextTestCases
TestResultFailure Details
android.text.cts.AutoTextTest
-- testGetfailjunit.framework.AssertionFailedError at android.text.cts.AutoTextTest.testGet(AutoTextTest.java:54)Bug 106219:log出现mediaserver died的情况:/system/bin/mediaserver <<<
因此造成了接下来的cts test case失败


 Bug 106254:机器只有前摄像头被识别出来,因此这里返回null,使得cts测试fail。这个问题不是新硬件的问题,同一个版本烧在DVT1上面也有同样的问题。我们在DVT3上面测试0629user版本是无法通过,但同样用DVT3上面测试0706user版本是可以通过的,之后不知道为什么一直无法通过。
0720工程模式应用测试可以正常切换到后cameracts此两项case可以通过。0720
user
模式的版本测试应用上测试切换后camera,弹出崩溃框,无法进入,导致cts此两项case
失败。
start --plan CTS -t android.text.cts.AutoTextTest#testGet
-- testGetSizefailjunit.framework.AssertionFailedError at android.text.cts.AutoTextTest.testGetSize(AutoTextTest.java:90)start --plan CTS -t android.text.cts.AutoTextTest#testGetSize
android.text.format.cts.TimeTest
-- testSetToNow0failjunit.framework.AssertionFailedError: expected:<3.4941376E8> but was:<3.49413E8> at android.text.format.cts.TimeTest.testSetToNow0(TimeTest.java:608)start --plan CTS -t android.text.format.cts.TimeTest#testSetToNow0
Compatibility Test Package: android.core.tests.luni.net
TestResultFailure Details
org.apache.harmony.luni.tests.java.net.InetAddressTest
-- test_getAllByNameLjava_lang_Stringfailjava.net.UnknownHostException: www.google.com at java.net.InetAddress.lookupHostByName(InetAddress.java:506)Bug 103645:该项和103646一样的原因,是对unknow.host地址无法解析,需要通过wifi连接上网(只通过sim卡上网不会pass)。所以建议在cts测试时,插入sim卡,通过wifi联网(需要保证能上网),可通过该项。通过2G
3G
上网不能通过。所以在测试时,通过wifi上网
这个跟ap的运营商有很大关系,总结出的经验是:在能联网的大前提下,adb shell进去输入ping unknow.host返回“ping unknow
host unknow.host”
时,该项能通过。由于条件的限制,未能在上海对各种运营商的ap进行测试,目前能总结出的是电信的ap不能通过。
start --plan CTS -t org.apache.harmony.luni.tests.java.net.InetAddressTest#test_getAllByNameLjava_lang_String
-- test_isReachableLjava_net_NetworkInterfaceII_loopbackInterfacefailjava.net.UnknownHostException: www.google.com at java.net.InetAddress.lookupHostByName(InetAddress.java:497)start --plan CTS -t org.apache.harmony.luni.tests.java.net.InetAddressTest#test_isReachableLjava_net_NetworkInterfaceII_loopbackInterface
org.apache.harmony.luni.tests.java.net.URLConnectionTest
-- test_getAllowUserInteractionfailjava.net.UnknownHostException: onearth.jpl.nasa.gov at java.net.InetAddress.lookupHostByName(InetAddress.java:506)start --plan CTS -t org.apache.harmony.luni.tests.java.net.URLConnectionTest#test_getAllowUserInteraction
-- test_getDatefailjunit.framework.AssertionFailedError: getDate gave wrong date: 0 at org.apache.harmony.luni.tests.java.net.URLConnectionTest.test_getDate(URLConnectionTest.java:790)start --plan CTS -t org.apache.harmony.luni.tests.java.net.URLConnectionTest#test_getDate
-- test_getExpirationfailjunit.framework.AssertionFailedError: getExpiration returned wrong expiration: 0 at org.apache.harmony.luni.tests.java.net.URLConnectionTest.test_getExpiration(URLConnectionTest.java:1030)start --plan CTS -t org.apache.harmony.luni.tests.java.net.URLConnectionTest#test_getExpiration
-- test_getLastModifiedfailjava.net.UnknownHostException: www.php.net at java.net.InetAddress.lookupHostByName(InetAddress.java:506)start --plan CTS -t org.apache.harmony.luni.tests.java.net.URLConnectionTest#test_getLastModified
-- test_getOutputStreamfailjava.net.UnknownHostException: www.google.com at java.net.InetAddress.lookupHostByName(InetAddress.java:506)start --plan CTS -t org.apache.harmony.luni.tests.java.net.URLConnectionTest#test_getOutputStream
Compatibility Test Package: android.core.tests.luni.util
TestResultFailure Details
tests.api.java.util.DateTest
-- test_Constructorfailjunit.framework.AssertionFailedError: Created incorrect date: 908305740000 now: 352704146 at tests.api.java.util.DateTest.test_Constructor(DateTest.java:49)start --plan CTS -t tests.api.java.util.DateTest#test_Constructor
Test Timeouts (2)
Compatibility Test Package: CtsMediaTestCases
TestResultFailure Details
<think>好的,我需要分析用户关于CTS测试项CtsPackageManagerIncrementalStatsHostTestCases中testAppAnrIncremental的问题。用户想了解这个测试用例的源码结构、执行流程以及失败原因分析方法。首先,我应该回忆CTS的基本架构,尤其是Host端测试的结构,因为测试项名称包含HostTestCases,说明这是运行在主机上的测试。 接下来,关于源码结构,CTS测试通常位于Android源码的cts目录下。我需要指出具体路径,比如可能是在cts/tests/incremental中,或者与PackageManager相关的模块。测试用例通常继承自JUnit框架,可能使用Instrumentation或HostTest基类。需要说明测试类如何组织,测试方法如何编写,以及涉及的辅助类或工具。 执行流程方面,Host测试一般通过adb命令触发,测试会在设备上安装APK并执行特定操作。对于testAppAnrIncremental,可能涉及安装一个故意引发ANR的应用,然后监控系统反应,比如生成ANR日志或统计信息。需要分步骤说明,包括环境准备、测试触发、操作模拟、结果收集等阶段。 失败原因分析需要用户检查日志,尤其是测试运行时的logcat输出和CTS结果报告。常见原因可能包括权限问题、应用配置错误、超时时间不符预期、系统未正确记录ANR事件等。应指导用户如何定位错误堆栈,查看测试断言失败的具体位置,以及如何验证系统日志是否符合预期。 另外,用户提供的引用中有关于CTS测试流程和错误示例,比如引用[3]提到安装特定测试包,引用[4]中的签名错误,这可能与测试环境配置有关。虽然当前问题涉及的是不同的测试项,但需要提醒用户确保测试环境正确配置,如安装必要的APK,设备状态正常等。 需要确保回答结构清晰,分点说明源码结构、流程、分析方法,并引用相关参考资料中的信息。同时,生成的相关问题要围绕CTS测试的结构、常见问题排查方法、增量安装相关测试展开,帮助用户扩展理解。</think>### CTS测试项 CtsPackageManagerIncrementalStatsHostTestCases 解析 #### 1. 源码结构分析 该测试项属于CTS框架中的**Host端测试**,主要验证PackageManager在增量安装场景下的行为,重点关注ANR(Application Not Responding)事件统计功能。其源码结构通常包含以下层级: - **测试类路径**: `cts/tests/incremental/src/android/incremental/cts/*` - **测试类定义**: 继承自`BaseHostJUnit4Test`,使用`@RunWith(JUnit4.class)`注解,例如: ```java @RunWith(JUnit4.class) public class PackageManagerIncrementalStatsTest extends BaseHostJUnit4Test { @Test public void testAppAnrIncremental() throws Exception { // 测试逻辑实现 } } ``` - **依赖工具类**: - `DeviceUtils`:用于设备操作(安装/卸载APK) - `IncrementalUtils`:处理增量安装相关逻辑 - `LogcatUtils`:捕获设备日志中的ANR事件[^3] #### 2. 测试执行流程 1. **环境准备**: - 安装触发ANR的测试应用(如`CtsIncrementalAppAnr.apk`) - 启用增量安装模式(通过`adb shell cmd incremental install`) - 重置PackageManager的统计计数器[^4] 2. **触发ANR事件**: - 通过模拟主线程阻塞或发送SIGNAL_STOP命令强制应用无响应 - 等待系统检测到ANR(通常通过`ActivityManagerService`触发) 3. **验证统计信息**: - 使用`adb shell dumpsys package stats`检查增量安装相关ANR计数 - 解析`logcat`输出验证ANR日志记录完整性 4. **清理阶段**: - 卸载测试应用 - 恢复设备原始状态 #### 3. 失败原因分析方法 当测试失败时,需按以下步骤排查: **步骤1:获取测试日志** ```bash cts-tradefed run retry --shards 1 --retry CtsPackageManagerIncrementalStatsHostTestCases ``` 检查控制台输出的`FAILURES`段和`logs/logcat*.txt`中的ANR事件记录[^2] **步骤2:常见失败原因** | 类型 | 表现示例 | 解决方法 | |------|----------|----------| | 环境配置错误 | `java.lang.SecurityException: Permission denial` | 检查测试APK签名和权限配置 | | ANR未触发 | `java.lang.AssertionError: Expected 1 ANR events` | 验证测试应用的ANR触发逻辑 | | 统计信息未更新 | `Counter mismatch in dumpsys` | 检查PackageManager服务状态 | | 超时问题 | `Waited 30 seconds for ANR...` | 调整系统ANR检测阈值 | **步骤3:深度调试建议** - 使用`adb shell dumpsys activity processes`查看进程状态 - 检查`/data/anr/`目录下的trace文件 - 验证`IncrementalManager`服务是否正常启用[^5] #### 4. 相关代码段示例 ```java // ANR触发核心逻辑示例 Device device = getDevice(); String pkgName = "com.android.cts.incremental.anr"; device.executeShellCommand("am start-foreground-service " + pkgName + "/.AnrService"); SystemClock.sleep(5000); // 等待ANR触发 // 验证统计信息 String stats = device.executeShellCommand("dumpsys package stats"); assertThat(stats).contains("incrementalAnrCount=1"); ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值