From d8839f4ba5a8df02852ba6bfb148896e5189bd36 Mon Sep 17 00:00:00 2001 From: lucaslin Date: Thu, 1 Apr 2021 18:08:02 +0800 Subject: [PATCH] Ignore checking TRANSPORT_USB when Android version is older than S There is a new transport type - TRANSPORT_USB(8) in Android S, so when the test tries to add this new transport type in older Android version, it cannot pass the transport type validation and make test fail. Bug: 184158327 Test: run CtsNetTestCasesLatestSdk on Android R & Q Change-Id: I38816173b04ea198d99f64f45e9271ac2641e4ac --- .../java/android/net/NetworkCapabilitiesTest.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/net/common/java/android/net/NetworkCapabilitiesTest.java b/tests/net/common/java/android/net/NetworkCapabilitiesTest.java index e7718b546c..6d852bf038 100644 --- a/tests/net/common/java/android/net/NetworkCapabilitiesTest.java +++ b/tests/net/common/java/android/net/NetworkCapabilitiesTest.java @@ -48,6 +48,7 @@ import static android.os.Process.INVALID_UID; import static com.android.modules.utils.build.SdkLevel.isAtLeastR; import static com.android.modules.utils.build.SdkLevel.isAtLeastS; +import static com.android.net.module.util.NetworkCapabilitiesUtils.TRANSPORT_USB; import static com.android.testutils.MiscAsserts.assertEmpty; import static com.android.testutils.MiscAsserts.assertThrows; import static com.android.testutils.ParcelUtils.assertParcelSane; @@ -959,6 +960,11 @@ public class NetworkCapabilitiesTest { assertNotEquals(512, nc.getLinkUpstreamBandwidthKbps()); } + private int getMaxTransport() { + if (!isAtLeastS() && MAX_TRANSPORT == TRANSPORT_USB) return MAX_TRANSPORT - 1; + return MAX_TRANSPORT; + } + @Test public void testSignalStrength() { final NetworkCapabilities nc = new NetworkCapabilities(); @@ -970,7 +976,7 @@ public class NetworkCapabilitiesTest { } private void assertNoTransport(NetworkCapabilities nc) { - for (int i = MIN_TRANSPORT; i <= MAX_TRANSPORT; i++) { + for (int i = MIN_TRANSPORT; i <= getMaxTransport(); i++) { assertFalse(nc.hasTransport(i)); } } @@ -987,7 +993,7 @@ public class NetworkCapabilitiesTest { assertFalse(nc.hasTransport(i)); } } - for (int i = MAX_TRANSPORT; i > maxTransportType; i--) { + for (int i = getMaxTransport(); i > maxTransportType; i--) { if (positiveSequence) { assertFalse(nc.hasTransport(i)); } else { @@ -1001,12 +1007,12 @@ public class NetworkCapabilitiesTest { final NetworkCapabilities nc = new NetworkCapabilities(); assertNoTransport(nc); // Test adding multiple transport types. - for (int i = MIN_TRANSPORT; i <= MAX_TRANSPORT; i++) { + for (int i = MIN_TRANSPORT; i <= getMaxTransport(); i++) { nc.addTransportType(i); checkCurrentTransportTypes(nc, i, true /* positiveSequence */); } // Test removing multiple transport types. - for (int i = MIN_TRANSPORT; i <= MAX_TRANSPORT; i++) { + for (int i = MIN_TRANSPORT; i <= getMaxTransport(); i++) { nc.removeTransportType(i); checkCurrentTransportTypes(nc, i, false /* positiveSequence */); }