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

Commit a67139f8 authored by João Victor Mendes Freire's avatar João Victor Mendes Freire
Browse files

Add new version of startUser performance test

Similar to what was done for switchUser, this commit adds a new version
of the startUser test. In this variation, a wait for cool down was added
in between iterations.

Bug: 261621873
Test: atest UserLifecycleTests#startUser_realistic
Change-Id: Ia4ff7ed2df7b209175185794eac0cb17630ddc9e
parent f45b9cae
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -224,6 +224,32 @@ public class UserLifecycleTests {
        }
    }

    /**
     * Tests starting an uninitialized user, with wait times in between iterations.
     * Measures the time until ACTION_USER_STARTED is received.
     */
    @Test(timeout = TIMEOUT_MAX_TEST_TIME_MS)
    public void startUser_realistic() throws RemoteException {
        while (mRunner.keepRunning()) {
            mRunner.pauseTiming();
            final int userId = createUserNoFlags();

            waitForBroadcastIdle();
            runThenWaitForBroadcasts(userId, () -> {
                mRunner.resumeTiming();
                Log.i(TAG, "Starting timer");

                mIam.startUserInBackground(userId);
            }, Intent.ACTION_USER_STARTED);

            mRunner.pauseTiming();
            Log.i(TAG, "Stopping timer");
            removeUser(userId);
            waitCoolDownPeriod();
            mRunner.resumeTimingForNextIteration();
        }
    }

    /**
     * Tests starting & unlocking an uninitialized user.
     * Measures the time until unlock listener is triggered and user is unlocked.