Fix testTetheringUpstream flaky
testTetheringUpstream test case need cellular network. So it disable wifi and getActiveNetwork to check whether current network is cellular. But there is a race that call getActiveNetwork right away after disconnect wifi. getActiveNetwork may return null because switching network is not ready yet. Bug: 156314879 Test: atest CtsTetheringTest Merged-In: I6b433560fb27a3b4bd80c4198ccdb58a5be701b6 Change-Id: I6b433560fb27a3b4bd80c4198ccdb58a5be701b6
This commit is contained in:
committed by
Mark Chien
parent
3eeb88d3b0
commit
994edc463e
@@ -56,6 +56,7 @@ import android.net.TetheringManager.TetheringEventCallback;
|
||||
import android.net.TetheringManager.TetheringInterfaceRegexps;
|
||||
import android.net.TetheringManager.TetheringRequest;
|
||||
import android.net.cts.util.CtsNetUtils;
|
||||
import android.net.cts.util.CtsNetUtils.TestNetworkCallback;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.PersistableBundle;
|
||||
@@ -714,7 +715,15 @@ public class TetheringManagerTest {
|
||||
mCtsNetUtils.disconnectFromWifi(null);
|
||||
}
|
||||
|
||||
final Network activeNetwork = mCm.getActiveNetwork();
|
||||
final TestNetworkCallback networkCallback = new TestNetworkCallback();
|
||||
Network activeNetwork = null;
|
||||
try {
|
||||
mCm.registerDefaultNetworkCallback(networkCallback);
|
||||
activeNetwork = networkCallback.waitForAvailable();
|
||||
} finally {
|
||||
mCm.unregisterNetworkCallback(networkCallback);
|
||||
}
|
||||
|
||||
assertNotNull("No active network. Please ensure the device has working mobile data.",
|
||||
activeNetwork);
|
||||
final NetworkCapabilities activeNetCap = mCm.getNetworkCapabilities(activeNetwork);
|
||||
|
||||
Reference in New Issue
Block a user