From af95fad957196933570b974635d7499370e5b2fa Mon Sep 17 00:00:00 2001 From: Rebecca Silberstein Date: Fri, 27 Apr 2018 08:50:14 -0700 Subject: [PATCH] WifiManagerTest: allow for multiple modes Now that WifiService can/will support dual simultaneous mode operation, make sure the tests allow for it as well. Bug: 31346104 Bug: 115567184 Test: atest android.net.wifi.cts Change-Id: Id3aaacb3651568c18850a0fdf3832c0f52218cf2 Merged-In: Id3aaacb3651568c18850a0fdf3832c0f52218cf2 --- .../android/net/wifi/cts/WifiManagerTest.java | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java index b2d912e56c..44b49c0274 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java @@ -825,10 +825,9 @@ public class WifiManagerTest extends AndroidTestCase { TestLocalOnlyHotspotCallback callback = startLocalOnlyHotspot(); - // at this point, wifi should be off - assertFalse(mWifiManager.isWifiEnabled()); - stopLocalOnlyHotspot(callback, wifiEnabled); + + // wifi should either stay on, or come back on assertEquals(wifiEnabled, mWifiManager.isWifiEnabled()); } @@ -840,23 +839,31 @@ public class WifiManagerTest extends AndroidTestCase { * tethering is started. * Note: Location mode must be enabled for this test. */ - public void testSetWifiEnabledByAppDoesNotStopHotspot() { - // first check that softap mode is supported by the device + + public void testSetWifiEnabledByAppDoesNotStopHotspot() throws Exception { + if (!WifiFeature.isWifiSupported(getContext())) { + // skip the test if WiFi is not supported + return; + } + // check that softap mode is supported by the device if (!mWifiManager.isPortableHotspotSupported()) { return; } boolean wifiEnabled = mWifiManager.isWifiEnabled(); + if (wifiEnabled) { + // disable wifi so we have something to turn on (some devices may be able to run + // simultaneous modes) + setWifiEnabled(false); + } + TestLocalOnlyHotspotCallback callback = startLocalOnlyHotspot(); - // at this point, wifi should be off - assertFalse(mWifiManager.isWifiEnabled()); // now we should fail to turn on wifi assertFalse(mWifiManager.setWifiEnabled(true)); stopLocalOnlyHotspot(callback, wifiEnabled); - assertEquals(wifiEnabled, mWifiManager.isWifiEnabled()); } /** @@ -876,9 +883,6 @@ public class WifiManagerTest extends AndroidTestCase { TestLocalOnlyHotspotCallback callback = startLocalOnlyHotspot(); - // at this point, wifi should be off - assertFalse(mWifiManager.isWifiEnabled()); - // now make a second request - this should fail. TestLocalOnlyHotspotCallback callback2 = new TestLocalOnlyHotspotCallback(mLOHSLock); try { @@ -887,9 +891,12 @@ public class WifiManagerTest extends AndroidTestCase { Log.d(TAG, "Caught the IllegalStateException we expected: called startLOHS twice"); caughtException = true; } + if (!caughtException) { + // second start did not fail, should clean up the hotspot. + stopLocalOnlyHotspot(callback2, wifiEnabled); + } assertTrue(caughtException); stopLocalOnlyHotspot(callback, wifiEnabled); - assertEquals(wifiEnabled, mWifiManager.isWifiEnabled()); } }