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
This commit is contained in:
João Victor Mendes Freire
2023-01-05 18:14:20 +00:00
parent f45b9cae4b
commit a67139f886

View File

@@ -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.