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

Commit 65a7eeee authored by JW Wang's avatar JW Wang
Browse files

Skip the test if no mainline modules installed

The test failed because we failed to enable rollback for
ModuleMetadataGoogle which is not a module on AOSP builds.

Let's skip the test for builds which have no mainline modules
installed.

Bug: 152721401
Test: atest StagedRollbackTest
Change-Id: Iaf75dea5388e2a751a26f983a79924c4358d4833
parent cb83004e
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -477,4 +477,12 @@ public class StagedRollbackTest {
        StorageManager sm = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
        assertThat(sm.isCheckpointSupported()).isTrue();
    }

    @Test
    public void hasMainlineModule() throws Exception {
        String pkgName = getModuleMetadataPackageName();
        boolean existed =  InstrumentationRegistry.getInstrumentation().getContext()
                .getPackageManager().getModuleInfo(pkgName, 0) != null;
        assertThat(existed).isTrue();
    }
}
+13 −0
Original line number Diff line number Diff line
@@ -243,6 +243,7 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
     */
    @Test
    public void testRollbackWhitelistedApp() throws Exception {
        assumeTrue(hasMainlineModule());
        runPhase("testRollbackWhitelistedApp_Phase1");
        getDevice().reboot();
        runPhase("testRollbackWhitelistedApp_Phase2");
@@ -460,4 +461,16 @@ public class StagedRollbackTest extends BaseHostJUnit4Test {
            return false;
        }
    }

    /**
     * True if this build has mainline modules installed.
     */
    private boolean hasMainlineModule() throws Exception {
        try {
            runPhase("hasMainlineModule");
            return true;
        } catch (AssertionError ignore) {
            return false;
        }
    }
}