From 39ff53ead239cb15ea103d5c04775124e50d7ded 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 Change-Id: I0ee8161fac3b6db7a000ddb0a057cd91a17bd7d5 Merged-In: I91190d8644ff7a7dfaf4fa3f2d43c17f67dfac11 Original-Change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1486780 (cherry picked from commit e2005b0138c088346a15cb256ba2d62d5a047628) --- 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";