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

Commit 822a3c80 authored by lucaslin's avatar lucaslin Committed by Lucas Lin
Browse files

Add version check to prevent test fail on Android Q

Include androidx.core_core for androidx.core.os.BuildCompat.

Bug: 151293251
Test: atest CtsNetTestCasesLatestSdk:android.net.NetworkCapabilitiesTest
Change-Id: I73ef7eececec757a6e9683b231bf73fcd8d49f8d
parent 14906e7a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ java_library {
    name: "FrameworksNetCommonTests",
    srcs: ["java/**/*.java", "java/**/*.kt"],
    static_libs: [
        "androidx.core_core",
        "androidx.test.rules",
        "junit",
        "mockito-target-minus-junit4",
+25 −5
Original line number Diff line number Diff line
@@ -48,9 +48,11 @@ import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import android.os.Build;
import android.test.suitebuilder.annotation.SmallTest;
import android.util.ArraySet;

import androidx.core.os.BuildCompat;
import androidx.test.runner.AndroidJUnit4;

import org.junit.Test;
@@ -64,6 +66,13 @@ public class NetworkCapabilitiesTest {
    private static final String TEST_SSID = "TEST_SSID";
    private static final String DIFFERENT_TEST_SSID = "DIFFERENT_TEST_SSID";

    private boolean isAtLeastR() {
        // BuildCompat.isAtLeastR() is used to check the Android version before releasing Android R.
        // Build.VERSION.SDK_INT > Build.VERSION_CODES.Q is used to check the Android version after
        // releasing Android R.
        return BuildCompat.isAtLeastR() || Build.VERSION.SDK_INT > Build.VERSION_CODES.Q;
    }

    @Test
    public void testMaybeMarkCapabilitiesRestricted() {
        // verify EIMS is restricted
@@ -269,25 +278,36 @@ public class NetworkCapabilitiesTest {
            .setUids(uids)
            .addCapability(NET_CAPABILITY_EIMS)
            .addCapability(NET_CAPABILITY_NOT_METERED);
        if (isAtLeastR()) {
            netCap.setOwnerUid(123);
        }
        assertParcelingIsLossless(netCap);
        netCap.setSSID(TEST_SSID);
        assertParcelSane(netCap, 15);
        testParcelSane(netCap);
    }

    @Test
    public void testParcelNetworkCapabilitiesWithRequestorUidAndPackageName() {
        final NetworkCapabilities netCap = new NetworkCapabilities()
                .addCapability(NET_CAPABILITY_INTERNET)
                .setRequestorUid(9304)
                .setRequestorPackageName("com.android.test")
                .addCapability(NET_CAPABILITY_EIMS)
                .addCapability(NET_CAPABILITY_NOT_METERED);
        if (isAtLeastR()) {
            netCap.setRequestorPackageName("com.android.test");
            netCap.setRequestorUid(9304);
        }
        assertParcelingIsLossless(netCap);
        netCap.setSSID(TEST_SSID);
        assertParcelSane(netCap, 15);
        testParcelSane(netCap);
    }

    private void testParcelSane(NetworkCapabilities cap) {
        if (isAtLeastR()) {
            assertParcelSane(cap, 15);
        } else {
            assertParcelSane(cap, 11);
        }
    }

    @Test
    public void testOemPaid() {