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: I91190d8644ff7a7dfaf4fa3f2d43c17f67dfac11
diff --git a/tests/cts/net/src/android/net/cts/DnsResolverTest.java b/tests/cts/net/src/android/net/cts/DnsResolverTest.java
index 4acbbcf..4d95fbe 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.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 @@
private ContentResolver mCR;
private ConnectivityManager mCM;
+ private PackageManager mPackageManager;
private CtsNetUtils mCtsNetUtils;
private Executor mExecutor;
private Executor mExecutorInline;
@@ -109,6 +111,7 @@
mCR = getContext().getContentResolver();
mCtsNetUtils = new CtsNetUtils(getContext());
mCtsNetUtils.storePrivateDnsSetting();
+ mPackageManager = mContext.getPackageManager();
}
@Override
@@ -128,6 +131,9 @@
}
private Network[] getTestableNetworks() {
+ if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI)) {
+ mCtsNetUtils.ensureWifiConnected();
+ }
final ArrayList<Network> testableNetworks = new ArrayList<Network>();
for (Network network : mCM.getAllNetworks()) {
final NetworkCapabilities nc = mCM.getNetworkCapabilities(network);
@@ -555,6 +561,7 @@
@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 be0daae..34c6541 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 @@
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";