From 3addf0d1770c802b2c5021881d70b0b4e7fd0888 Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Fri, 14 Aug 2020 16:53:03 +0900 Subject: [PATCH] Run validation tests even with an eth interface The test actually does not need the ethernet interface to be the only ethernet interface, as ethernet test interfaces now have TRANSPORT_TEST|TRANSPORT_ETHERNET, which can be used to differentiate them in the network request. Bug: 162469293 Bug: 160612321 Test: atest CtsNetTestCasesLatestSdk:NetworkValidationTest Change-Id: I84cc8b6b9aaa764705d91ed298655d869c4388a6 Merged-In: I84cc8b6b9aaa764705d91ed298655d869c4388a6 --- .../net/src/android/net/cts/CaptivePortalApiTest.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/cts/net/src/android/net/cts/CaptivePortalApiTest.kt b/tests/cts/net/src/android/net/cts/CaptivePortalApiTest.kt index ef2b0cee2f..99fcd4c95d 100644 --- a/tests/cts/net/src/android/net/cts/CaptivePortalApiTest.kt +++ b/tests/cts/net/src/android/net/cts/CaptivePortalApiTest.kt @@ -19,12 +19,14 @@ package android.net.cts import android.Manifest.permission.MANAGE_TEST_NETWORKS import android.Manifest.permission.NETWORK_SETTINGS import android.content.Context +import android.content.pm.PackageManager import android.net.ConnectivityManager import android.net.EthernetManager import android.net.InetAddresses import android.net.NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL import android.net.NetworkCapabilities.NET_CAPABILITY_TRUSTED import android.net.NetworkCapabilities.TRANSPORT_ETHERNET +import android.net.NetworkCapabilities.TRANSPORT_TEST import android.net.NetworkRequest import android.net.TestNetworkInterface import android.net.TestNetworkManager @@ -54,6 +56,7 @@ import com.android.testutils.TestableNetworkCallback import fi.iki.elonen.NanoHTTPD import org.junit.After import org.junit.Assume.assumeFalse +import org.junit.Assume.assumeTrue import org.junit.Before import org.junit.Rule import org.junit.Test @@ -96,7 +99,8 @@ class CaptivePortalApiTest { private val ethRequest = NetworkRequest.Builder() // ETHERNET|TEST transport networks do not have NET_CAPABILITY_TRUSTED .removeCapability(NET_CAPABILITY_TRUSTED) - .addTransportType(TRANSPORT_ETHERNET).build() + .addTransportType(TRANSPORT_ETHERNET) + .addTransportType(TRANSPORT_TEST).build() private val ethRequestCb = TestableNetworkCallback() private lateinit var iface: TestNetworkInterface @@ -107,9 +111,10 @@ class CaptivePortalApiTest { @Before fun setUp() { - // This test requires using a tap interface as the default ethernet interface: skip if there - // is already an ethernet interface connected. - testSkipped = eth.isAvailable() + // This test requires using a tap interface as an ethernet interface. + val pm = context.getPackageManager() + testSkipped = !pm.hasSystemFeature(PackageManager.FEATURE_ETHERNET) && + context.getSystemService(EthernetManager::class.java) == null assumeFalse(testSkipped) // Register a request so the network does not get torn down