Merge "Fix an issue where OEM pref tests don't clean up correctly"

This commit is contained in:
Jean Chalard
2021-12-13 02:06:38 +00:00
committed by Gerrit Code Review

View File

@@ -2380,7 +2380,7 @@ public class ConnectivityManagerTest {
final String ssid = unquoteSSID(wifiNetworkCapabilities.getSsid()); final String ssid = unquoteSSID(wifiNetworkCapabilities.getSsid());
final boolean oldMeteredValue = wifiNetworkCapabilities.isMetered(); final boolean oldMeteredValue = wifiNetworkCapabilities.isMetered();
try { testAndCleanup(() -> {
// This network will be used for unmetered. Wait for it to be validated because // This network will be used for unmetered. Wait for it to be validated because
// OEM_NETWORK_PREFERENCE_TEST only prefers NOT_METERED&VALIDATED to a network with // OEM_NETWORK_PREFERENCE_TEST only prefers NOT_METERED&VALIDATED to a network with
// TRANSPORT_TEST, like OEM_NETWORK_PREFERENCE_OEM_PAID. // TRANSPORT_TEST, like OEM_NETWORK_PREFERENCE_OEM_PAID.
@@ -2405,18 +2405,18 @@ public class ConnectivityManagerTest {
// callback in any case therefore confirm its receipt before continuing to assure the // callback in any case therefore confirm its receipt before continuing to assure the
// system is in the expected state. // system is in the expected state.
waitForAvailable(systemDefaultCallback, TRANSPORT_WIFI); waitForAvailable(systemDefaultCallback, TRANSPORT_WIFI);
} finally { }, /* cleanup */ () -> {
// Validate that removing the test network will fallback to the default network. // Validate that removing the test network will fallback to the default network.
runWithShellPermissionIdentity(tnt::teardown); runWithShellPermissionIdentity(tnt::teardown);
defaultCallback.expectCallback(CallbackEntry.LOST, tnt.getNetwork(), defaultCallback.expectCallback(CallbackEntry.LOST, tnt.getNetwork(),
NETWORK_CALLBACK_TIMEOUT_MS); NETWORK_CALLBACK_TIMEOUT_MS);
waitForAvailable(defaultCallback); waitForAvailable(defaultCallback);
}, /* cleanup */ () -> {
setWifiMeteredStatusAndWait(ssid, oldMeteredValue, false /* waitForValidation */); setWifiMeteredStatusAndWait(ssid, oldMeteredValue, false /* waitForValidation */);
}, /* cleanup */ () -> {
// Cleanup any prior test state from setOemNetworkPreference // Cleanup any prior test state from setOemNetworkPreference
clearOemNetworkPreference(); clearOemNetworkPreference();
} });
} }
/** /**
@@ -2437,13 +2437,13 @@ public class ConnectivityManagerTest {
final Network wifiNetwork = mCtsNetUtils.ensureWifiConnected(); final Network wifiNetwork = mCtsNetUtils.ensureWifiConnected();
try { 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, tnt.getNetwork());
waitForAvailable(systemDefaultCallback, wifiNetwork); waitForAvailable(systemDefaultCallback, wifiNetwork);
} finally { }, /* cleanup */ () -> {
runWithShellPermissionIdentity(tnt::teardown); runWithShellPermissionIdentity(tnt::teardown);
defaultCallback.expectCallback(CallbackEntry.LOST, tnt.getNetwork(), defaultCallback.expectCallback(CallbackEntry.LOST, tnt.getNetwork(),
NETWORK_CALLBACK_TIMEOUT_MS); NETWORK_CALLBACK_TIMEOUT_MS);
@@ -2453,13 +2453,14 @@ public class ConnectivityManagerTest {
defaultCallback.assertNoCallback(); defaultCallback.assertNoCallback();
// The system default should still be connected to Wi-fi // The system default should still be connected to Wi-fi
assertEquals(wifiNetwork, systemDefaultCallback.getLastAvailableNetwork()); assertEquals(wifiNetwork, systemDefaultCallback.getLastAvailableNetwork());
}, /* cleanup */ () -> {
// Cleanup any prior test state from setOemNetworkPreference // Cleanup any prior test state from setOemNetworkPreference
clearOemNetworkPreference(); clearOemNetworkPreference();
// The default (non-test) network should be available as the network pref was cleared. // The default (non-test) network should be available as the network pref was
// cleared.
waitForAvailable(defaultCallback); waitForAvailable(defaultCallback);
} });
} }
private void registerTestOemNetworkPreferenceCallbacks( private void registerTestOemNetworkPreferenceCallbacks(