07-24 06:00:32 I/ModuleRepo: chromeos2-row4-rack9-host4:22 running 3 modules, expected to complete in 3m 0s
07-24 06:00:32 I/CompatibilityTest: Starting 3 modules on chromeos2-row4-rack9-host4:22
07-24 06:00:32 D/ConfigurationFactory: Loading configuration 'system-status-checkers'
07-24 06:00:32 D/ModuleDef: Preparer: DynamicConfigPusher
07-24 06:00:32 D/ModuleDef: Preparer: DynamicConfigPusher
07-24 06:00:32 D/ModuleDef: Preparer: DynamicConfigPusher
07-24 06:00:33 I/CompatibilityTest: Running system status checker before module execution: GtsPlacementTestCases
07-24 06:00:33 D/ModuleDef: Preparer: DynamicConfigPusher
07-24 06:00:33 D/ModuleDef: Preparer: ApkInstaller
07-24 06:00:33 D/TestAppInstallSetup: Installing apk from /tmp/autotest-tradefed-install_Ftg6Ug/8dc71b21472e3693bd93e1ef70d3ce46/gts-4.1_r2-3911033/android-gts/tools/../../android-gts/testcases/GtsPlacementTestCases.apk ...
07-24 06:00:33 D/GtsPlacementTestCases.apk: Uploading GtsPlacementTestCases.apk onto device 'chromeos2-row4-rack9-host4:22'
07-24 06:00:33 D/Device: Uploading file onto device 'chromeos2-row4-rack9-host4:22'
07-24 06:00:34 D/RunUtil: Running command with timeout: 60000ms
07-24 06:00:34 D/RunUtil: Running [aapt, dump, badging, /tmp/autotest-tradefed-install_Ftg6Ug/8dc71b21472e3693bd93e1ef70d3ce46/gts-4.1_r2-3911033/android-gts/tools/../../android-gts/testcases/GtsPlacementTestCases.apk]
07-24 06:00:34 D/ModuleDef: Test: AndroidJUnitTest
07-24 06:00:34 D/InstrumentationTest: Collecting test info for com.google.android.placement.gts on device chromeos2-row4-rack9-host4:22
07-24 06:00:34 I/RemoteAndroidTest: Running am instrument -w -r --abi x86_64  -e testFile /data/local/tmp/ajur/includes.txt -e debug false -e log true -e timeout_msec 300000 com.google.android.placement.gts/android.support.test.runner.AndroidJUnitRunner on google-eve-chromeos2-row4-rack9-host4:22
07-24 06:00:35 I/RemoteAndroidTest: Running am instrument -w -r --abi x86_64  -e testFile /data/local/tmp/ajur/includes.txt -e debug false -e log false -e timeout_msec 300000 com.google.android.placement.gts/android.support.test.runner.AndroidJUnitRunner on google-eve-chromeos2-row4-rack9-host4:22
07-24 06:00:35 D/ModuleListener: ModuleListener.testRunStarted(com.google.android.placement.gts, 5)
07-24 06:00:35 I/ConsoleReporter: [chromeos2-row4-rack9-host4:22] Starting x86_64 GtsPlacementTestCases with 5 tests
07-24 06:00:35 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded)
07-24 06:00:35 D/ModuleListener: ModuleListener.testFailed(com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded, junit.framework.AssertionFailedError: Mandatory core GMS packages not found as system apps:
com.android.chrome
com.android.providers.partnerbookmarks
com.google.android.apps.docs
com.google.android.apps.maps
com.google.android.backuptransport
com.google.android.configupdater
com.google.android.gm
com.google.android.music
com.google.android.onetimeinitializer
com.google.android.partnersetup
com.google.android.setupwizard
com.google.android.videos
com.google.android.youtube
com.google.android.apps.photos
com.google.android.syncadapters.calendar
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.checkGeneralCoreGmsAppsPreloaded(CoreGmsAppsTest.java:141)
at com.google.android.placement.gts.CoreGmsAppsTest.testCoreGmsAppsPreloaded(CoreGmsAppsTest.java:275)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
)
07-24 06:00:35 I/ConsoleReporter: [1/5 x86_64 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded fail: junit.framework.AssertionFailedError: Mandatory core GMS packages not found as system apps:
com.android.chrome
com.android.providers.partnerbookmarks
com.google.android.apps.docs
com.google.android.apps.maps
com.google.android.backuptransport
com.google.android.configupdater
com.google.android.gm
com.google.android.music
com.google.android.onetimeinitializer
com.google.android.partnersetup
com.google.android.setupwizard
com.google.android.videos
com.google.android.youtube
com.google.android.apps.photos
com.google.android.syncadapters.calendar
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.checkGeneralCoreGmsAppsPreloaded(CoreGmsAppsTest.java:141)
at com.google.android.placement.gts.CoreGmsAppsTest.testCoreGmsAppsPreloaded(CoreGmsAppsTest.java:275)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

07-24 06:00:35 I/FailureListener: FailureListener.testFailed com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded false false false
07-24 06:00:35 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded, {})
07-24 06:00:35 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testCustomizedWebviewPreloaded)
07-24 06:00:35 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testCustomizedWebviewPreloaded, {})
07-24 06:00:35 I/ConsoleReporter: [2/5 x86_64 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testCustomizedWebviewPreloaded pass
07-24 06:00:35 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded)
07-24 06:00:35 D/ModuleListener: ModuleListener.testFailed(com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded, junit.framework.AssertionFailedError: Mandatory app Hangouts not preloaded
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.testGoogleDuoPreloaded(CoreGmsAppsTest.java:230)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
)
07-24 06:00:35 I/ConsoleReporter: [3/5 x86_64 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded fail: junit.framework.AssertionFailedError: Mandatory app Hangouts not preloaded
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.testGoogleDuoPreloaded(CoreGmsAppsTest.java:230)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

07-24 06:00:35 I/FailureListener: FailureListener.testFailed com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded false false false
07-24 06:00:35 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded, {})
07-24 06:00:35 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testNoPreReleaseGmsCore)
07-24 06:00:35 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testNoPreReleaseGmsCore, {})
07-24 06:00:35 I/ConsoleReporter: [4/5 x86_64 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testNoPreReleaseGmsCore pass
07-24 06:00:35 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.UiPlacementTest#testPlayStore)
07-24 06:00:36 D/ModuleListener: ModuleListener.testFailed(com.google.android.placement.gts.UiPlacementTest#testPlayStore, java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.click()' on a null object reference
at com.google.android.placement.gts.UiPlacementTest.tryElement(UiPlacementTest.java:77)
at com.google.android.placement.gts.UiPlacementTest.testPlayStore(UiPlacementTest.java:73)
at java.lang.reflect.Method.invoke(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:220)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:205)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
)
07-24 06:00:36 I/ConsoleReporter: [5/5 x86_64 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.UiPlacementTest#testPlayStore fail: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.click()' on a null object reference
at com.google.android.placement.gts.UiPlacementTest.tryElement(UiPlacementTest.java:77)
at com.google.android.placement.gts.UiPlacementTest.testPlayStore(UiPlacementTest.java:73)
at java.lang.reflect.Method.invoke(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:220)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:205)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

07-24 06:00:36 I/FailureListener: FailureListener.testFailed com.google.android.placement.gts.UiPlacementTest#testPlayStore false false false
07-24 06:00:36 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.UiPlacementTest#testPlayStore, {})
07-24 06:00:36 D/ModuleListener: ModuleListener.testRunEnded(553, {})
07-24 06:00:36 I/ConsoleReporter: [chromeos2-row4-rack9-host4:22] x86_64 GtsPlacementTestCases completed in 553 ms. 2 passed, 3 failed, 0 not executed
07-24 06:00:36 D/ModuleDef: Cleaner: DynamicConfigPusher
07-24 06:00:36 D/ModuleDef: Cleaner: ApkInstaller
07-24 06:00:36 D/TestDevice: Uninstalling com.google.android.placement.gts
07-24 06:00:36 W/CompatibilityTest: Inaccurate runtime hint for x86_64 GtsPlacementTestCases, expected 1m 0s was 3s
07-24 06:00:36 I/CompatibilityTest: Running system status checker after module execution: GtsPlacementTestCases
07-24 06:00:36 D/WifiUtil.apk8691720570415926514.apk: Uploading WifiUtil.apk8691720570415926514.apk onto device 'chromeos2-row4-rack9-host4:22'
07-24 06:00:36 D/Device: Uploading file onto device 'chromeos2-row4-rack9-host4:22'
07-24 06:00:38 I/MonitoringUtils: Connectivity: passed check.
07-24 06:00:38 I/CompatibilityTest: Running system status checker before module execution: GtsPlacementTestCases
07-24 06:00:38 D/ModuleDef: Preparer: DynamicConfigPusher
07-24 06:00:38 D/ModuleDef: Preparer: ApkInstaller
07-24 06:00:38 D/TestAppInstallSetup: Installing apk from /tmp/autotest-tradefed-install_Ftg6Ug/8dc71b21472e3693bd93e1ef70d3ce46/gts-4.1_r2-3911033/android-gts/tools/../../android-gts/testcases/GtsPlacementTestCases.apk ...
07-24 06:00:38 D/GtsPlacementTestCases.apk: Uploading GtsPlacementTestCases.apk onto device 'chromeos2-row4-rack9-host4:22'
07-24 06:00:38 D/Device: Uploading file onto device 'chromeos2-row4-rack9-host4:22'
07-24 06:00:39 D/RunUtil: Running command with timeout: 60000ms
07-24 06:00:39 D/RunUtil: Running [aapt, dump, badging, /tmp/autotest-tradefed-install_Ftg6Ug/8dc71b21472e3693bd93e1ef70d3ce46/gts-4.1_r2-3911033/android-gts/tools/../../android-gts/testcases/GtsPlacementTestCases.apk]
07-24 06:00:39 D/ModuleDef: Test: AndroidJUnitTest
07-24 06:00:39 D/InstrumentationTest: Collecting test info for com.google.android.placement.gts on device chromeos2-row4-rack9-host4:22
07-24 06:00:39 I/RemoteAndroidTest: Running am instrument -w -r --abi x86  -e testFile /data/local/tmp/ajur/includes.txt -e debug false -e log true -e timeout_msec 300000 com.google.android.placement.gts/android.support.test.runner.AndroidJUnitRunner on google-eve-chromeos2-row4-rack9-host4:22
07-24 06:00:40 I/RemoteAndroidTest: Running am instrument -w -r --abi x86  -e testFile /data/local/tmp/ajur/includes.txt -e debug false -e log false -e timeout_msec 300000 com.google.android.placement.gts/android.support.test.runner.AndroidJUnitRunner on google-eve-chromeos2-row4-rack9-host4:22
07-24 06:00:40 D/ModuleListener: ModuleListener.testRunStarted(com.google.android.placement.gts, 5)
07-24 06:00:40 I/ConsoleReporter: [chromeos2-row4-rack9-host4:22] Starting x86 GtsPlacementTestCases with 5 tests
07-24 06:00:40 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded)
07-24 06:00:40 D/ModuleListener: ModuleListener.testFailed(com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded, junit.framework.AssertionFailedError: Mandatory core GMS packages not found as system apps:
com.android.chrome
com.android.providers.partnerbookmarks
com.google.android.apps.docs
com.google.android.apps.maps
com.google.android.backuptransport
com.google.android.configupdater
com.google.android.gm
com.google.android.music
com.google.android.onetimeinitializer
com.google.android.partnersetup
com.google.android.setupwizard
com.google.android.videos
com.google.android.youtube
com.google.android.apps.photos
com.google.android.syncadapters.calendar
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.checkGeneralCoreGmsAppsPreloaded(CoreGmsAppsTest.java:141)
at com.google.android.placement.gts.CoreGmsAppsTest.testCoreGmsAppsPreloaded(CoreGmsAppsTest.java:275)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
)
07-24 06:00:40 I/ConsoleReporter: [1/5 x86 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded fail: junit.framework.AssertionFailedError: Mandatory core GMS packages not found as system apps:
com.android.chrome
com.android.providers.partnerbookmarks
com.google.android.apps.docs
com.google.android.apps.maps
com.google.android.backuptransport
com.google.android.configupdater
com.google.android.gm
com.google.android.music
com.google.android.onetimeinitializer
com.google.android.partnersetup
com.google.android.setupwizard
com.google.android.videos
com.google.android.youtube
com.google.android.apps.photos
com.google.android.syncadapters.calendar
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.checkGeneralCoreGmsAppsPreloaded(CoreGmsAppsTest.java:141)
at com.google.android.placement.gts.CoreGmsAppsTest.testCoreGmsAppsPreloaded(CoreGmsAppsTest.java:275)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

07-24 06:00:40 I/FailureListener: FailureListener.testFailed com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded false false false
07-24 06:00:40 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded, {})
07-24 06:00:40 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testCustomizedWebviewPreloaded)
07-24 06:00:40 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testCustomizedWebviewPreloaded, {})
07-24 06:00:40 I/ConsoleReporter: [2/5 x86 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testCustomizedWebviewPreloaded pass
07-24 06:00:40 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded)
07-24 06:00:40 D/ModuleListener: ModuleListener.testFailed(com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded, junit.framework.AssertionFailedError: Mandatory app Hangouts not preloaded
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.testGoogleDuoPreloaded(CoreGmsAppsTest.java:230)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
)
07-24 06:00:40 I/ConsoleReporter: [3/5 x86 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded fail: junit.framework.AssertionFailedError: Mandatory app Hangouts not preloaded
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.testGoogleDuoPreloaded(CoreGmsAppsTest.java:230)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

07-24 06:00:40 I/FailureListener: FailureListener.testFailed com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded false false false
07-24 06:00:40 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded, {})
07-24 06:00:40 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testNoPreReleaseGmsCore)
07-24 06:00:40 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testNoPreReleaseGmsCore, {})
07-24 06:00:40 I/ConsoleReporter: [4/5 x86 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testNoPreReleaseGmsCore pass
07-24 06:00:40 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.UiPlacementTest#testPlayStore)
07-24 06:00:41 D/ModuleListener: ModuleListener.testFailed(com.google.android.placement.gts.UiPlacementTest#testPlayStore, java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.click()' on a null object reference
at com.google.android.placement.gts.UiPlacementTest.tryElement(UiPlacementTest.java:77)
at com.google.android.placement.gts.UiPlacementTest.testPlayStore(UiPlacementTest.java:73)
at java.lang.reflect.Method.invoke(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:220)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:205)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
)
07-24 06:00:41 I/ConsoleReporter: [5/5 x86 GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.UiPlacementTest#testPlayStore fail: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.click()' on a null object reference
at com.google.android.placement.gts.UiPlacementTest.tryElement(UiPlacementTest.java:77)
at com.google.android.placement.gts.UiPlacementTest.testPlayStore(UiPlacementTest.java:73)
at java.lang.reflect.Method.invoke(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:220)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:205)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

07-24 06:00:41 I/FailureListener: FailureListener.testFailed com.google.android.placement.gts.UiPlacementTest#testPlayStore false false false
07-24 06:00:41 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.UiPlacementTest#testPlayStore, {})
07-24 06:00:41 D/ModuleListener: ModuleListener.testRunEnded(551, {})
07-24 06:00:41 I/ConsoleReporter: [chromeos2-row4-rack9-host4:22] x86 GtsPlacementTestCases completed in 551 ms. 2 passed, 3 failed, 0 not executed
07-24 06:00:41 D/ModuleDef: Cleaner: DynamicConfigPusher
07-24 06:00:41 D/ModuleDef: Cleaner: ApkInstaller
07-24 06:00:41 D/TestDevice: Uninstalling com.google.android.placement.gts
07-24 06:00:42 W/CompatibilityTest: Inaccurate runtime hint for x86 GtsPlacementTestCases, expected 1m 0s was 3s
07-24 06:00:42 I/CompatibilityTest: Running system status checker after module execution: GtsPlacementTestCases
07-24 06:00:42 I/MonitoringUtils: Connectivity: passed check.
07-24 06:00:42 I/CompatibilityTest: Running system status checker before module execution: GtsPlacementTestCases
07-24 06:00:42 D/ModuleDef: Preparer: DynamicConfigPusher
07-24 06:00:42 D/ModuleDef: Preparer: ApkInstaller
07-24 06:00:42 D/TestAppInstallSetup: Installing apk from /tmp/autotest-tradefed-install_Ftg6Ug/8dc71b21472e3693bd93e1ef70d3ce46/gts-4.1_r2-3911033/android-gts/tools/../../android-gts/testcases/GtsPlacementTestCases.apk ...
07-24 06:00:42 D/GtsPlacementTestCases.apk: Uploading GtsPlacementTestCases.apk onto device 'chromeos2-row4-rack9-host4:22'
07-24 06:00:42 D/Device: Uploading file onto device 'chromeos2-row4-rack9-host4:22'
07-24 06:00:43 D/RunUtil: Running command with timeout: 60000ms
07-24 06:00:43 D/RunUtil: Running [aapt, dump, badging, /tmp/autotest-tradefed-install_Ftg6Ug/8dc71b21472e3693bd93e1ef70d3ce46/gts-4.1_r2-3911033/android-gts/tools/../../android-gts/testcases/GtsPlacementTestCases.apk]
07-24 06:00:43 D/ModuleDef: Test: AndroidJUnitTest
07-24 06:00:44 D/InstrumentationTest: Collecting test info for com.google.android.placement.gts on device chromeos2-row4-rack9-host4:22
07-24 06:00:44 I/RemoteAndroidTest: Running am instrument -w -r --abi armeabi-v7a  -e testFile /data/local/tmp/ajur/includes.txt -e debug false -e log true -e timeout_msec 300000 com.google.android.placement.gts/android.support.test.runner.AndroidJUnitRunner on google-eve-chromeos2-row4-rack9-host4:22
07-24 06:00:44 I/RemoteAndroidTest: Running am instrument -w -r --abi armeabi-v7a  -e testFile /data/local/tmp/ajur/includes.txt -e debug false -e log false -e timeout_msec 300000 com.google.android.placement.gts/android.support.test.runner.AndroidJUnitRunner on google-eve-chromeos2-row4-rack9-host4:22
07-24 06:00:45 D/ModuleListener: ModuleListener.testRunStarted(com.google.android.placement.gts, 5)
07-24 06:00:45 I/ConsoleReporter: [chromeos2-row4-rack9-host4:22] Starting armeabi-v7a GtsPlacementTestCases with 5 tests
07-24 06:00:45 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded)
07-24 06:00:45 D/ModuleListener: ModuleListener.testFailed(com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded, junit.framework.AssertionFailedError: Mandatory core GMS packages not found as system apps:
com.android.chrome
com.android.providers.partnerbookmarks
com.google.android.apps.docs
com.google.android.apps.maps
com.google.android.backuptransport
com.google.android.configupdater
com.google.android.gm
com.google.android.music
com.google.android.onetimeinitializer
com.google.android.partnersetup
com.google.android.setupwizard
com.google.android.videos
com.google.android.youtube
com.google.android.apps.photos
com.google.android.syncadapters.calendar
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.checkGeneralCoreGmsAppsPreloaded(CoreGmsAppsTest.java:141)
at com.google.android.placement.gts.CoreGmsAppsTest.testCoreGmsAppsPreloaded(CoreGmsAppsTest.java:275)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
)
07-24 06:00:45 I/ConsoleReporter: [1/5 armeabi-v7a GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded fail: junit.framework.AssertionFailedError: Mandatory core GMS packages not found as system apps:
com.android.chrome
com.android.providers.partnerbookmarks
com.google.android.apps.docs
com.google.android.apps.maps
com.google.android.backuptransport
com.google.android.configupdater
com.google.android.gm
com.google.android.music
com.google.android.onetimeinitializer
com.google.android.partnersetup
com.google.android.setupwizard
com.google.android.videos
com.google.android.youtube
com.google.android.apps.photos
com.google.android.syncadapters.calendar
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.checkGeneralCoreGmsAppsPreloaded(CoreGmsAppsTest.java:141)
at com.google.android.placement.gts.CoreGmsAppsTest.testCoreGmsAppsPreloaded(CoreGmsAppsTest.java:275)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

07-24 06:00:45 I/FailureListener: FailureListener.testFailed com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded false false false
07-24 06:00:45 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testCoreGmsAppsPreloaded, {})
07-24 06:00:45 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testCustomizedWebviewPreloaded)
07-24 06:00:45 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testCustomizedWebviewPreloaded, {})
07-24 06:00:45 I/ConsoleReporter: [2/5 armeabi-v7a GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testCustomizedWebviewPreloaded pass
07-24 06:00:45 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded)
07-24 06:00:45 D/ModuleListener: ModuleListener.testFailed(com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded, junit.framework.AssertionFailedError: Mandatory app Hangouts not preloaded
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.testGoogleDuoPreloaded(CoreGmsAppsTest.java:230)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
)
07-24 06:00:45 I/ConsoleReporter: [3/5 armeabi-v7a GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded fail: junit.framework.AssertionFailedError: Mandatory app Hangouts not preloaded
at junit.framework.Assert.fail(Assert.java:50)
at junit.framework.Assert.assertTrue(Assert.java:20)
at com.google.android.placement.gts.CoreGmsAppsTest.testGoogleDuoPreloaded(CoreGmsAppsTest.java:230)
at java.lang.reflect.Method.invoke(Native Method)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

07-24 06:00:45 I/FailureListener: FailureListener.testFailed com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded false false false
07-24 06:00:45 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testGoogleDuoPreloaded, {})
07-24 06:00:45 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.CoreGmsAppsTest#testNoPreReleaseGmsCore)
07-24 06:00:45 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.CoreGmsAppsTest#testNoPreReleaseGmsCore, {})
07-24 06:00:45 I/ConsoleReporter: [4/5 armeabi-v7a GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.CoreGmsAppsTest#testNoPreReleaseGmsCore pass
07-24 06:00:45 D/ModuleListener: ModuleListener.testStarted(com.google.android.placement.gts.UiPlacementTest#testPlayStore)
07-24 06:00:45 D/ModuleListener: ModuleListener.testFailed(com.google.android.placement.gts.UiPlacementTest#testPlayStore, java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.click()' on a null object reference
at com.google.android.placement.gts.UiPlacementTest.tryElement(UiPlacementTest.java:77)
at com.google.android.placement.gts.UiPlacementTest.testPlayStore(UiPlacementTest.java:73)
at java.lang.reflect.Method.invoke(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:220)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:205)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
)
07-24 06:00:45 I/ConsoleReporter: [5/5 armeabi-v7a GtsPlacementTestCases chromeos2-row4-rack9-host4:22] com.google.android.placement.gts.UiPlacementTest#testPlayStore fail: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.test.uiautomator.UiObject2.click()' on a null object reference
at com.google.android.placement.gts.UiPlacementTest.tryElement(UiPlacementTest.java:77)
at com.google.android.placement.gts.UiPlacementTest.testPlayStore(UiPlacementTest.java:73)
at java.lang.reflect.Method.invoke(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:220)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:205)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:115)
at android.support.test.internal.runner.junit3.AndroidTestResult.runProtected(AndroidTestResult.java:77)
at junit.framework.TestResult.run(TestResult.java:118)
at android.support.test.internal.runner.junit3.AndroidTestResult.run(AndroidTestResult.java:55)
at junit.framework.TestCase.run(TestCase.java:124)
at android.support.test.internal.runner.junit3.NonLeakyTestSuite$NonLeakyTest.run(NonLeakyTestSuite.java:63)
at android.support.test.internal.runner.junit3.AndroidTestSuite$1.run(AndroidTestSuite.java:97)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

07-24 06:00:45 I/FailureListener: FailureListener.testFailed com.google.android.placement.gts.UiPlacementTest#testPlayStore false false false
07-24 06:00:45 D/ModuleListener: ModuleListener.testEnded(com.google.android.placement.gts.UiPlacementTest#testPlayStore, {})
07-24 06:00:45 D/ModuleListener: ModuleListener.testRunEnded(585, {})
07-24 06:00:45 I/ConsoleReporter: [chromeos2-row4-rack9-host4:22] armeabi-v7a GtsPlacementTestCases completed in 585 ms. 2 passed, 3 failed, 0 not executed
07-24 06:00:45 D/ModuleDef: Cleaner: DynamicConfigPusher
07-24 06:00:45 D/ModuleDef: Cleaner: ApkInstaller
07-24 06:00:45 D/TestDevice: Uninstalling com.google.android.placement.gts
07-24 06:00:46 W/CompatibilityTest: Inaccurate runtime hint for armeabi-v7a GtsPlacementTestCases, expected 1m 0s was 3s
07-24 06:00:46 I/CompatibilityTest: Running system status checker after module execution: GtsPlacementTestCases
07-24 06:00:46 I/MonitoringUtils: Connectivity: passed check.
07-24 06:00:47 D/RunUtil: run interrupt allowed: false
07-24 06:00:47 I/ResultReporter: Invocation finished in 29s. PASSED: 6, FAILED: 9, MODULES: 3 of 3
07-24 06:00:47 I/ResultReporter: Test Result: /tmp/autotest-tradefed-install_Ftg6Ug/8dc71b21472e3693bd93e1ef70d3ce46/gts-4.1_r2-3911033/android-gts/results/2017.07.24_06.00.18/test_result_failures.html
07-24 06:00:47 I/ResultReporter: Full Result: /tmp/autotest-tradefed-install_Ftg6Ug/8dc71b21472e3693bd93e1ef70d3ce46/gts-4.1_r2-3911033/android-gts/results/2017.07.24_06.00.18.zip
