diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-07-26 02:21:59 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-07-26 02:21:59 +0000 |
commit | 44abffca0bad06821dcd5d2abe3be8ac9113c0ff (patch) | |
tree | 2b77f2ba685db90e8d6e104ef412b0fecc28f310 /tests | |
parent | f3cb1af3a14d775361aff740ffad229276a7631a (diff) | |
parent | 9def464e5fed27df63a3a43128013914446a59bf (diff) |
Merge "LRWD: update DHCP failure in ObtainingIpState"
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java index a26582c5c..55d178cfc 100644 --- a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java +++ b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java @@ -3705,4 +3705,39 @@ public class ClientModeImplTest { verify(mWifiNative).simIdentityResponse(WIFI_IFACE_NAME, FRAMEWORK_NETWORK_ID, "13214561234567890@wlan.mnc456.mcc321.3gppnetwork.org", ""); } + + /** + * Verifies that WifiLastResortWatchdog is notified of DHCP failures when recevied + * NETWORK_DISCONNECTION_EVENT while in ObtainingIpState. + */ + @Test + public void testDhcpFailureUpdatesWatchdog_WhenDisconnectedWhileObtainingIpAddr() + throws Exception { + initializeAndAddNetworkAndVerifySuccess(); + + verify(mWifiNative).removeAllNetworks(WIFI_IFACE_NAME); + + mLooper.startAutoDispatch(); + mCmi.syncEnableNetwork(mCmiAsyncChannel, 0, true); + mLooper.stopAutoDispatch(); + + verify(mWifiConfigManager).enableNetwork(eq(0), eq(true), anyInt()); + + mCmi.sendMessage(WifiMonitor.NETWORK_CONNECTION_EVENT, 0, 0, sBSSID); + mLooper.dispatchAll(); + + mCmi.sendMessage(WifiMonitor.SUPPLICANT_STATE_CHANGE_EVENT, 0, 0, + new StateChangeResult(0, sWifiSsid, sBSSID, SupplicantState.COMPLETED)); + mLooper.dispatchAll(); + + assertEquals("ObtainingIpState", getCurrentState().getName()); + + // Verifies that WifiLastResortWatchdog be notified. + mCmi.sendMessage(WifiMonitor.NETWORK_DISCONNECTION_EVENT, 0, 0, sBSSID); + mLooper.dispatchAll(); + + assertEquals("DisconnectedState", getCurrentState().getName()); + verify(mWifiLastResortWatchdog).noteConnectionFailureAndTriggerIfNeeded( + sSSID, sBSSID, WifiLastResortWatchdog.FAILURE_CODE_DHCP); + } } |