Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80bc56bf authored by Hugo Benichi's avatar Hugo Benichi Committed by android-build-merger
Browse files

Merge "ConnectivityServiceTest: eliminate remaining sleep()" am: 66788dc4

am: 2d452e6c

Change-Id: I6426659d9cf84f7e1d142b006ffe69df304f7a91
parents 53e5c05d 2d452e6c
Loading
Loading
Loading
Loading
+9 −24
Original line number Diff line number Diff line
@@ -2774,19 +2774,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();
    }

@@ -2813,24 +2811,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
@@ -3248,13 +3242,4 @@ public class ConnectivityServiceTest extends AndroidTestCase {
            mCm.unregisterNetworkCallback(pendingIntent);
        }
    }

    /* 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) {
        }
    }
}