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

Commit 9f5e2ceb authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Clean up rollbacks and test apps" into rvc-dev am: babc3025 am: c9d61439

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11716087

Change-Id: If80843e754c5dbe052fef9c465f797fcede34b88
parents 6f6a25d3 c9d61439
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -15,6 +15,12 @@
-->
<configuration description="Runs rollback tests for multiple users">
    <option name="test-suite-tag" value="MultiUserRollbackTest" />
    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
        <option name="run-command" value="pm uninstall com.android.cts.install.lib.testapp.A" />
        <option name="run-command" value="pm uninstall com.android.cts.install.lib.testapp.B" />
        <option name="teardown-command" value="pm uninstall com.android.cts.install.lib.testapp.A" />
        <option name="teardown-command" value="pm uninstall com.android.cts.install.lib.testapp.B" />
    </target_preparer>
    <test class="com.android.tradefed.testtype.HostTest" >
        <option name="class" value="com.android.tests.rollback.host.MultiUserRollbackTest" />
    </test>
+2 −7
Original line number Diff line number Diff line
@@ -40,23 +40,18 @@ public class MultiUserRollbackTest extends BaseHostJUnit4Test {
    private static final long SWITCH_USER_COMPLETED_NUMBER_OF_POLLS = 60;
    private static final long SWITCH_USER_COMPLETED_POLL_INTERVAL_IN_MILLIS = 1000;

    private void cleanUp() throws Exception {
        getDevice().executeShellCommand("pm rollback-app com.android.cts.install.lib.testapp.A");
        getDevice().executeShellCommand("pm uninstall com.android.cts.install.lib.testapp.A");
    }

    @After
    public void tearDown() throws Exception {
        cleanUp();
        removeSecondaryUserIfNecessary();
        runPhaseForUsers("cleanUp", mOriginalUserId);
    }

    @Before
    public void setup() throws Exception {
        cleanUp();
        mOriginalUserId = getDevice().getCurrentUser();
        createAndStartSecondaryUser();
        installPackage("RollbackTest.apk", "--user all");
        runPhaseForUsers("cleanUp", mOriginalUserId);
    }

    @Test
+2 −0
Original line number Diff line number Diff line
@@ -59,12 +59,14 @@ public class NetworkStagedRollbackTest extends BaseHostJUnit4Test {

    @Before
    public void setUp() throws Exception {
        runPhase("cleanUp");
        mLogger.start(getDevice());
    }

    @After
    public void tearDown() throws Exception {
        mLogger.stop();
        runPhase("cleanUp");
    }

    /**
+12 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static com.google.common.truth.Truth.assertThat;

import android.Manifest;
import android.content.rollback.RollbackInfo;
import android.content.rollback.RollbackManager;

import com.android.cts.install.lib.Install;
import com.android.cts.install.lib.InstallUtils;
@@ -53,6 +54,17 @@ public class MultiUserRollbackTest {
        InstallUtils.dropShellPermissionIdentity();
    }

    @Test
    public void cleanUp() {
        RollbackManager rm = RollbackUtils.getRollbackManager();
        rm.getAvailableRollbacks().stream().flatMap(info -> info.getPackages().stream())
                .map(info -> info.getPackageName()).forEach(rm::expireRollbackForPackage);
        rm.getRecentlyCommittedRollbacks().stream().flatMap(info -> info.getPackages().stream())
                .map(info -> info.getPackageName()).forEach(rm::expireRollbackForPackage);
        assertThat(rm.getAvailableRollbacks()).isEmpty();
        assertThat(rm.getRecentlyCommittedRollbacks()).isEmpty();
    }

    @Test
    public void testBasic() throws Exception {
        new RollbackTest().testBasic();
+14 −6
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ package com.android.tests.rollback;
import static com.android.cts.rollback.lib.RollbackInfoSubject.assertThat;
import static com.android.cts.rollback.lib.RollbackUtils.getUniqueRollbackInfoForPackage;

import static com.google.common.truth.Truth.assertThat;

import android.Manifest;
import android.content.ComponentName;
import android.content.Intent;
@@ -90,15 +92,24 @@ public class NetworkStagedRollbackTest {
        InstallUtils.dropShellPermissionIdentity();
    }

    @Test
    public void cleanUp() {
        RollbackManager rm = RollbackUtils.getRollbackManager();
        rm.getAvailableRollbacks().stream().flatMap(info -> info.getPackages().stream())
                .map(info -> info.getPackageName()).forEach(rm::expireRollbackForPackage);
        rm.getRecentlyCommittedRollbacks().stream().flatMap(info -> info.getPackages().stream())
                .map(info -> info.getPackageName()).forEach(rm::expireRollbackForPackage);
        assertThat(rm.getAvailableRollbacks()).isEmpty();
        assertThat(rm.getRecentlyCommittedRollbacks()).isEmpty();
        uninstallNetworkStackPackage();
    }

    @Test
    public void testNetworkFailedRollback_Phase1() throws Exception {
        // Remove available rollbacks and uninstall NetworkStack on /data/
        RollbackManager rm = RollbackUtils.getRollbackManager();
        String networkStack = getNetworkStackPackageName();

        rm.expireRollbackForPackage(networkStack);
        uninstallNetworkStackPackage();

        assertThat(getUniqueRollbackInfoForPackage(rm.getAvailableRollbacks(),
                networkStack)).isNull();

@@ -153,9 +164,6 @@ public class NetworkStagedRollbackTest {
        RollbackManager rm = RollbackUtils.getRollbackManager();
        String networkStack = getNetworkStackPackageName();

        rm.expireRollbackForPackage(networkStack);
        uninstallNetworkStackPackage();

        assertThat(getUniqueRollbackInfoForPackage(rm.getAvailableRollbacks(),
                networkStack)).isNull();

Loading