From a67139f886cc40fe887f009240be1affedf024fe Mon Sep 17 00:00:00 2001 From: João Victor Mendes Freire Date: Thu, 5 Jan 2023 18:14:20 +0000 Subject: 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 --- .../src/android/multiuser/UserLifecycleTests.java | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java index 3f9b54cb8578..c6e7c3546df5 100644 --- a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java +++ b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java @@ -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. -- cgit v1.2.3-59-g8ed1b