diff options
author | Fyodor Kupolov <fkupolov@google.com> | 2017-10-05 12:46:21 -0700 |
---|---|---|
committer | Fyodor Kupolov <fkupolov@google.com> | 2017-10-05 14:26:00 -0700 |
commit | 3de2b2e14e3af98cbaf0951ef5c786885d9b9d68 (patch) | |
tree | dccdc1c92c6465ad3258b352cc0c0d5121ce8491 /apct-tests | |
parent | 3aa4caab6042f3270fb7b06ecdd709eb7a68e4c6 (diff) |
Wait for broadcast queue to become idle between test runs
Test: bit MultiUserPerfTests:android.multiuser.UserLifecycleTests
Bug: 64165549
Change-Id: I593885d737fab1ef717a166f6219129809ccfd99
Diffstat (limited to 'apct-tests')
-rw-r--r-- | apct-tests/perftests/multiuser/Android.mk | 3 | ||||
-rw-r--r-- | apct-tests/perftests/multiuser/src/android/multiuser/BenchmarkRunner.java | 13 |
2 files changed, 12 insertions, 4 deletions
diff --git a/apct-tests/perftests/multiuser/Android.mk b/apct-tests/perftests/multiuser/Android.mk index e3f7775383bd..2db0dd65b05f 100644 --- a/apct-tests/perftests/multiuser/Android.mk +++ b/apct-tests/perftests/multiuser/Android.mk @@ -20,7 +20,8 @@ LOCAL_MODULE_TAGS := tests LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_STATIC_JAVA_LIBRARIES := \ - android-support-test + android-support-test \ + ub-uiautomator LOCAL_PACKAGE_NAME := MultiUserPerfTests diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/BenchmarkRunner.java b/apct-tests/perftests/multiuser/src/android/multiuser/BenchmarkRunner.java index c7bebf3847fe..629e6f453824 100644 --- a/apct-tests/perftests/multiuser/src/android/multiuser/BenchmarkRunner.java +++ b/apct-tests/perftests/multiuser/src/android/multiuser/BenchmarkRunner.java @@ -17,13 +17,16 @@ package android.multiuser; import android.os.Bundle; import android.os.SystemClock; +import android.support.test.InstrumentationRegistry; +import android.support.test.uiautomator.UiDevice; +import java.io.IOException; import java.util.ArrayList; // Based on //platform/frameworks/base/apct-tests/perftests/utils/BenchmarkState.java public class BenchmarkRunner { - private static long COOL_OFF_PERIOD_MS = 2000; + private static final long COOL_OFF_PERIOD_MS = 1000; private static final int NUM_ITERATIONS = 4; @@ -70,9 +73,13 @@ public class BenchmarkRunner { } private void prepareForNextRun() { - // TODO: Once http://b/63115387 is fixed, look into using "am wait-for-broadcast-idle" - // command instead of waiting for a fixed amount of time. SystemClock.sleep(COOL_OFF_PERIOD_MS); + try { + UiDevice.getInstance(InstrumentationRegistry.getInstrumentation()) + .executeShellCommand("am wait-for-broadcast-idle"); + } catch (IOException e) { + throw new IllegalStateException("Cannot execute shell command", e); + } mStartTimeNs = System.nanoTime(); mPausedDurationNs = 0; } |