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

Commit 236e0f30 authored by Jeff Vander Stoep's avatar Jeff Vander Stoep
Browse files

Speed up and reenable test for b/141603906

Test time goes from 90s on blueline down to 23s by
multithreading and reducing the number of iterations.

Test: InetDiagSocketTest
Change-Id: I2dec7de80c0b731e64a8328ba01c4ed7fb198240
parent 4b5bcc1c
Loading
Loading
Loading
Loading
+18 −4
Original line number Diff line number Diff line
@@ -45,7 +45,6 @@ import androidx.test.runner.AndroidJUnit4;
import libcore.util.HexEncoding;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;

@@ -201,15 +200,30 @@ public class InetDiagSocketTest {
        checkGetConnectionOwnerUid("::1", "::1");
    }

    @Ignore("Times out on Marlin/Sailfish")
    /* Verify fix for b/141603906 */
    @Test
    public void testB141603906() throws Exception {
        final InetSocketAddress src = new InetSocketAddress(0);
        final InetSocketAddress dst = new InetSocketAddress(0);
        for (int i = 1; i <= 100000; i++) {
        final int numThreads = 8;
        final int numSockets = 5000;
        final Thread[] threads = new Thread[numThreads];

        for (int i = 0; i < numThreads; i++) {
            threads[i] = new Thread(() -> {
                for (int j = 0; j < numSockets; j++) {
                    mCm.getConnectionOwnerUid(IPPROTO_TCP, src, dst);
                }
            });
        }

        for (Thread thread : threads) {
            thread.start();
        }

        for (Thread thread : threads) {
            thread.join();
        }
    }

    // Hexadecimal representation of InetDiagReqV2 request.