/** Test {@link DeviceSetup#setUp(ITestDevice, IBuildInfo)} when build does not boot */ public void testSetup_buildError() throws Exception { mMockDevice.setRecoveryMode(RecoveryMode.ONLINE); mMockFlasher.overrideDeviceOptions(mMockDevice); mMockFlasher.setForceSystemFlash(false); mMockFlasher.setDataWipeSkipList(Arrays.asList(new String[] {})); mMockFlasher.flash(mMockDevice, mMockBuildInfo); mMockDevice.waitForDeviceOnline(); EasyMock.expect(mMockDevice.enableAdbRoot()).andStubReturn(Boolean.TRUE); mMockDevice.setDate(null); EasyMock.expect(mMockDevice.getBuildId()).andReturn(mMockBuildInfo.getBuildId()); EasyMock.expect(mMockDevice.getBuildFlavor()).andReturn(mMockBuildInfo.getBuildFlavor()); EasyMock.expect(mMockDevice.isEncryptionSupported()).andStubReturn(Boolean.TRUE); EasyMock.expect(mMockDevice.isDeviceEncrypted()).andStubReturn(Boolean.FALSE); mMockDevice.clearLogcat(); mMockDevice.waitForDeviceAvailable(EasyMock.anyLong()); EasyMock.expectLastCall().andThrow(new DeviceUnresponsiveException("foo")); mMockDevice.setRecoveryMode(RecoveryMode.AVAILABLE); EasyMock.replay(mMockFlasher, mMockDevice); try { mDeviceFlashPreparer.setUp(mMockDevice, mMockBuildInfo); fail("DeviceFlashPreparerTest not thrown"); } catch (BuildError e) { // expected; use the general version to make absolutely sure that // DeviceFailedToBootError properly masquerades as a BuildError. assertTrue(e instanceof DeviceFailedToBootError); } EasyMock.verify(mMockFlasher, mMockDevice); }
/** Set EasyMock expectations for a normal setup call */ private void doSetupExpectations() throws TargetSetupError, DeviceNotAvailableException { mMockDevice.setRecoveryMode(RecoveryMode.ONLINE); mMockFlasher.overrideDeviceOptions(mMockDevice); mMockFlasher.setForceSystemFlash(false); mMockFlasher.setDataWipeSkipList(Arrays.asList(new String[] {})); mMockFlasher.flash(mMockDevice, mMockBuildInfo); mMockDevice.waitForDeviceOnline(); EasyMock.expect(mMockDevice.enableAdbRoot()).andStubReturn(Boolean.TRUE); mMockDevice.setDate(null); EasyMock.expect(mMockDevice.getBuildId()).andReturn(mMockBuildInfo.getBuildId()); EasyMock.expect(mMockDevice.getBuildFlavor()).andReturn(mMockBuildInfo.getBuildFlavor()); EasyMock.expect(mMockDevice.isEncryptionSupported()).andStubReturn(Boolean.TRUE); EasyMock.expect(mMockDevice.isDeviceEncrypted()).andStubReturn(Boolean.FALSE); mMockDevice.clearLogcat(); mMockDevice.waitForDeviceAvailable(EasyMock.anyLong()); mMockDevice.setRecoveryMode(RecoveryMode.AVAILABLE); mMockDevice.postBootSetup(); }