tests: D-Bus BSS interface and WPS Type values
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
8e2c5f1a20
commit
1d0a917f36
1 changed files with 21 additions and 0 deletions
|
@ -514,6 +514,20 @@ def _test_dbus_wps_pbc(dev, apdev):
|
||||||
dev[0].scan_for_bss(bssid, freq="2412")
|
dev[0].scan_for_bss(bssid, freq="2412")
|
||||||
dev[0].request("SET wps_cred_processing 2")
|
dev[0].request("SET wps_cred_processing 2")
|
||||||
|
|
||||||
|
res = if_obj.Get(WPAS_DBUS_IFACE, 'BSSs',
|
||||||
|
dbus_interface=dbus.PROPERTIES_IFACE)
|
||||||
|
if len(res) != 1:
|
||||||
|
raise Exception("Missing BSSs entry: " + str(res))
|
||||||
|
bss_obj = bus.get_object(WPAS_DBUS_SERVICE, res[0])
|
||||||
|
props = bss_obj.GetAll(WPAS_DBUS_BSS, dbus_interface=dbus.PROPERTIES_IFACE)
|
||||||
|
logger.debug("GetAll(%s, %s): %s" % (WPAS_DBUS_BSS, res[0], str(props)))
|
||||||
|
if 'WPS' not in props:
|
||||||
|
raise Exception("No WPS information in the BSS entry")
|
||||||
|
if 'Type' not in props['WPS']:
|
||||||
|
raise Exception("No Type field in the WPS dictionary")
|
||||||
|
if props['WPS']['Type'] != 'pbc':
|
||||||
|
raise Exception("Unexpected WPS Type: " + props['WPS']['Type'])
|
||||||
|
|
||||||
class TestDbusWps(TestDbus):
|
class TestDbusWps(TestDbus):
|
||||||
def __init__(self, bus, wps):
|
def __init__(self, bus, wps):
|
||||||
TestDbus.__init__(self, bus)
|
TestDbus.__init__(self, bus)
|
||||||
|
@ -894,6 +908,7 @@ def test_dbus_scan(dev, apdev):
|
||||||
TestDbus.__init__(self, bus)
|
TestDbus.__init__(self, bus)
|
||||||
self.scan_completed = 0
|
self.scan_completed = 0
|
||||||
self.bss_added = False
|
self.bss_added = False
|
||||||
|
self.fail_reason = None
|
||||||
|
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
gobject.timeout_add(1, self.run_scan)
|
gobject.timeout_add(1, self.run_scan)
|
||||||
|
@ -920,6 +935,10 @@ def test_dbus_scan(dev, apdev):
|
||||||
def bssAdded(self, bss, properties):
|
def bssAdded(self, bss, properties):
|
||||||
logger.debug("bssAdded: %s" % bss)
|
logger.debug("bssAdded: %s" % bss)
|
||||||
logger.debug(str(properties))
|
logger.debug(str(properties))
|
||||||
|
if 'WPS' in properties:
|
||||||
|
if 'Type' in properties['WPS']:
|
||||||
|
self.fail_reason = "Unexpected WPS dictionary entry in non-WPS BSS"
|
||||||
|
self.loop.quit()
|
||||||
self.bss_added = True
|
self.bss_added = True
|
||||||
if self.scan_completed == 3:
|
if self.scan_completed == 3:
|
||||||
self.loop.quit()
|
self.loop.quit()
|
||||||
|
@ -942,6 +961,8 @@ def test_dbus_scan(dev, apdev):
|
||||||
return self.scan_completed == 3 and self.bss_added
|
return self.scan_completed == 3 and self.bss_added
|
||||||
|
|
||||||
with TestDbusScan(bus) as t:
|
with TestDbusScan(bus) as t:
|
||||||
|
if t.fail_reason:
|
||||||
|
raise Exception(t.fail_reason)
|
||||||
if not t.success():
|
if not t.success():
|
||||||
raise Exception("Expected signals not seen")
|
raise Exception("Expected signals not seen")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue