diff --git a/tests/hwsim/test_wpas_ctrl.py b/tests/hwsim/test_wpas_ctrl.py index adb659f37..2daa3dc5e 100644 --- a/tests/hwsim/test_wpas_ctrl.py +++ b/tests/hwsim/test_wpas_ctrl.py @@ -263,3 +263,11 @@ def test_wpas_ctrl_config_parser(dev): if "FAIL" not in dev[0].request("SET serial_number 0123456789abcdef0123456789abcdef0"): raise Exception("Too long string accepted") + +def test_wpas_ctrl_mib(dev): + """wpa_supplicant ctrl_iface MIB""" + mib = dev[0].get_mib() + if "dot11RSNAOptionImplemented" not in mib: + raise Exception("Missing MIB entry") + if mib["dot11RSNAOptionImplemented"] != "TRUE": + raise Exception("Unexpected dot11RSNAOptionImplemented value") diff --git a/tests/hwsim/wpasupplicant.py b/tests/hwsim/wpasupplicant.py index 0e745a3f3..3ad155857 100644 --- a/tests/hwsim/wpasupplicant.py +++ b/tests/hwsim/wpasupplicant.py @@ -290,6 +290,18 @@ class WpaSupplicant: return vals[field] return None + def get_mib(self): + res = self.request("MIB") + lines = res.splitlines() + vals = dict() + for l in lines: + try: + [name,value] = l.split('=', 1) + vals[name] = value + except ValueError, e: + logger.info(self.ifname + ": Ignore unexpected MIB line: " + l) + return vals + def p2p_dev_addr(self): return self.get_status_field("p2p_device_address")