X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=tests%2Fhwsim%2Ftest_rfkill.py;h=6205535e92302e5f238f070d500e2bde5467b323;hb=2e99239bd98469c83ac8da7b8f6fb1e66ead3c3a;hp=425b40fce61129f84e3ea617e85abebbd6b6bbab;hpb=0e92fb8fae7dce4dc0e78a02c41c016c80455ea8;p=mech_eap.git diff --git a/tests/hwsim/test_rfkill.py b/tests/hwsim/test_rfkill.py index 425b40f..6205535 100644 --- a/tests/hwsim/test_rfkill.py +++ b/tests/hwsim/test_rfkill.py @@ -14,6 +14,7 @@ import hwsim_utils from wpasupplicant import WpaSupplicant from rfkill import RFKill from utils import HwsimSkip +from hwsim import HWSimRadio def get_rfkill(dev): phy = dev.get_driver_status_field("phyname") @@ -116,6 +117,69 @@ def test_rfkill_autogo(dev, apdev): rfk0.unblock() rfk1.unblock() +def _test_rfkill_p2p_discovery(dev0, dev1): + """rfkill block/unblock P2P Discovery""" + rfk0 = get_rfkill(dev0) + rfk1 = get_rfkill(dev1) + + try: + addr0 = dev0.p2p_dev_addr() + + logger.info("rfkill block 0") + rfk0.block() + logger.info("rfkill block 1") + rfk1.block() + + for i in range(10): + time.sleep(0.1) + if dev0.get_status_field("wpa_state") == "INTERFACE_DISABLED" and dev1.get_status_field("wpa_state") == "INTERFACE_DISABLED": + break + + if "OK" in dev0.p2p_listen(): + raise Exception("P2P Listen success although in rfkill") + + if "OK" in dev1.p2p_find(): + raise Exception("P2P Find success although in rfkill") + + dev0.dump_monitor() + dev1.dump_monitor() + + logger.info("rfkill unblock 0") + rfk0.unblock() + logger.info("rfkill unblock 1") + rfk1.unblock() + + for i in range(10): + time.sleep(0.1) + if dev0.get_status_field("wpa_state") != "INTERFACE_DISABLED" and dev1.get_status_field("wpa_state") != "INTERFACE_DISABLED": + break + + if not "OK" in dev0.p2p_listen(): + raise Exception("P2P Listen failed after unblocking rfkill") + + if not dev1.discover_peer(addr0, social=True): + raise Exception("Failed to discover peer after unblocking rfkill") + + finally: + rfk0.unblock() + rfk1.unblock() + dev0.p2p_stop_find() + dev1.p2p_stop_find() + dev0.dump_monitor() + dev1.dump_monitor() + +def test_rfkill_p2p_discovery(dev, apdev): + """rfkill block/unblock P2P Discovery""" + _test_rfkill_p2p_discovery(dev[0], dev[1]) + +def test_rfkill_p2p_discovery_p2p_dev(dev, apdev): + """rfkill block/unblock P2P Discovery with P2P Device""" + with HWSimRadio(use_p2p_device=True) as (radio, iface): + wpas = WpaSupplicant(global_iface='/tmp/wpas-wlan5') + wpas.interface_add(iface) + _test_rfkill_p2p_discovery(dev[0], wpas) + _test_rfkill_p2p_discovery(wpas, dev[1]) + def test_rfkill_hostapd(dev, apdev): """rfkill block/unblock during and prior to hostapd operations""" hapd = hostapd.add_ap(apdev[0]['ifname'], { "ssid": "open" })