Merge "Fix testSetOemNetworkPreferenceForTestOnlyPref flaky" into main

This commit is contained in:
Mark Chien
2023-08-15 08:20:15 +00:00
committed by Gerrit Code Review

View File

@@ -2757,17 +2757,19 @@ public class ConnectivityManagerTest {
final TestableNetworkCallback systemDefaultCallback = new TestableNetworkCallback(); final TestableNetworkCallback systemDefaultCallback = new TestableNetworkCallback();
final Network wifiNetwork = mCtsNetUtils.ensureWifiConnected(); final Network wifiNetwork = mCtsNetUtils.ensureWifiConnected();
final Network testNetwork = tnt.getNetwork();
testAndCleanup(() -> { testAndCleanup(() -> {
setOemNetworkPreferenceForMyPackage( setOemNetworkPreferenceForMyPackage(
OemNetworkPreferences.OEM_NETWORK_PREFERENCE_TEST_ONLY); OemNetworkPreferences.OEM_NETWORK_PREFERENCE_TEST_ONLY);
registerTestOemNetworkPreferenceCallbacks(defaultCallback, systemDefaultCallback); registerTestOemNetworkPreferenceCallbacks(defaultCallback, systemDefaultCallback);
waitForAvailable(defaultCallback, tnt.getNetwork()); waitForAvailable(defaultCallback, testNetwork);
systemDefaultCallback.eventuallyExpect(CallbackEntry.AVAILABLE, systemDefaultCallback.eventuallyExpect(CallbackEntry.AVAILABLE,
NETWORK_CALLBACK_TIMEOUT_MS, cb -> wifiNetwork.equals(cb.getNetwork())); NETWORK_CALLBACK_TIMEOUT_MS, cb -> wifiNetwork.equals(cb.getNetwork()));
}, /* cleanup */ () -> { }, /* cleanup */ () -> {
runWithShellPermissionIdentity(tnt::teardown); runWithShellPermissionIdentity(tnt::teardown);
defaultCallback.expect(CallbackEntry.LOST, tnt, NETWORK_CALLBACK_TIMEOUT_MS); defaultCallback.eventuallyExpect(CallbackEntry.LOST, NETWORK_CALLBACK_TIMEOUT_MS,
cb -> testNetwork.equals(cb.getNetwork()));
// This network preference should only ever use the test network therefore available // This network preference should only ever use the test network therefore available
// should not trigger when the test network goes down (e.g. switch to cellular). // should not trigger when the test network goes down (e.g. switch to cellular).