From eadb0add66f4107b1f3f7754ac9284d48b4af15e 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. (clean cherry-pick of change in downstream branch history) Original change ID before project move: I38816173b04ea198d99f64f45e9271ac2641e4ac Bug: 184158327 Test: run CtsNetTestCasesLatestSdk on Android R & Q Merged-In: I3c2563d4ae4e3715d0c6270344ba8f7ef067872f Change-Id: Ib0368241771d287c09c0e4463f91122533f85a27 --- .../java/android/net/NetworkCapabilitiesTest.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/common/java/android/net/NetworkCapabilitiesTest.java b/tests/common/java/android/net/NetworkCapabilitiesTest.java index a30d4f1186..9537786055 100644 --- a/tests/common/java/android/net/NetworkCapabilitiesTest.java +++ b/tests/common/java/android/net/NetworkCapabilitiesTest.java @@ -49,6 +49,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; @@ -973,6 +974,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(); @@ -984,7 +990,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)); } } @@ -1001,7 +1007,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 { @@ -1015,12 +1021,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 */); }