diff options
| author | 2017-07-04 11:41:37 +0000 | |
|---|---|---|
| committer | 2017-07-04 11:41:37 +0000 | |
| commit | d5e3d66e0745dd144b507e2b92338b980003a87d (patch) | |
| tree | 2555faecac7d19b17003dcb8a5846be2662f9fcb | |
| parent | 52c32391812a7632fa3a33ad5a5920ce29e950d2 (diff) | |
| parent | a3909e0583eb37946305b1d39c44e6b11503386a (diff) | |
Merge "Revert "ConnectivityServiceTest: eliminate remaining sleep()"" am: 1e3624527b am: 962f1842ca
am: a3909e0583
Change-Id: I8ecc2290d58b9e8f570ec404bbde1a2a60a89b75
| -rw-r--r-- | tests/net/java/com/android/server/ConnectivityServiceTest.java | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index 8a1d2ebbef5d..9e7d48fa1011 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -2807,17 +2807,19 @@ public class ConnectivityServiceTest extends AndroidTestCase { NetworkRequest nr = new NetworkRequest.Builder().addTransportType( NetworkCapabilities.TRANSPORT_WIFI).build(); final TestNetworkCallback networkCallback = new TestNetworkCallback(); - final int requestTimeoutMs = 50; + final int requestTimeoutMs = 100; mCm.requestNetwork(nr, networkCallback, requestTimeoutMs); mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI); mWiFiNetworkAgent.connect(false); - final int assertTimeoutMs = 100; + final int assertTimeoutMs = 150; networkCallback.expectAvailableCallbacks(mWiFiNetworkAgent, false, assertTimeoutMs); + sleepFor(20); mWiFiNetworkAgent.disconnect(); networkCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent); - // Validate that UNAVAILABLE is not called + // pass timeout and validate that UNAVAILABLE is not called + sleepFor(100); networkCallback.assertNoCallback(); } @@ -2844,20 +2846,24 @@ public class ConnectivityServiceTest extends AndroidTestCase { } /** - * Validate that when a network request is unregistered (cancelled), no posterior event can - * trigger the callback. + * Validate that when a network request is unregistered (cancelled) the time-out for that + * request doesn't trigger the onUnavailable() callback. */ @SmallTest - public void testNoCallbackAfterUnregisteredNetworkRequest() { + public void testTimedoutAfterUnregisteredNetworkRequest() { 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.unregisterNetworkCallback(networkCallback); - // Regardless of the timeout, unregistering the callback in ConnectivityManager ensures - // that this callback will not be called. + + // 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); networkCallback.assertNoCallback(); // create a network satisfying request - validate that request not triggered @@ -3359,4 +3365,13 @@ 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) { + } + } } |