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

Commit b9c396b8 authored by Lorenzo Colitti's avatar Lorenzo Colitti Committed by Gerrit Code Review
Browse files

Merge changes I0e6df469,I3d46d5f7

* changes:
  Fix testMobileDataAlwaysOn flakiness
  Speed up NetworkFactory tests.
parents 6ec31401 eca4d908
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -994,10 +994,12 @@ public class ConnectivityServiceTest {
        // Used to collect the networks requests managed by this factory. This is a duplicate of
        // the internal information stored in the NetworkFactory (which is private).
        private SparseArray<NetworkRequest> mNetworkRequests = new SparseArray<>();
        private final HandlerThread mHandlerSendingRequests;

        public MockNetworkFactory(Looper looper, Context context, String logTag,
                NetworkCapabilities filter) {
                NetworkCapabilities filter, HandlerThread threadSendingRequests) {
            super(looper, context, logTag, filter);
            mHandlerSendingRequests = threadSendingRequests;
        }

        public int getMyRequestCount() {
@@ -1051,7 +1053,8 @@ public class ConnectivityServiceTest {
        public void terminate() {
            super.terminate();
            // Make sure there are no remaining requests unaccounted for.
            assertNull(mRequestHistory.poll(TIMEOUT_MS, r -> true));
            HandlerUtils.waitForIdle(mHandlerSendingRequests, TIMEOUT_MS);
            assertNull(mRequestHistory.poll(0, r -> true));
        }

        // Trigger releasing the request as unfulfillable
@@ -2782,7 +2785,7 @@ public class ConnectivityServiceTest {
        final HandlerThread handlerThread = new HandlerThread("testNetworkFactoryRequests");
        handlerThread.start();
        final MockNetworkFactory testFactory = new MockNetworkFactory(handlerThread.getLooper(),
                mServiceContext, "testFactory", filter);
                mServiceContext, "testFactory", filter, mCsHandlerThread);
        testFactory.setScoreFilter(40);
        ConditionVariable cv = testFactory.getNetworkStartedCV();
        testFactory.register();
@@ -2890,7 +2893,7 @@ public class ConnectivityServiceTest {
        // does not crash.
        for (int i = 0; i < 100; i++) {
            final MockNetworkFactory testFactory = new MockNetworkFactory(handlerThread.getLooper(),
                    mServiceContext, "testFactory", filter);
                    mServiceContext, "testFactory", filter, mCsHandlerThread);
            // Register the factory and don't be surprised when the default request arrives.
            testFactory.register();
            testFactory.expectRequestAdd();
@@ -4127,7 +4130,7 @@ public class ConnectivityServiceTest {
                .addTransportType(TRANSPORT_CELLULAR)
                .addCapability(NET_CAPABILITY_INTERNET);
        final MockNetworkFactory testFactory = new MockNetworkFactory(handlerThread.getLooper(),
                mServiceContext, "testFactory", filter);
                mServiceContext, "testFactory", filter, mCsHandlerThread);
        testFactory.setScoreFilter(40);

        // Register the factory and expect it to start looking for a network.
@@ -4175,6 +4178,7 @@ public class ConnectivityServiceTest {
            // ...  and cell data to be torn down after nascent network timeout.
            cellNetworkCallback.expectCallback(CallbackEntry.LOST, mCellNetworkAgent,
                    mService.mNascentDelayMs + TEST_CALLBACK_TIMEOUT_MS);
            waitForIdle();
            assertLength(1, mCm.getAllNetworks());
        } finally {
            testFactory.terminate();
@@ -4474,7 +4478,7 @@ public class ConnectivityServiceTest {
                .addTransportType(TRANSPORT_WIFI)
                .addCapability(NET_CAPABILITY_INTERNET);
        final MockNetworkFactory testFactory = new MockNetworkFactory(handlerThread.getLooper(),
                mServiceContext, "testFactory", filter);
                mServiceContext, "testFactory", filter, mCsHandlerThread);
        testFactory.setScoreFilter(40);

        // Register the factory and expect it to receive the default request.