diff options
| -rw-r--r-- | tests/net/java/com/android/server/ConnectivityServiceTest.java | 33 |
1 files changed, 9 insertions, 24 deletions
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index 9e7d48fa1011..8a1d2ebbef5d 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -2807,19 +2807,17 @@ public class ConnectivityServiceTest extends AndroidTestCase { NetworkRequest nr = new NetworkRequest.Builder().addTransportType( NetworkCapabilities.TRANSPORT_WIFI).build(); final TestNetworkCallback networkCallback = new TestNetworkCallback(); - final int requestTimeoutMs = 100; + final int requestTimeoutMs = 50; mCm.requestNetwork(nr, networkCallback, requestTimeoutMs); mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); mWiFiNetworkAgent.connect(false); - final int assertTimeoutMs = 150; + final int assertTimeoutMs = 100; networkCallback.expectAvailableCallbacks(mWiFiNetworkAgent, false, assertTimeoutMs); - sleepFor(20); mWiFiNetworkAgent.disconnect(); networkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent); - // pass timeout and validate that UNAVAILABLE is not called - sleepFor(100); + // Validate that UNAVAILABLE is not called networkCallback.assertNoCallback(); } @@ -2846,24 +2844,20 @@ public class ConnectivityServiceTest extends AndroidTestCase { } /** - * Validate that when a network request is unregistered (cancelled) the time-out for that - * request doesn't trigger the onUnavailable() callback. + * Validate that when a network request is unregistered (cancelled), no posterior event can + * trigger the callback. */ @SmallTest - public void testTimedoutAfterUnregisteredNetworkRequest() { + public void testNoCallbackAfterUnregisteredNetworkRequest() { NetworkRequest nr = new NetworkRequest.Builder().addTransportType( NetworkCapabilities.TRANSPORT_WIFI).build(); final TestNetworkCallback networkCallback = new TestNetworkCallback(); final int timeoutMs = 10; - mCm.requestNetwork(nr, networkCallback, timeoutMs); - // remove request + mCm.requestNetwork(nr, networkCallback, timeoutMs); mCm.unregisterNetworkCallback(networkCallback); - - // pass timeout and validate that no callbacks - // Note: doesn't validate that nothing called from CS since even if called the CM already - // unregisters the callback and won't pass it through! - sleepFor(15); + // Regardless of the timeout, unregistering the callback in ConnectivityManager ensures + // that this callback will not be called. networkCallback.assertNoCallback(); // create a network satisfying request - validate that request not triggered @@ -3365,13 +3359,4 @@ public class ConnectivityServiceTest extends AndroidTestCase { assertEquals(String.format("expected array of length %s, but length was %s for %s", expected, length, Arrays.toString(got)), expected, length); } - - /* test utilities */ - // TODO: eliminate all usages of sleepFor and replace by proper timeouts/waitForIdle. - static private void sleepFor(int ms) { - try { - Thread.sleep(ms); - } catch (InterruptedException e) { - } - } } |