From 9e90c02511df7f7231be5016037e5a859d175783 Mon Sep 17 00:00:00 2001 From: lucaslin Date: Thu, 12 Mar 2020 19:47:37 +0800 Subject: [PATCH] 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 --- tests/net/common/Android.bp | 1 + .../android/net/NetworkCapabilitiesTest.java | 30 +++++++++++++++---- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/tests/net/common/Android.bp b/tests/net/common/Android.bp index e44d46088c..46d680fc45 100644 --- a/tests/net/common/Android.bp +++ b/tests/net/common/Android.bp @@ -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", diff --git a/tests/net/common/java/android/net/NetworkCapabilitiesTest.java b/tests/net/common/java/android/net/NetworkCapabilitiesTest.java index efea91ab91..9fe1883010 100644 --- a/tests/net/common/java/android/net/NetworkCapabilitiesTest.java +++ b/tests/net/common/java/android/net/NetworkCapabilitiesTest.java @@ -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); - netCap.setOwnerUid(123); + 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() {