From 6eb0f68b0b525e05e1804881cf2e8a12a2232734 Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Thu, 18 May 2023 13:40:57 -0700 Subject: [PATCH] Explicitly add "flush-broadcast-loopers" option. Recently, flushing the broadcast loopers behavior, when "wait-for-broadcast-barrier" command is invoked, is made optional which resulted in some regressions in multi-user tests as they same to be relying on flushing the broadcast loopers behavior. So, explicitly add this option when invoking the command. Bug: 282848750 Test: atest android.multiuser.UserLifecycleTests Change-Id: I6ba4e0858a63653b731c7a24b600ce9af758d39c --- .../multiuser/src/android/multiuser/BenchmarkRunner.java | 4 ++-- .../multiuser/src/android/multiuser/UserLifecycleTests.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/BenchmarkRunner.java b/apct-tests/perftests/multiuser/src/android/multiuser/BenchmarkRunner.java index a9f720ac2ba04..515ddc8d1d490 100644 --- a/apct-tests/perftests/multiuser/src/android/multiuser/BenchmarkRunner.java +++ b/apct-tests/perftests/multiuser/src/android/multiuser/BenchmarkRunner.java @@ -80,7 +80,7 @@ public class BenchmarkRunner { private void prepareForNextRun() { SystemClock.sleep(COOL_OFF_PERIOD_MS); - ShellHelper.runShellCommand("am wait-for-broadcast-idle"); + ShellHelper.runShellCommand("am wait-for-broadcast-idle --flush-broadcast-loopers"); mStartTimeNs = System.nanoTime(); mPausedDurationNs = 0; } @@ -102,7 +102,7 @@ public class BenchmarkRunner { * to avoid unnecessary waiting. */ public void resumeTiming() { - ShellHelper.runShellCommand("am wait-for-broadcast-idle"); + ShellHelper.runShellCommand("am wait-for-broadcast-idle --flush-broadcast-loopers"); resumeTimer(); } diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java index 19a47669b0dd6..6dba5b3517f72 100644 --- a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java +++ b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java @@ -1541,7 +1541,8 @@ public class UserLifecycleTests { private void waitForBroadcastIdle() { try { - ShellHelper.runShellCommandWithTimeout("am wait-for-broadcast-idle", TIMEOUT_IN_SECOND); + ShellHelper.runShellCommandWithTimeout( + "am wait-for-broadcast-idle --flush-broadcast-loopers", TIMEOUT_IN_SECOND); } catch (TimeoutException e) { Log.e(TAG, "Ending waitForBroadcastIdle because it is taking too long", e); }