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
This commit is contained in:
Rebecca Silberstein
2018-04-27 08:50:14 -07:00
committed by Roshan Pius
parent 6943e15b8c
commit 340047b18c

View File

@@ -838,10 +838,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());
}
@@ -853,7 +852,7 @@ public class WifiManagerTest extends AndroidTestCase {
* 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 @@ public class WifiManagerTest extends AndroidTestCase {
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 @@ 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 {
@@ -908,9 +907,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());
}
}