Merge "Remove tests already covered by CTS." into qt-dev
This commit is contained in:
@@ -14,5 +14,13 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"imports": [
|
||||||
|
{
|
||||||
|
"path": "cts/tests/rollback"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "cts/hostsidetests/rollback"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,45 +78,6 @@ android_test_helper_app {
|
|||||||
package_splits: ["anydpi"],
|
package_splits: ["anydpi"],
|
||||||
}
|
}
|
||||||
|
|
||||||
apex {
|
|
||||||
name: "com.android.tests.rollback.testapex.RollbackTestApexV1",
|
|
||||||
manifest: "TestApex/RollbackTestApexV1.json",
|
|
||||||
file_contexts: "apex.test",
|
|
||||||
prebuilts: ["RollbackTestApex.prebuilt.txt"],
|
|
||||||
key: "RollbackTestApex.key",
|
|
||||||
installable: false,
|
|
||||||
}
|
|
||||||
|
|
||||||
apex {
|
|
||||||
name: "com.android.tests.rollback.testapex.RollbackTestApexV2",
|
|
||||||
manifest: "TestApex/RollbackTestApexV2.json",
|
|
||||||
file_contexts: "apex.test",
|
|
||||||
prebuilts: ["RollbackTestApex.prebuilt.txt"],
|
|
||||||
key: "RollbackTestApex.key",
|
|
||||||
installable: false,
|
|
||||||
}
|
|
||||||
|
|
||||||
apex {
|
|
||||||
name: "com.android.tests.rollback.testapex.RollbackTestApexV3",
|
|
||||||
manifest: "TestApex/RollbackTestApexV3.json",
|
|
||||||
file_contexts: "apex.test",
|
|
||||||
prebuilts: ["RollbackTestApex.prebuilt.txt"],
|
|
||||||
key: "RollbackTestApex.key",
|
|
||||||
installable: false,
|
|
||||||
}
|
|
||||||
|
|
||||||
apex_key {
|
|
||||||
name: "RollbackTestApex.key",
|
|
||||||
public_key: "TestApex/com.android.tests.rollback.testapex.avbpubkey",
|
|
||||||
private_key: "TestApex/com.android.tests.rollback.testapex.pem",
|
|
||||||
installable: false,
|
|
||||||
}
|
|
||||||
|
|
||||||
prebuilt_etc {
|
|
||||||
name: "RollbackTestApex.prebuilt.txt",
|
|
||||||
src: "TestApex/RollbackTestApex.prebuilt.txt",
|
|
||||||
}
|
|
||||||
|
|
||||||
android_test {
|
android_test {
|
||||||
name: "RollbackTest",
|
name: "RollbackTest",
|
||||||
manifest: "RollbackTest/AndroidManifest.xml",
|
manifest: "RollbackTest/AndroidManifest.xml",
|
||||||
@@ -132,9 +93,6 @@ android_test {
|
|||||||
":RollbackTestAppBv2",
|
":RollbackTestAppBv2",
|
||||||
":RollbackTestAppASplitV1",
|
":RollbackTestAppASplitV1",
|
||||||
":RollbackTestAppASplitV2",
|
":RollbackTestAppASplitV2",
|
||||||
":com.android.tests.rollback.testapex.RollbackTestApexV1",
|
|
||||||
":com.android.tests.rollback.testapex.RollbackTestApexV2",
|
|
||||||
":com.android.tests.rollback.testapex.RollbackTestApexV3",
|
|
||||||
],
|
],
|
||||||
test_config: "RollbackTest.xml",
|
test_config: "RollbackTest.xml",
|
||||||
sdk_version: "test_current",
|
sdk_version: "test_current",
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
package com.android.tests.rollback;
|
package com.android.tests.rollback;
|
||||||
|
|
||||||
import static com.android.tests.rollback.RollbackTestUtils.assertRollbackInfoEquals;
|
import static com.android.tests.rollback.RollbackTestUtils.assertRollbackInfoEquals;
|
||||||
import static com.android.tests.rollback.RollbackTestUtils.getRecentlyCommittedRollbackInfoById;
|
|
||||||
import static com.android.tests.rollback.RollbackTestUtils.getUniqueRollbackInfoForPackage;
|
import static com.android.tests.rollback.RollbackTestUtils.getUniqueRollbackInfoForPackage;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
@@ -31,7 +30,6 @@ import androidx.test.InstrumentationRegistry;
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotEquals;
|
import static org.junit.Assert.assertNotEquals;
|
||||||
import static org.junit.Assert.assertNull;
|
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
@@ -55,15 +53,7 @@ public class StagedRollbackTest {
|
|||||||
private static final String TAG = "RollbackTest";
|
private static final String TAG = "RollbackTest";
|
||||||
private static final String TEST_APP_A = "com.android.tests.rollback.testapp.A";
|
private static final String TEST_APP_A = "com.android.tests.rollback.testapp.A";
|
||||||
private static final String TEST_APP_A_V1 = "RollbackTestAppAv1.apk";
|
private static final String TEST_APP_A_V1 = "RollbackTestAppAv1.apk";
|
||||||
private static final String TEST_APP_A_V2 = "RollbackTestAppAv2.apk";
|
|
||||||
private static final String TEST_APP_A_CRASHING_V2 = "RollbackTestAppACrashingV2.apk";
|
private static final String TEST_APP_A_CRASHING_V2 = "RollbackTestAppACrashingV2.apk";
|
||||||
private static final String TEST_APEX_PKG = "com.android.tests.rollback.testapex";
|
|
||||||
private static final String TEST_APEX_V1 =
|
|
||||||
"com.android.tests.rollback.testapex.RollbackTestApexV1.apex";
|
|
||||||
private static final String TEST_APEX_V2 =
|
|
||||||
"com.android.tests.rollback.testapex.RollbackTestApexV2.apex";
|
|
||||||
private static final String TEST_APEX_V3 =
|
|
||||||
"com.android.tests.rollback.testapex.RollbackTestApexV3.apex";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adopts common shell permissions needed for rollback tests.
|
* Adopts common shell permissions needed for rollback tests.
|
||||||
@@ -85,59 +75,6 @@ public class StagedRollbackTest {
|
|||||||
RollbackTestUtils.dropShellPermissionIdentity();
|
RollbackTestUtils.dropShellPermissionIdentity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test rollbacks of staged installs involving only apks.
|
|
||||||
* Enable rollback phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApkOnlyEnableRollback() throws Exception {
|
|
||||||
RollbackTestUtils.uninstall(TEST_APP_A);
|
|
||||||
assertEquals(-1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
|
||||||
|
|
||||||
RollbackTestUtils.install(TEST_APP_A_V1, false);
|
|
||||||
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
|
||||||
RollbackTestUtils.processUserData(TEST_APP_A);
|
|
||||||
|
|
||||||
RollbackTestUtils.installStaged(true, TEST_APP_A_V2);
|
|
||||||
|
|
||||||
// At this point, the host test driver will reboot the device and run
|
|
||||||
// testApkOnlyCommitRollback().
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test rollbacks of staged installs involving only apks.
|
|
||||||
* Commit rollback phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApkOnlyCommitRollback() throws Exception {
|
|
||||||
assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
|
||||||
RollbackTestUtils.processUserData(TEST_APP_A);
|
|
||||||
|
|
||||||
RollbackManager rm = RollbackTestUtils.getRollbackManager();
|
|
||||||
RollbackInfo rollback = getUniqueRollbackInfoForPackage(
|
|
||||||
rm.getAvailableRollbacks(), TEST_APP_A);
|
|
||||||
assertRollbackInfoEquals(TEST_APP_A, 2, 1, rollback);
|
|
||||||
assertTrue(rollback.isStaged());
|
|
||||||
|
|
||||||
RollbackTestUtils.rollback(rollback.getRollbackId(),
|
|
||||||
new VersionedPackage(TEST_APP_A, 2));
|
|
||||||
|
|
||||||
rollback = getUniqueRollbackInfoForPackage(
|
|
||||||
rm.getRecentlyCommittedRollbacks(), TEST_APP_A);
|
|
||||||
assertRollbackInfoEquals(TEST_APP_A, 2, 1, rollback, new VersionedPackage(TEST_APP_A, 2));
|
|
||||||
assertTrue(rollback.isStaged());
|
|
||||||
assertNotEquals(-1, rollback.getCommittedSessionId());
|
|
||||||
|
|
||||||
RollbackTestUtils.waitForSessionReady(rollback.getCommittedSessionId());
|
|
||||||
|
|
||||||
// The app should not be rolled back until after reboot.
|
|
||||||
assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
|
||||||
|
|
||||||
// At this point, the host test driver will reboot the device and run
|
|
||||||
// testApkOnlyConfirmRollback().
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test rollbacks of staged installs involving only apks with bad update.
|
* Test rollbacks of staged installs involving only apks with bad update.
|
||||||
* Enable rollback phase.
|
* Enable rollback phase.
|
||||||
@@ -209,7 +146,7 @@ public class StagedRollbackTest {
|
|||||||
* Confirm rollback phase.
|
* Confirm rollback phase.
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
public void testApkOnlyConfirmRollback() throws Exception {
|
public void testBadApkOnlyConfirmRollback() throws Exception {
|
||||||
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
||||||
RollbackTestUtils.processUserData(TEST_APP_A);
|
RollbackTestUtils.processUserData(TEST_APP_A);
|
||||||
|
|
||||||
@@ -220,171 +157,4 @@ public class StagedRollbackTest {
|
|||||||
assertTrue(rollback.isStaged());
|
assertTrue(rollback.isStaged());
|
||||||
assertNotEquals(-1, rollback.getCommittedSessionId());
|
assertNotEquals(-1, rollback.getCommittedSessionId());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Test rollbacks of staged installs an apk and an apex.
|
|
||||||
* Enable rollback phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApkAndApexEnableRollback() throws Exception {
|
|
||||||
RollbackTestUtils.uninstall(TEST_APP_A);
|
|
||||||
RollbackTestUtils.install(TEST_APP_A_V1, false);
|
|
||||||
|
|
||||||
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
|
||||||
|
|
||||||
RollbackTestUtils.installStaged(true, TEST_APP_A_V2, TEST_APEX_V2);
|
|
||||||
|
|
||||||
// At this point, the host test driver will reboot the device and run
|
|
||||||
// testApkAndApexCommitRollback().
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test rollbacks of staged installs an apk and an apex.
|
|
||||||
* Commit rollback phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApkAndApexCommitRollback() throws Exception {
|
|
||||||
assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
|
||||||
|
|
||||||
RollbackTestUtils.processUserData(TEST_APP_A);
|
|
||||||
|
|
||||||
RollbackManager rm = RollbackTestUtils.getRollbackManager();
|
|
||||||
|
|
||||||
RollbackInfo rollback = getUniqueRollbackInfoForPackage(
|
|
||||||
rm.getAvailableRollbacks(), TEST_APP_A);
|
|
||||||
String[] packagesNames = {TEST_APEX_PKG, TEST_APP_A};
|
|
||||||
assertRollbackInfoEquals(packagesNames, 2, 1, rollback);
|
|
||||||
assertTrue(rollback.isStaged());
|
|
||||||
|
|
||||||
RollbackTestUtils.rollback(rollback.getRollbackId());
|
|
||||||
|
|
||||||
RollbackInfo committed = getRecentlyCommittedRollbackInfoById(rollback.getRollbackId());
|
|
||||||
|
|
||||||
assertRollbackInfoEquals(packagesNames, 2, 1, committed);
|
|
||||||
assertTrue(committed.isStaged());
|
|
||||||
assertNotEquals(-1, committed.getCommittedSessionId());
|
|
||||||
|
|
||||||
RollbackTestUtils.waitForSessionReady(committed.getCommittedSessionId());
|
|
||||||
|
|
||||||
// The apex and apk should not be rolled back until after reboot.
|
|
||||||
assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
|
||||||
|
|
||||||
// At this point, the host test driver will reboot the device and run
|
|
||||||
// testApkAndApexConfirmRollback().
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test rollbacks of staged installs an apk and an apex.
|
|
||||||
* Confirm rollback phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApkAndApexConfirmRollback() throws Exception {
|
|
||||||
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
|
|
||||||
|
|
||||||
RollbackTestUtils.processUserData(TEST_APP_A);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test rollbacks of staged installs involving only apex.
|
|
||||||
* Enable rollback phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApexOnlyEnableRollback() throws Exception {
|
|
||||||
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
RollbackTestUtils.installStaged(true, TEST_APEX_V2);
|
|
||||||
|
|
||||||
// At this point, the host test driver will reboot the device and run
|
|
||||||
// testApexOnlyCommitRollback().
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test rollbacks of staged installs involving only apex.
|
|
||||||
* Commit rollback phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApexOnlyCommitRollback() throws Exception {
|
|
||||||
assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
|
|
||||||
RollbackManager rm = RollbackTestUtils.getRollbackManager();
|
|
||||||
RollbackInfo rollback = getUniqueRollbackInfoForPackage(
|
|
||||||
rm.getAvailableRollbacks(), TEST_APEX_PKG);
|
|
||||||
assertRollbackInfoEquals(TEST_APEX_PKG, 2, 1, rollback);
|
|
||||||
assertTrue(rollback.isStaged());
|
|
||||||
|
|
||||||
RollbackTestUtils.rollback(rollback.getRollbackId());
|
|
||||||
|
|
||||||
RollbackInfo committed = getRecentlyCommittedRollbackInfoById(rollback.getRollbackId());
|
|
||||||
|
|
||||||
assertRollbackInfoEquals(TEST_APEX_PKG, 2, 1, committed);
|
|
||||||
assertTrue(committed.isStaged());
|
|
||||||
assertNotEquals(-1, committed.getCommittedSessionId());
|
|
||||||
|
|
||||||
RollbackTestUtils.waitForSessionReady(committed.getCommittedSessionId());
|
|
||||||
|
|
||||||
// The apex should not be rolled back until after reboot.
|
|
||||||
assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
|
|
||||||
// At this point, the host test driver will reboot the device and run
|
|
||||||
// testApexOnlyConfirmRollback().
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test rollbacks of staged installs involving only apex.
|
|
||||||
* Confirm rollback phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApexOnlyConfirmRollback() throws Exception {
|
|
||||||
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests that apex update expires existing rollbacks for that apex.
|
|
||||||
* Enable rollback phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApexRollbackExpirationEnableRollback() throws Exception {
|
|
||||||
assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
RollbackTestUtils.installStaged(true, TEST_APEX_V2);
|
|
||||||
|
|
||||||
// At this point, the host test driver will reboot the device and run
|
|
||||||
// testApexRollbackExpirationUpdateApex().
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests that apex update expires existing rollbacks for that apex.
|
|
||||||
* Update apex phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApexRollbackExpirationUpdateApex() throws Exception {
|
|
||||||
assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
RollbackTestUtils.installStaged(false, TEST_APEX_V3);
|
|
||||||
|
|
||||||
// At this point, the host test driver will reboot the device and run
|
|
||||||
// testApexRollbackExpirationConfirmExpiration().
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests that apex update expires existing rollbacks for that apex.
|
|
||||||
* Confirm expiration phase.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApexRollbackExpirationConfirmExpiration() throws Exception {
|
|
||||||
assertEquals(3, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
|
|
||||||
|
|
||||||
RollbackManager rm = RollbackTestUtils.getRollbackManager();
|
|
||||||
assertNull(getUniqueRollbackInfoForPackage(rm.getAvailableRollbacks(), TEST_APEX_PKG));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Helper function called by the host test to install v1 of the test apex,
|
|
||||||
* assuming the test apex is not installed.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void installTestApexV1() throws Exception {
|
|
||||||
RollbackTestUtils.installStaged(false, TEST_APEX_V1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package com.android.tests.rollback.host;
|
|||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import com.android.ddmlib.Log.LogLevel;
|
import com.android.ddmlib.Log.LogLevel;
|
||||||
import com.android.tradefed.device.ITestDevice;
|
|
||||||
import com.android.tradefed.log.LogUtil.CLog;
|
import com.android.tradefed.log.LogUtil.CLog;
|
||||||
import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
|
import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
|
||||||
import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
|
import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
|
||||||
@@ -32,9 +31,6 @@ import org.junit.runner.RunWith;
|
|||||||
*/
|
*/
|
||||||
@RunWith(DeviceJUnit4ClassRunner.class)
|
@RunWith(DeviceJUnit4ClassRunner.class)
|
||||||
public class StagedRollbackTest extends BaseHostJUnit4Test {
|
public class StagedRollbackTest extends BaseHostJUnit4Test {
|
||||||
|
|
||||||
private static final String TEST_APEX_PKG = "com.android.tests.rollback.testapex";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Runs the given phase of a test by calling into the device.
|
* Runs the given phase of a test by calling into the device.
|
||||||
* Throws an exception if the test phase fails.
|
* Throws an exception if the test phase fails.
|
||||||
@@ -47,18 +43,6 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
|
|||||||
phase));
|
phase));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests staged rollbacks involving only apks.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApkOnly() throws Exception {
|
|
||||||
runPhase("testApkOnlyEnableRollback");
|
|
||||||
getDevice().reboot();
|
|
||||||
runPhase("testApkOnlyCommitRollback");
|
|
||||||
getDevice().reboot();
|
|
||||||
runPhase("testApkOnlyConfirmRollback");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests watchdog triggered staged rollbacks involving only apks.
|
* Tests watchdog triggered staged rollbacks involving only apks.
|
||||||
*/
|
*/
|
||||||
@@ -79,66 +63,6 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getDevice().waitForDeviceAvailable();
|
getDevice().waitForDeviceAvailable();
|
||||||
runPhase("testApkOnlyConfirmRollback");
|
runPhase("testBadApkOnlyConfirmRollback");
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests staged rollbacks involving only apex.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApexOnly() throws Exception {
|
|
||||||
installTestApexV1();
|
|
||||||
runPhase("testApexOnlyEnableRollback");
|
|
||||||
getDevice().reboot();
|
|
||||||
runPhase("testApexOnlyCommitRollback");
|
|
||||||
getDevice().reboot();
|
|
||||||
runPhase("testApexOnlyConfirmRollback");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests staged rollbacks involving apk and apex.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApkAndApex() throws Exception {
|
|
||||||
installTestApexV1();
|
|
||||||
runPhase("testApkAndApexEnableRollback");
|
|
||||||
getDevice().reboot();
|
|
||||||
runPhase("testApkAndApexCommitRollback");
|
|
||||||
getDevice().reboot();
|
|
||||||
runPhase("testApkAndApexConfirmRollback");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tests that apex update expires existing rollbacks for that apex.
|
|
||||||
*/
|
|
||||||
@Test
|
|
||||||
public void testApexRollbackExpiration() throws Exception {
|
|
||||||
installTestApexV1();
|
|
||||||
runPhase("testApexRollbackExpirationEnableRollback");
|
|
||||||
getDevice().reboot();
|
|
||||||
runPhase("testApexRollbackExpirationUpdateApex");
|
|
||||||
getDevice().reboot();
|
|
||||||
runPhase("testApexRollbackExpirationConfirmExpiration");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Do whatever is necessary to get version 1 of the test apex installed on
|
|
||||||
* the device. Try to do so without extra reboots where possible to keep
|
|
||||||
* the test execution time down.
|
|
||||||
*/
|
|
||||||
private void installTestApexV1() throws Exception {
|
|
||||||
for (ITestDevice.ApexInfo apexInfo : getDevice().getActiveApexes()) {
|
|
||||||
if (TEST_APEX_PKG.equals(apexInfo.name)) {
|
|
||||||
if (apexInfo.versionCode == 1) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
getDevice().uninstallPackage(TEST_APEX_PKG);
|
|
||||||
getDevice().reboot();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
runPhase("installTestApexV1");
|
|
||||||
getDevice().reboot();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
|
|
||||||
This file contains dummy content to include in the RollbackTestApex.
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "com.android.tests.rollback.testapex",
|
|
||||||
"version": 1
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "com.android.tests.rollback.testapex",
|
|
||||||
"version": 2
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "com.android.tests.rollback.testapex",
|
|
||||||
"version": 3
|
|
||||||
}
|
|
||||||
Binary file not shown.
@@ -1,51 +0,0 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
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
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
||||||
Reference in New Issue
Block a user