From 459e28159cc4cf7878b474d2d090d716d0688e1e Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Wed, 13 Sep 2017 17:45:38 -0700 Subject: [PATCH] Fix flaky CtsHostsideNetworkTests. 'set metered-network' adb command is not blocking, it doesn't wait for the network to be marked as metered. Updated test to sleep and poll for metered status. Bug: 64274313 Test: cts-tradefed run singleCommand cts-dev -m CtsHostsideNetworkTests \ -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests Change-Id: Ide3e1633167979bdca912c1c299ad17d988b537e --- .../AbstractRestrictBackgroundNetworkTestCase.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java index 5eaf31b767..b38eb0fa17 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java @@ -612,11 +612,15 @@ abstract class AbstractRestrictBackgroundNetworkTestCase extends Instrumentation NetworkInfo info = null; for (int i = 1; i <= maxTries; i++) { info = mCm.getActiveNetworkInfo(); - if (info != null) { + if (info == null) { + Log.v(TAG, "No active network info on attempt #" + i + + "; sleeping 1s before polling again"); + } else if (mCm.isActiveNetworkMetered() != expected) { + Log.v(TAG, "Wrong metered status for active network " + info + "; expected=" + + expected + "; sleeping 1s before polling again"); + } else { break; } - Log.v(TAG, "No active network info on attempt #" + i - + "; sleeping 1s before polling again"); Thread.sleep(SECOND_IN_MS); } assertNotNull("No active network after " + maxTries + " attempts", info);