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

Commit 1c2eae70 authored by Remi NGUYEN VAN's avatar Remi NGUYEN VAN Committed by android-build-merger
Browse files

Merge "Increase linger delay and test callback timeout" am: 716c04b2 am: b70a2305

am: 9e95f67b

Change-Id: I2a3b3a183cd3f852df98cf55693b9486cc5f4043
parents 83daaf75 9e95f67b
Loading
Loading
Loading
Loading
+16 −22
Original line number Original line Diff line number Diff line
@@ -62,9 +62,7 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.junit.Assert.fail;
import static org.mockito.Matchers.anyBoolean;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.eq;
@@ -85,7 +83,6 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentFilter;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.content.res.Resources;
import android.net.CaptivePortal;
import android.net.CaptivePortal;
import android.net.ConnectivityManager;
import android.net.ConnectivityManager;
@@ -114,7 +111,6 @@ import android.net.NetworkUtils;
import android.net.RouteInfo;
import android.net.RouteInfo;
import android.net.StringNetworkSpecifier;
import android.net.StringNetworkSpecifier;
import android.net.UidRange;
import android.net.UidRange;
import android.net.VpnService;
import android.net.captiveportal.CaptivePortalProbeResult;
import android.net.captiveportal.CaptivePortalProbeResult;
import android.net.metrics.IpConnectivityLog;
import android.net.metrics.IpConnectivityLog;
import android.net.util.MultinetworkPolicyTracker;
import android.net.util.MultinetworkPolicyTracker;
@@ -135,7 +131,6 @@ import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
import android.support.test.runner.AndroidJUnit4;
import android.test.mock.MockContentResolver;
import android.test.mock.MockContentResolver;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.ArraySet;
import android.util.Log;
import android.util.Log;


@@ -196,7 +191,13 @@ public class ConnectivityServiceTest {
    private static final String TAG = "ConnectivityServiceTest";
    private static final String TAG = "ConnectivityServiceTest";


    private static final int TIMEOUT_MS = 500;
    private static final int TIMEOUT_MS = 500;
    private static final int TEST_LINGER_DELAY_MS = 120;
    private static final int TEST_LINGER_DELAY_MS = 250;
    // Chosen to be less than the linger timeout. This ensures that we can distinguish between a
    // LOST callback that arrives immediately and a LOST callback that arrives after the linger
    // timeout. For this, our assertions should run fast enough to leave less than
    // (mService.mLingerDelayMs - TEST_CALLBACK_TIMEOUT_MS) between the time callbacks are
    // supposedly fired, and the time we call expectCallback.
    private final static int TEST_CALLBACK_TIMEOUT_MS = 200;


    private static final String CLAT_PREFIX = "v4-";
    private static final String CLAT_PREFIX = "v4-";
    private static final String MOBILE_IFNAME = "test_rmnet_data0";
    private static final String MOBILE_IFNAME = "test_rmnet_data0";
@@ -1465,13 +1466,6 @@ public class ConnectivityServiceTest {
     * received. assertNoCallback may be called at any time.
     * received. assertNoCallback may be called at any time.
     */
     */
    private class TestNetworkCallback extends NetworkCallback {
    private class TestNetworkCallback extends NetworkCallback {
        // Chosen to be less than the linger timeout. This ensures that we can distinguish
        // between a LOST callback that arrives immediately and a LOST callback that arrives after
        // the linger timeout. For this, our assertions should run fast enough to leave less than
        // (mService.mLingerDelayMs - TIMEOUT_MS) between the time callbacks are supposedly fired,
        // and the time we call expectCallback.
        private final static int TIMEOUT_MS = 100;

        private final LinkedBlockingQueue<CallbackInfo> mCallbacks = new LinkedBlockingQueue<>();
        private final LinkedBlockingQueue<CallbackInfo> mCallbacks = new LinkedBlockingQueue<>();
        private Network mLastAvailableNetwork;
        private Network mLastAvailableNetwork;


@@ -1556,11 +1550,11 @@ public class ConnectivityServiceTest {
        }
        }


        CallbackInfo expectCallback(CallbackState state, MockNetworkAgent agent) {
        CallbackInfo expectCallback(CallbackState state, MockNetworkAgent agent) {
            return expectCallback(state, agent, TIMEOUT_MS);
            return expectCallback(state, agent, TEST_CALLBACK_TIMEOUT_MS);
        }
        }


        CallbackInfo expectCallbackLike(Predicate<CallbackInfo> fn) {
        CallbackInfo expectCallbackLike(Predicate<CallbackInfo> fn) {
            return expectCallbackLike(fn, TIMEOUT_MS);
            return expectCallbackLike(fn, TEST_CALLBACK_TIMEOUT_MS);
        }
        }


        CallbackInfo expectCallbackLike(Predicate<CallbackInfo> fn, int timeoutMs) {
        CallbackInfo expectCallbackLike(Predicate<CallbackInfo> fn, int timeoutMs) {
@@ -1603,15 +1597,15 @@ public class ConnectivityServiceTest {


        // Expects the available callbacks (validated), plus onSuspended.
        // Expects the available callbacks (validated), plus onSuspended.
        void expectAvailableAndSuspendedCallbacks(MockNetworkAgent agent, boolean expectValidated) {
        void expectAvailableAndSuspendedCallbacks(MockNetworkAgent agent, boolean expectValidated) {
            expectAvailableCallbacks(agent, true, expectValidated, TIMEOUT_MS);
            expectAvailableCallbacks(agent, true, expectValidated, TEST_CALLBACK_TIMEOUT_MS);
        }
        }


        void expectAvailableCallbacksValidated(MockNetworkAgent agent) {
        void expectAvailableCallbacksValidated(MockNetworkAgent agent) {
            expectAvailableCallbacks(agent, false, true, TIMEOUT_MS);
            expectAvailableCallbacks(agent, false, true, TEST_CALLBACK_TIMEOUT_MS);
        }
        }


        void expectAvailableCallbacksUnvalidated(MockNetworkAgent agent) {
        void expectAvailableCallbacksUnvalidated(MockNetworkAgent agent) {
            expectAvailableCallbacks(agent, false, false, TIMEOUT_MS);
            expectAvailableCallbacks(agent, false, false, TEST_CALLBACK_TIMEOUT_MS);
        }
        }


        // Expects the available callbacks (where the onCapabilitiesChanged must contain the
        // Expects the available callbacks (where the onCapabilitiesChanged must contain the
@@ -1619,9 +1613,9 @@ public class ConnectivityServiceTest {
        // one we just sent.
        // one we just sent.
        // TODO: this is likely a bug. Fix it and remove this method.
        // TODO: this is likely a bug. Fix it and remove this method.
        void expectAvailableDoubleValidatedCallbacks(MockNetworkAgent agent) {
        void expectAvailableDoubleValidatedCallbacks(MockNetworkAgent agent) {
            expectCallback(CallbackState.AVAILABLE, agent, TIMEOUT_MS);
            expectCallback(CallbackState.AVAILABLE, agent, TEST_CALLBACK_TIMEOUT_MS);
            NetworkCapabilities nc1 = expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, agent);
            NetworkCapabilities nc1 = expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, agent);
            expectCallback(CallbackState.LINK_PROPERTIES, agent, TIMEOUT_MS);
            expectCallback(CallbackState.LINK_PROPERTIES, agent, TEST_CALLBACK_TIMEOUT_MS);
            NetworkCapabilities nc2 = expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, agent);
            NetworkCapabilities nc2 = expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, agent);
            assertEquals(nc1, nc2);
            assertEquals(nc1, nc2);
        }
        }
@@ -1635,7 +1629,7 @@ public class ConnectivityServiceTest {
        }
        }


        NetworkCapabilities expectCapabilitiesWith(int capability, MockNetworkAgent agent) {
        NetworkCapabilities expectCapabilitiesWith(int capability, MockNetworkAgent agent) {
            return expectCapabilitiesWith(capability, agent, TIMEOUT_MS);
            return expectCapabilitiesWith(capability, agent, TEST_CALLBACK_TIMEOUT_MS);
        }
        }


        NetworkCapabilities expectCapabilitiesWith(int capability, MockNetworkAgent agent,
        NetworkCapabilities expectCapabilitiesWith(int capability, MockNetworkAgent agent,
@@ -1647,7 +1641,7 @@ public class ConnectivityServiceTest {
        }
        }


        NetworkCapabilities expectCapabilitiesWithout(int capability, MockNetworkAgent agent) {
        NetworkCapabilities expectCapabilitiesWithout(int capability, MockNetworkAgent agent) {
            return expectCapabilitiesWithout(capability, agent, TIMEOUT_MS);
            return expectCapabilitiesWithout(capability, agent, TEST_CALLBACK_TIMEOUT_MS);
        }
        }


        NetworkCapabilities expectCapabilitiesWithout(int capability, MockNetworkAgent agent,
        NetworkCapabilities expectCapabilitiesWithout(int capability, MockNetworkAgent agent,