From b896220cda9c45c950e8b54de2a843e0c613f092 Mon Sep 17 00:00:00 2001 From: Luke Huang Date: Mon, 9 Nov 2020 06:52:52 +0000 Subject: [PATCH] Fix minor bug and deflaky for DnsResolverTest 1. Add the missing countdown() in the test callback 2. Add ensureWifiConnected() to prevent no available network problem. 3. Increase the timeout for awaiting private DNS setting because current one might not be enough. Bug: 168027339 Test atest Merged-In: I91190d8644ff7a7dfaf4fa3f2d43c17f67dfac11 Original-Change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1486780 (cherry picked from commit e2005b0138c088346a15cb256ba2d62d5a047628) Change-Id: Id4ca3a0651b998ce614fe83f52df6362268dc43f --- tests/cts/net/src/android/net/cts/DnsResolverTest.java | 7 +++++++ .../net/util/java/android/net/cts/util/CtsNetUtils.java | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/cts/net/src/android/net/cts/DnsResolverTest.java b/tests/cts/net/src/android/net/cts/DnsResolverTest.java index 4acbbcfbdd..4d95fbe9a9 100644 --- a/tests/cts/net/src/android/net/cts/DnsResolverTest.java +++ b/tests/cts/net/src/android/net/cts/DnsResolverTest.java @@ -28,6 +28,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.content.ContentResolver; +import android.content.pm.PackageManager; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; import android.net.DnsResolver; @@ -91,6 +92,7 @@ public class DnsResolverTest extends AndroidTestCase { private ContentResolver mCR; private ConnectivityManager mCM; + private PackageManager mPackageManager; private CtsNetUtils mCtsNetUtils; private Executor mExecutor; private Executor mExecutorInline; @@ -109,6 +111,7 @@ public class DnsResolverTest extends AndroidTestCase { mCR = getContext().getContentResolver(); mCtsNetUtils = new CtsNetUtils(getContext()); mCtsNetUtils.storePrivateDnsSetting(); + mPackageManager = mContext.getPackageManager(); } @Override @@ -128,6 +131,9 @@ public class DnsResolverTest extends AndroidTestCase { } private Network[] getTestableNetworks() { + if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI)) { + mCtsNetUtils.ensureWifiConnected(); + } final ArrayList testableNetworks = new ArrayList(); for (Network network : mCM.getAllNetworks()) { final NetworkCapabilities nc = mCM.getNetworkCapabilities(network); @@ -555,6 +561,7 @@ public class DnsResolverTest extends AndroidTestCase { @Override public void onError(@NonNull DnsResolver.DnsException error) { mErrorMsg = mMsg + error.getMessage(); + mLatch.countDown(); } } diff --git a/tests/cts/net/util/java/android/net/cts/util/CtsNetUtils.java b/tests/cts/net/util/java/android/net/cts/util/CtsNetUtils.java index be0daae8dc..34c65416b4 100644 --- a/tests/cts/net/util/java/android/net/cts/util/CtsNetUtils.java +++ b/tests/cts/net/util/java/android/net/cts/util/CtsNetUtils.java @@ -84,7 +84,7 @@ public final class CtsNetUtils { private static final int SOCKET_TIMEOUT_MS = 2000; private static final int PRIVATE_DNS_PROBE_MS = 1_000; - private static final int PRIVATE_DNS_SETTING_TIMEOUT_MS = 6_000; + private static final int PRIVATE_DNS_SETTING_TIMEOUT_MS = 10_000; private static final int CONNECTIVITY_CHANGE_TIMEOUT_SECS = 30; public static final int HTTP_PORT = 80; public static final String TEST_HOST = "connectivitycheck.gstatic.com";