From fa8dbc5da785e3fbd634c9e8cdc088d4ab7906d9 Mon Sep 17 00:00:00 2001 From: steven_fann Date: Mon, 13 Sep 2021 10:57:32 +0800 Subject: [PATCH] Support wifi and ethernet connection for DnsResolverTest. Issue: 199675828 Test: atest CtsNetTestCases:android.net.cts.DnsResolverTest Change-Id: Ie1c7522426314ccc83008b75f90a57f3a53339d4 --- .../net/src/android/net/cts/DnsResolverTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/cts/net/src/android/net/cts/DnsResolverTest.java b/tests/cts/net/src/android/net/cts/DnsResolverTest.java index 4d95fbe9a9..22168b38f8 100644 --- a/tests/cts/net/src/android/net/cts/DnsResolverTest.java +++ b/tests/cts/net/src/android/net/cts/DnsResolverTest.java @@ -22,6 +22,7 @@ import static android.net.DnsResolver.FLAG_NO_CACHE_LOOKUP; import static android.net.DnsResolver.TYPE_A; import static android.net.DnsResolver.TYPE_AAAA; import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; +import static android.net.cts.util.CtsNetUtils.TestNetworkCallback; import static android.system.OsConstants.ETIMEDOUT; import android.annotation.NonNull; @@ -100,6 +101,7 @@ public class DnsResolverTest extends AndroidTestCase { private String mOldMode; private String mOldDnsSpecifier; + private TestNetworkCallback mWifiRequestCallback = null; @Override protected void setUp() throws Exception { @@ -117,6 +119,9 @@ public class DnsResolverTest extends AndroidTestCase { @Override protected void tearDown() throws Exception { mCtsNetUtils.restorePrivateDnsSetting(); + if (mWifiRequestCallback != null) { + mCM.unregisterNetworkCallback(mWifiRequestCallback); + } super.tearDown(); } @@ -132,6 +137,14 @@ public class DnsResolverTest extends AndroidTestCase { private Network[] getTestableNetworks() { if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI)) { + // File a NetworkRequest for Wi-Fi, so it connects even if a higher-scoring + // network, such as Ethernet, is already connected. + final NetworkRequest request = new NetworkRequest.Builder() + .addTransportType(NetworkCapabilities.TRANSPORT_WIFI) + .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) + .build(); + mWifiRequestCallback = new TestNetworkCallback(); + mCM.requestNetwork(request, mWifiRequestCallback); mCtsNetUtils.ensureWifiConnected(); } final ArrayList testableNetworks = new ArrayList();