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
diff --git a/tests/tests/net/src/android/net/wifi/cts/WifiManagerTest.java b/tests/tests/net/src/android/net/wifi/cts/WifiManagerTest.java
index 87239b4..90540f4 100644
--- a/tests/tests/net/src/android/net/wifi/cts/WifiManagerTest.java
+++ b/tests/tests/net/src/android/net/wifi/cts/WifiManagerTest.java
@@ -838,10 +838,9 @@
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());
}
@@ -853,7 +852,7 @@
* tethering is started.
* Note: Location mode must be enabled for this test.
*/
- public void testSetWifiEnabledByAppDoesNotStopHotspot() {
+ public void testSetWifiEnabledByAppDoesNotStopHotspot() throws Exception {
if (!WifiFeature.isWifiSupported(getContext())) {
// skip the test if WiFi is not supported
return;
@@ -865,15 +864,18 @@
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());
}
/**
@@ -897,9 +899,6 @@
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 {
@@ -908,9 +907,12 @@
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());
}
}