Loading tests/net/java/com/android/server/ConnectivityServiceTest.java +17 −5 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.BooleanSupplier; /** * Tests for {@link ConnectivityService}. Loading Loading @@ -623,7 +624,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { } private class WrappedAvoidBadWifiTracker extends AvoidBadWifiTracker { public boolean configRestrictsAvoidBadWifi; public volatile boolean configRestrictsAvoidBadWifi; public WrappedAvoidBadWifiTracker(Context c, Handler h, Runnable r) { super(c, h, r); Loading Loading @@ -2166,7 +2167,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { tracker.reevaluate(); mService.waitForIdle(); String msg = String.format("config=false, setting=%s", values[i]); assertTrue(msg, mService.avoidBadWifi()); assertEventuallyTrue(() -> mService.avoidBadWifi(), 50); assertFalse(msg, tracker.shouldNotifyWifiUnvalidated()); } Loading @@ -2175,19 +2176,19 @@ public class ConnectivityServiceTest extends AndroidTestCase { Settings.Global.putInt(cr, settingName, 0); tracker.reevaluate(); mService.waitForIdle(); assertFalse(mService.avoidBadWifi()); assertEventuallyTrue(() -> !mService.avoidBadWifi(), 50); assertFalse(tracker.shouldNotifyWifiUnvalidated()); Settings.Global.putInt(cr, settingName, 1); tracker.reevaluate(); mService.waitForIdle(); assertTrue(mService.avoidBadWifi()); assertEventuallyTrue(() -> mService.avoidBadWifi(), 50); assertFalse(tracker.shouldNotifyWifiUnvalidated()); Settings.Global.putString(cr, settingName, null); tracker.reevaluate(); mService.waitForIdle(); assertFalse(mService.avoidBadWifi()); assertEventuallyTrue(() -> !mService.avoidBadWifi(), 50); assertTrue(tracker.shouldNotifyWifiUnvalidated()); } Loading Loading @@ -2404,6 +2405,17 @@ public class ConnectivityServiceTest extends AndroidTestCase { networkCallback.assertNoCallback(); } public void assertEventuallyTrue(BooleanSupplier fn, long maxWaitingTimeMs) throws Exception { long start = SystemClock.elapsedRealtime(); while (SystemClock.elapsedRealtime() <= start + maxWaitingTimeMs) { if (fn.getAsBoolean()) { return; } Thread.sleep(10); } assertTrue(fn.getAsBoolean()); } private static class TestKeepaliveCallback extends PacketKeepaliveCallback { public static enum CallbackType { ON_STARTED, ON_STOPPED, ON_ERROR }; Loading Loading
tests/net/java/com/android/server/ConnectivityServiceTest.java +17 −5 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.BooleanSupplier; /** * Tests for {@link ConnectivityService}. Loading Loading @@ -623,7 +624,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { } private class WrappedAvoidBadWifiTracker extends AvoidBadWifiTracker { public boolean configRestrictsAvoidBadWifi; public volatile boolean configRestrictsAvoidBadWifi; public WrappedAvoidBadWifiTracker(Context c, Handler h, Runnable r) { super(c, h, r); Loading Loading @@ -2166,7 +2167,7 @@ public class ConnectivityServiceTest extends AndroidTestCase { tracker.reevaluate(); mService.waitForIdle(); String msg = String.format("config=false, setting=%s", values[i]); assertTrue(msg, mService.avoidBadWifi()); assertEventuallyTrue(() -> mService.avoidBadWifi(), 50); assertFalse(msg, tracker.shouldNotifyWifiUnvalidated()); } Loading @@ -2175,19 +2176,19 @@ public class ConnectivityServiceTest extends AndroidTestCase { Settings.Global.putInt(cr, settingName, 0); tracker.reevaluate(); mService.waitForIdle(); assertFalse(mService.avoidBadWifi()); assertEventuallyTrue(() -> !mService.avoidBadWifi(), 50); assertFalse(tracker.shouldNotifyWifiUnvalidated()); Settings.Global.putInt(cr, settingName, 1); tracker.reevaluate(); mService.waitForIdle(); assertTrue(mService.avoidBadWifi()); assertEventuallyTrue(() -> mService.avoidBadWifi(), 50); assertFalse(tracker.shouldNotifyWifiUnvalidated()); Settings.Global.putString(cr, settingName, null); tracker.reevaluate(); mService.waitForIdle(); assertFalse(mService.avoidBadWifi()); assertEventuallyTrue(() -> !mService.avoidBadWifi(), 50); assertTrue(tracker.shouldNotifyWifiUnvalidated()); } Loading Loading @@ -2404,6 +2405,17 @@ public class ConnectivityServiceTest extends AndroidTestCase { networkCallback.assertNoCallback(); } public void assertEventuallyTrue(BooleanSupplier fn, long maxWaitingTimeMs) throws Exception { long start = SystemClock.elapsedRealtime(); while (SystemClock.elapsedRealtime() <= start + maxWaitingTimeMs) { if (fn.getAsBoolean()) { return; } Thread.sleep(10); } assertTrue(fn.getAsBoolean()); } private static class TestKeepaliveCallback extends PacketKeepaliveCallback { public static enum CallbackType { ON_STARTED, ON_STOPPED, ON_ERROR }; Loading