Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4584e3c0 authored by JW Wang's avatar JW Wang
Browse files

More descriptive test phase names (3/n)

Bug: 177861067
Test: atest StagedRollbackTest
Change-Id: Ica510099d850a139a6df361c661f27b4f74a05ce
parent 324a5d89
Loading
Loading
Loading
Loading
+32 −32
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ public class StagedRollbackTest {
     * Enable rollback phase.
     */
    @Test
    public void testBadApkOnly_Phase1() throws Exception {
    public void testBadApkOnly_Phase1_Install() throws Exception {
        Uninstall.packages(TestApp.A);
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(-1);

@@ -104,7 +104,7 @@ public class StagedRollbackTest {
     * Confirm that rollback was successfully enabled.
     */
    @Test
    public void testBadApkOnly_Phase2() throws Exception {
    public void testBadApkOnly_Phase2_VerifyInstall() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(2);
        InstallUtils.processUserData(TestApp.A);

@@ -129,7 +129,7 @@ public class StagedRollbackTest {
     * Trigger rollback phase.
     */
    @Test
    public void testBadApkOnly_Phase3() throws Exception {
    public void testBadApkOnly_Phase3_Crash() throws Exception {
        // One more crash to trigger rollback
        RollbackUtils.sendCrashBroadcast(TestApp.A, 1);
    }
@@ -139,7 +139,7 @@ public class StagedRollbackTest {
     * Confirm rollback phase.
     */
    @Test
    public void testBadApkOnly_Phase4() throws Exception {
    public void testBadApkOnly_Phase4_VerifyRollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
        InstallUtils.processUserData(TestApp.A);

@@ -158,7 +158,7 @@ public class StagedRollbackTest {
     * Stage install an apk with rollback that will be later triggered by unattributable crash.
     */
    @Test
    public void testNativeWatchdogTriggersRollback_Phase1() throws Exception {
    public void testNativeWatchdogTriggersRollback_Phase1_Install() throws Exception {
        Uninstall.packages(TestApp.A);
        Install.single(TestApp.A1).commit();
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
@@ -170,7 +170,7 @@ public class StagedRollbackTest {
     * Verify the rollback is available.
     */
    @Test
    public void testNativeWatchdogTriggersRollback_Phase2() throws Exception {
    public void testNativeWatchdogTriggersRollback_Phase2_VerifyInstall() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(2);
        RollbackManager rm = RollbackUtils.getRollbackManager();
        assertThat(getUniqueRollbackInfoForPackage(rm.getAvailableRollbacks(),
@@ -181,7 +181,7 @@ public class StagedRollbackTest {
     * Verify the rollback is committed after crashing.
     */
    @Test
    public void testNativeWatchdogTriggersRollback_Phase3() throws Exception {
    public void testNativeWatchdogTriggersRollback_Phase3_VerifyRollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
        RollbackManager rm = RollbackUtils.getRollbackManager();
        assertThat(getUniqueRollbackInfoForPackage(rm.getRecentlyCommittedRollbacks(),
@@ -192,7 +192,7 @@ public class StagedRollbackTest {
     * Stage install an apk with rollback that will be later triggered by unattributable crash.
     */
    @Test
    public void testNativeWatchdogTriggersRollbackForAll_Phase1() throws Exception {
    public void testNativeWatchdogTriggersRollbackForAll_Phase1_InstallA() throws Exception {
        Uninstall.packages(TestApp.A);
        Install.single(TestApp.A1).commit();
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
@@ -204,7 +204,7 @@ public class StagedRollbackTest {
     * Verify the rollback is available and then install another package with rollback.
     */
    @Test
    public void testNativeWatchdogTriggersRollbackForAll_Phase2() throws Exception {
    public void testNativeWatchdogTriggersRollbackForAll_Phase2_InstallB() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(2);
        RollbackManager rm = RollbackUtils.getRollbackManager();
        assertThat(getUniqueRollbackInfoForPackage(rm.getAvailableRollbacks(),
@@ -222,7 +222,7 @@ public class StagedRollbackTest {
     * Verify the rollbacks are available.
     */
    @Test
    public void testNativeWatchdogTriggersRollbackForAll_Phase3() throws Exception {
    public void testNativeWatchdogTriggersRollbackForAll_Phase3_VerifyInstall() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(2);
        assertThat(InstallUtils.getInstalledVersion(TestApp.B)).isEqualTo(2);
        RollbackManager rm = RollbackUtils.getRollbackManager();
@@ -236,7 +236,7 @@ public class StagedRollbackTest {
     * Verify the rollbacks are committed after crashing.
     */
    @Test
    public void testNativeWatchdogTriggersRollbackForAll_Phase4() throws Exception {
    public void testNativeWatchdogTriggersRollbackForAll_Phase4_VerifyRollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
        assertThat(InstallUtils.getInstalledVersion(TestApp.B)).isEqualTo(1);
        RollbackManager rm = RollbackUtils.getRollbackManager();
@@ -247,7 +247,7 @@ public class StagedRollbackTest {
    }

    @Test
    public void testPreviouslyAbandonedRollbacks_Phase1() throws Exception {
    public void testPreviouslyAbandonedRollbacks_Phase1_InstallAndAbandon() throws Exception {
        Uninstall.packages(TestApp.A);
        Install.single(TestApp.A1).commit();
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
@@ -261,7 +261,7 @@ public class StagedRollbackTest {
    }

    @Test
    public void testPreviouslyAbandonedRollbacks_Phase2() throws Exception {
    public void testPreviouslyAbandonedRollbacks_Phase2_Rollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(2);
        InstallUtils.processUserData(TestApp.A);

@@ -272,7 +272,7 @@ public class StagedRollbackTest {
    }

    @Test
    public void testPreviouslyAbandonedRollbacks_Phase3() throws Exception {
    public void testPreviouslyAbandonedRollbacks_Phase3_VerifyRollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
        InstallUtils.processUserData(TestApp.A);
        Uninstall.packages(TestApp.A);
@@ -284,7 +284,7 @@ public class StagedRollbackTest {
    }

    @Test
    public void testRollbackWhitelistedApp_Phase1() throws Exception {
    public void testRollbackAllowlistedApp_Phase1_Install() throws Exception {
        // Remove available rollbacks
        String pkgName = getModuleMetadataPackageName();
        RollbackUtils.getRollbackManager().expireRollbackForPackage(pkgName);
@@ -296,7 +296,7 @@ public class StagedRollbackTest {
                Manifest.permission.INSTALL_PACKAGES,
                Manifest.permission.MANAGE_ROLLBACKS);

        // Re-install a whitelisted app with rollbacks enabled
        // Re-install a allowlisted app with rollbacks enabled
        String filePath = InstrumentationRegistry.getInstrumentation().getContext()
                .getPackageManager().getPackageInfo(pkgName, 0).applicationInfo.sourceDir;
        TestApp app = new TestApp("ModuleMetadata", pkgName, -1, false, new File(filePath));
@@ -305,12 +305,12 @@ public class StagedRollbackTest {
    }

    @Test
    public void testRollbackWhitelistedApp_Phase2() throws Exception {
    public void testRollbackAllowlistedApp_Phase2_VerifyInstall() throws Exception {
        assertThat(RollbackUtils.getAvailableRollback(getModuleMetadataPackageName())).isNotNull();
    }

    @Test
    public void testRollbackDataPolicy_Phase1() throws Exception {
    public void testRollbackDataPolicy_Phase1_Install() throws Exception {
        Uninstall.packages(TestApp.A, TestApp.B, TestApp.C);
        Install.multi(TestApp.A1, TestApp.B1, TestApp.C1).commit();
        // Write user data version = 1
@@ -328,7 +328,7 @@ public class StagedRollbackTest {
    }

    @Test
    public void testRollbackDataPolicy_Phase2() throws Exception {
    public void testRollbackDataPolicy_Phase2_Rollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(2);
        assertThat(InstallUtils.getInstalledVersion(TestApp.B)).isEqualTo(2);
        // Write user data version = 2
@@ -341,7 +341,7 @@ public class StagedRollbackTest {
    }

    @Test
    public void testRollbackDataPolicy_Phase3() throws Exception {
    public void testRollbackDataPolicy_Phase3_VerifyRollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
        assertThat(InstallUtils.getInstalledVersion(TestApp.B)).isEqualTo(1);
        assertThat(InstallUtils.getInstalledVersion(TestApp.C)).isEqualTo(1);
@@ -355,7 +355,7 @@ public class StagedRollbackTest {
    }

    @Test
    public void testCleanUp() throws Exception {
    public void expireRollbacks() throws Exception {
        // testNativeWatchdogTriggersRollback will fail if multiple staged sessions are
        // committed on a device which doesn't support checkpoint. Let's clean up all rollbacks
        // so there is only one rollback to commit when testing native crashes.
@@ -378,7 +378,7 @@ public class StagedRollbackTest {
            APK_IN_APEX_TESTAPEX_NAME + "_v2Crashing.apex");

    @Test
    public void testRollbackApexWithApk_Phase1() throws Exception {
    public void testRollbackApexWithApk_Phase1_Install() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
        InstallUtils.processUserData(TestApp.A);

@@ -388,7 +388,7 @@ public class StagedRollbackTest {
    }

    @Test
    public void testRollbackApexWithApk_Phase2() throws Exception {
    public void testRollbackApexWithApk_Phase2_Rollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(APK_IN_APEX_TESTAPEX_NAME)).isEqualTo(2);
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(2);
        InstallUtils.processUserData(TestApp.A);
@@ -416,7 +416,7 @@ public class StagedRollbackTest {
    }

    @Test
    public void testRollbackApexWithApk_Phase3() throws Exception {
    public void testRollbackApexWithApk_Phase3_VerifyRollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(APK_IN_APEX_TESTAPEX_NAME)).isEqualTo(1);
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
        InstallUtils.processUserData(TestApp.A);
@@ -426,7 +426,7 @@ public class StagedRollbackTest {
     * Installs an apex with an apk that can crash.
     */
    @Test
    public void testRollbackApexWithApkCrashing_Phase1() throws Exception {
    public void testRollbackApexWithApkCrashing_Phase1_Install() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
        int sessionId = Install.single(TEST_APEX_WITH_APK_V2_CRASHING).setStaged()
                .setEnableRollback().commit();
@@ -437,7 +437,7 @@ public class StagedRollbackTest {
     * Verifies rollback has been enabled successfully. Then makes TestApp.A crash.
     */
    @Test
    public void testRollbackApexWithApkCrashing_Phase2() throws Exception {
    public void testRollbackApexWithApkCrashing_Phase2_Crash() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(APK_IN_APEX_TESTAPEX_NAME)).isEqualTo(2);
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(2);

@@ -452,20 +452,20 @@ public class StagedRollbackTest {
    }

    @Test
    public void testRollbackApexWithApkCrashing_Phase3() throws Exception {
    public void testRollbackApexWithApkCrashing_Phase3_VerifyRollback() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(APK_IN_APEX_TESTAPEX_NAME)).isEqualTo(1);
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
    }

    @Test
    public void testRollbackApexDataDirectories_Phase1() throws Exception {
    public void testRollbackApexDataDirectories_Phase1_Install() throws Exception {
        int sessionId = Install.single(TEST_APEX_WITH_APK_V2).setStaged().setEnableRollback()
                .commit();
        InstallUtils.waitForSessionReady(sessionId);
    }

    @Test
    public void testRollbackApexDataDirectories_Phase2() throws Exception {
    public void testRollbackApexDataDirectories_Phase2_Rollback() throws Exception {
        RollbackInfo available = RollbackUtils.getAvailableRollback(APK_IN_APEX_TESTAPEX_NAME);

        RollbackUtils.rollback(available.getRollbackId(), TEST_APEX_WITH_APK_V2);
@@ -477,19 +477,19 @@ public class StagedRollbackTest {
    }

    @Test
    public void testRollbackApkDataDirectories_Phase1() throws Exception {
    public void testRollbackApkDataDirectories_Phase1_InstallV1() throws Exception {
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(-1);
        Install.single(TestApp.A1).commit();
        assertThat(InstallUtils.getInstalledVersion(TestApp.A)).isEqualTo(1);
    }

    @Test
    public void testRollbackApkDataDirectories_Phase2() throws Exception {
    public void testRollbackApkDataDirectories_Phase2_InstallV2() throws Exception {
        Install.single(TestApp.A2).setStaged().setEnableRollback().commit();
    }

    @Test
    public void testRollbackApkDataDirectories_Phase3() throws Exception {
    public void testRollbackApkDataDirectories_Phase3_Rollback() throws Exception {
        RollbackInfo available = RollbackUtils.getAvailableRollback(TestApp.A);
        RollbackUtils.rollback(available.getRollbackId(), TestApp.A2);
        RollbackInfo committed = RollbackUtils.getCommittedRollbackById(available.getRollbackId());
+40 −40
Original line number Diff line number Diff line
@@ -97,14 +97,14 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
    public void setUp() throws Exception {
        deleteFiles("/system/apex/" + APK_IN_APEX_TESTAPEX_NAME + "*.apex",
                "/data/apex/active/" + APK_IN_APEX_TESTAPEX_NAME + "*.apex");
        runPhase("testCleanUp");
        runPhase("expireRollbacks");
        mLogger.start(getDevice());
    }

    @After
    public void tearDown() throws Exception {
        mLogger.stop();
        runPhase("testCleanUp");
        runPhase("expireRollbacks");
        deleteFiles("/system/apex/" + APK_IN_APEX_TESTAPEX_NAME + "*.apex",
                "/data/apex/active/" + APK_IN_APEX_TESTAPEX_NAME + "*.apex",
                apexDataDirDeSys(APK_IN_APEX_TESTAPEX_NAME) + "*",
@@ -144,17 +144,17 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
     */
    @Test
    public void testBadApkOnly() throws Exception {
        runPhase("testBadApkOnly_Phase1");
        runPhase("testBadApkOnly_Phase1_Install");
        getDevice().reboot();
        runPhase("testBadApkOnly_Phase2");
        runPhase("testBadApkOnly_Phase2_VerifyInstall");

        // Trigger rollback and wait for reboot to happen
        runPhase("testBadApkOnly_Phase3");
        runPhase("testBadApkOnly_Phase3_Crash");
        assertThat(getDevice().waitForDeviceNotAvailable(TimeUnit.MINUTES.toMillis(2))).isTrue();

        getDevice().waitForDeviceAvailable();

        runPhase("testBadApkOnly_Phase4");
        runPhase("testBadApkOnly_Phase4_VerifyRollback");

        assertThat(mLogger).eventOccurred(ROLLBACK_INITIATE, null, REASON_APP_CRASH, TESTAPP_A);
        assertThat(mLogger).eventOccurred(ROLLBACK_BOOT_TRIGGERED, null, null, null);
@@ -163,12 +163,12 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {

    @Test
    public void testNativeWatchdogTriggersRollback() throws Exception {
        runPhase("testNativeWatchdogTriggersRollback_Phase1");
        runPhase("testNativeWatchdogTriggersRollback_Phase1_Install");

        // Reboot device to activate staged package
        getDevice().reboot();

        runPhase("testNativeWatchdogTriggersRollback_Phase2");
        runPhase("testNativeWatchdogTriggersRollback_Phase2_VerifyInstall");

        // crash system_server enough times to trigger a rollback
        crashProcess("system_server", NATIVE_CRASHES_THRESHOLD);
@@ -185,7 +185,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        getDevice().waitForDeviceAvailable();

        // verify rollback committed
        runPhase("testNativeWatchdogTriggersRollback_Phase3");
        runPhase("testNativeWatchdogTriggersRollback_Phase3_VerifyRollback");

        assertThat(mLogger).eventOccurred(ROLLBACK_INITIATE, null, REASON_NATIVE_CRASH, null);
        assertThat(mLogger).eventOccurred(ROLLBACK_BOOT_TRIGGERED, null, null, null);
@@ -198,15 +198,15 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        assumeTrue(isCheckpointSupported());

        // Install a package with rollback enabled.
        runPhase("testNativeWatchdogTriggersRollbackForAll_Phase1");
        runPhase("testNativeWatchdogTriggersRollbackForAll_Phase1_InstallA");
        getDevice().reboot();

        // Once previous staged install is applied, install another package
        runPhase("testNativeWatchdogTriggersRollbackForAll_Phase2");
        runPhase("testNativeWatchdogTriggersRollbackForAll_Phase2_InstallB");
        getDevice().reboot();

        // Verify the new staged install has also been applied successfully.
        runPhase("testNativeWatchdogTriggersRollbackForAll_Phase3");
        runPhase("testNativeWatchdogTriggersRollbackForAll_Phase3_VerifyInstall");

        // crash system_server enough times to trigger a rollback
        crashProcess("system_server", NATIVE_CRASHES_THRESHOLD);
@@ -223,7 +223,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        getDevice().waitForDeviceAvailable();

        // verify all available rollbacks have been committed
        runPhase("testNativeWatchdogTriggersRollbackForAll_Phase4");
        runPhase("testNativeWatchdogTriggersRollbackForAll_Phase4_VerifyRollback");

        assertThat(mLogger).eventOccurred(ROLLBACK_INITIATE, null, REASON_NATIVE_CRASH, null);
        assertThat(mLogger).eventOccurred(ROLLBACK_BOOT_TRIGGERED, null, null, null);
@@ -235,33 +235,33 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
     */
    @Test
    public void testPreviouslyAbandonedRollbacks() throws Exception {
        runPhase("testPreviouslyAbandonedRollbacks_Phase1");
        runPhase("testPreviouslyAbandonedRollbacks_Phase1_InstallAndAbandon");
        getDevice().reboot();
        runPhase("testPreviouslyAbandonedRollbacks_Phase2");
        runPhase("testPreviouslyAbandonedRollbacks_Phase2_Rollback");
        getDevice().reboot();
        runPhase("testPreviouslyAbandonedRollbacks_Phase3");
        runPhase("testPreviouslyAbandonedRollbacks_Phase3_VerifyRollback");
    }

    /**
     * Tests we can enable rollback for a whitelisted app.
     * Tests we can enable rollback for a allowlisted app.
     */
    @Test
    public void testRollbackWhitelistedApp() throws Exception {
    public void testRollbackAllowlistedApp() throws Exception {
        assumeTrue(hasMainlineModule());
        runPhase("testRollbackWhitelistedApp_Phase1");
        runPhase("testRollbackAllowlistedApp_Phase1_Install");
        getDevice().reboot();
        runPhase("testRollbackWhitelistedApp_Phase2");
        runPhase("testRollbackAllowlistedApp_Phase2_VerifyInstall");
    }

    @Test
    public void testRollbackDataPolicy() throws Exception {
        List<String> before = getSnapshotDirectories("/data/misc_ce/0/rollback");

        runPhase("testRollbackDataPolicy_Phase1");
        runPhase("testRollbackDataPolicy_Phase1_Install");
        getDevice().reboot();
        runPhase("testRollbackDataPolicy_Phase2");
        runPhase("testRollbackDataPolicy_Phase2_Rollback");
        getDevice().reboot();
        runPhase("testRollbackDataPolicy_Phase3");
        runPhase("testRollbackDataPolicy_Phase3_VerifyRollback");

        // Verify snapshots are deleted after restoration
        List<String> after = getSnapshotDirectories("/data/misc_ce/0/rollback");
@@ -279,11 +279,11 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
    public void testRollbackApexWithApk() throws Exception {
        getDevice().uninstallPackage("com.android.cts.install.lib.testapp.A");
        pushTestApex();
        runPhase("testRollbackApexWithApk_Phase1");
        runPhase("testRollbackApexWithApk_Phase1_Install");
        getDevice().reboot();
        runPhase("testRollbackApexWithApk_Phase2");
        runPhase("testRollbackApexWithApk_Phase2_Rollback");
        getDevice().reboot();
        runPhase("testRollbackApexWithApk_Phase3");
        runPhase("testRollbackApexWithApk_Phase3_VerifyRollback");
    }

    /**
@@ -295,15 +295,15 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        pushTestApex();

        // Install an apex with apk that crashes
        runPhase("testRollbackApexWithApkCrashing_Phase1");
        runPhase("testRollbackApexWithApkCrashing_Phase1_Install");
        getDevice().reboot();
        // Verify apex was installed and then crash the apk
        runPhase("testRollbackApexWithApkCrashing_Phase2");
        runPhase("testRollbackApexWithApkCrashing_Phase2_Crash");
        // Wait for crash to trigger rollback
        assertThat(getDevice().waitForDeviceNotAvailable(TimeUnit.MINUTES.toMillis(5))).isTrue();
        getDevice().waitForDeviceAvailable();
        // Verify rollback occurred due to crash of apk-in-apex
        runPhase("testRollbackApexWithApkCrashing_Phase3");
        runPhase("testRollbackApexWithApkCrashing_Phase3_VerifyRollback");

        assertThat(mLogger).eventOccurred(ROLLBACK_INITIATE, null, REASON_APP_CRASH, TESTAPP_A);
        assertThat(mLogger).eventOccurred(ROLLBACK_BOOT_TRIGGERED, null, null, null);
@@ -328,7 +328,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        });

        // Install new version of the APEX with rollback enabled
        runPhase("testRollbackApexDataDirectories_Phase1");
        runPhase("testRollbackApexDataDirectories_Phase1_Install");
        getDevice().reboot();

        // Replace files in data directory
@@ -343,7 +343,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        });

        // Roll back the APEX
        runPhase("testRollbackApexDataDirectories_Phase2");
        runPhase("testRollbackApexDataDirectories_Phase2_Rollback");
        getDevice().reboot();

        // Verify that old files have been restored and new files are gone
@@ -382,7 +382,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        });

        // Install new version of the APEX with rollback enabled
        runPhase("testRollbackApexDataDirectories_Phase1");
        runPhase("testRollbackApexDataDirectories_Phase1_Install");
        getDevice().reboot();

        // Replace files in data directory
@@ -398,7 +398,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        });

        // Roll back the APEX
        runPhase("testRollbackApexDataDirectories_Phase2");
        runPhase("testRollbackApexDataDirectories_Phase2_Rollback");
        getDevice().reboot();

        // Verify that old files have been restored and new files are gone
@@ -436,7 +436,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        });

        // Install new version of the APEX with rollback enabled
        runPhase("testRollbackApexDataDirectories_Phase1");
        runPhase("testRollbackApexDataDirectories_Phase1_Install");
        getDevice().reboot();

        // Replace files in data directory
@@ -451,7 +451,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        });

        // Roll back the APEX
        runPhase("testRollbackApexDataDirectories_Phase2");
        runPhase("testRollbackApexDataDirectories_Phase2_Rollback");
        getDevice().reboot();

        // Verify that old files have been restored and new files are gone
@@ -477,7 +477,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
    @Test
    public void testRollbackApkDataDirectories_De() throws Exception {
        // Install version 1 of TESTAPP_A
        runPhase("testRollbackApkDataDirectories_Phase1");
        runPhase("testRollbackApkDataDirectories_Phase1_InstallV1");

        // Push files to apk data directory
        String oldFilePath1 = apkDataDirDe(TESTAPP_A, 0) + "/" + TEST_FILENAME_1;
@@ -488,7 +488,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        });

        // Install version 2 of TESTAPP_A with rollback enabled
        runPhase("testRollbackApkDataDirectories_Phase2");
        runPhase("testRollbackApkDataDirectories_Phase2_InstallV2");
        getDevice().reboot();

        // Replace files in data directory
@@ -502,7 +502,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        });

        // Roll back the APK
        runPhase("testRollbackApkDataDirectories_Phase3");
        runPhase("testRollbackApkDataDirectories_Phase3_Rollback");
        getDevice().reboot();

        // Verify that old files have been restored and new files are gone
@@ -529,7 +529,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        });

        // Install new version of the APEX with rollback enabled
        runPhase("testRollbackApexDataDirectories_Phase1");
        runPhase("testRollbackApexDataDirectories_Phase1_Install");
        getDevice().reboot();

        List<String> after = getSnapshotDirectories("/data/misc_ce/0/apexrollback");
@@ -538,7 +538,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
        // There should be only one /data/misc_ce/0/apexrollback/<rollbackId> created during test
        assertThat(after).hasSize(1);
        // Expire all rollbacks and check CE snapshot directories are deleted
        runPhase("testCleanUp");
        runPhase("expireRollbacks");
        runAsRoot(() -> {
            for (String dir : after) {
                assertThat(getDevice().getFileEntry(dir)).isNull();