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 e2005b0138)
Change-Id: Id4ca3a0651b998ce614fe83f52df6362268dc43f
This commit is contained in:
Luke Huang
2020-11-09 06:52:52 +00:00
committed by Baligh Uddin
parent d59fc536de
commit b896220cda
2 changed files with 8 additions and 1 deletions

View File

@@ -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<Network> testableNetworks = new ArrayList<Network>();
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();
}
}

View File

@@ -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";