aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2014-01-03 12:34:59 (GMT)
committerJouni Malinen <j@w1.fi>2014-01-05 20:33:06 (GMT)
commitd7a99700de015574d9a69f693d2f8b7fa0726716 (patch)
tree4060dfe8fd0aa99f1cf26073add9ddc5a4c43533
parentad36d27d6a039817438063776180ad6869567a3a (diff)
downloadhostap-d7a99700de015574d9a69f693d2f8b7fa0726716.zip
hostap-d7a99700de015574d9a69f693d2f8b7fa0726716.tar.gz
hostap-d7a99700de015574d9a69f693d2f8b7fa0726716.tar.bz2
tests: Clean up and optimize gas_concurrent_scan and _connect
No need to run a full scan as the first step since it only needs to find the AP from a known channel for the GAS operation. Signed-hostap: Jouni Malinen <j@w1.fi>
-rw-r--r--tests/hwsim/test_gas.py11
-rw-r--r--tests/hwsim/wpasupplicant.py9
2 files changed, 13 insertions, 7 deletions
diff --git a/tests/hwsim/test_gas.py b/tests/hwsim/test_gas.py
index 24e2bcd..db30c81 100644
--- a/tests/hwsim/test_gas.py
+++ b/tests/hwsim/test_gas.py
@@ -2,6 +2,7 @@
#
# GAS tests
# Copyright (c) 2013, Qualcomm Atheros, Inc.
+# Copyright (c) 2013-2014, Jouni Malinen <j@w1.fi>
#
# This software may be distributed under the terms of the BSD license.
# See README for more details.
@@ -103,7 +104,8 @@ def test_gas_concurrent_scan(dev, apdev):
params['hessid'] = bssid
hostapd.add_ap(apdev[0]['ifname'], params)
- dev[0].scan()
+ # get BSS entry available to allow GAS query
+ dev[0].scan(freq="2412")
logger.info("Request concurrent operations")
req = dev[0].request("GAS_REQUEST " + bssid + " 00 000102000101")
@@ -112,7 +114,7 @@ def test_gas_concurrent_scan(dev, apdev):
req = dev[0].request("GAS_REQUEST " + bssid + " 00 000102000801")
if "FAIL" in req:
raise Exception("GAS query request rejected")
- dev[0].request("SCAN")
+ dev[0].scan(no_wait=True)
req = dev[0].request("GAS_REQUEST " + bssid + " 00 000102000201")
if "FAIL" in req:
raise Exception("GAS query request rejected")
@@ -140,13 +142,14 @@ def test_gas_concurrent_connect(dev, apdev):
params['hessid'] = bssid
hostapd.add_ap(apdev[0]['ifname'], params)
- dev[0].scan()
+ dev[0].scan(freq="2412")
logger.debug("Start concurrent connect and GAS request")
dev[0].connect("test-gas", key_mgmt="WPA-EAP", eap="TTLS",
identity="DOMAIN\mschapv2 user", anonymous_identity="ttls",
password="password", phase2="auth=MSCHAPV2",
- ca_cert="auth_serv/ca.pem", wait_connect=False)
+ ca_cert="auth_serv/ca.pem", wait_connect=False,
+ scan_freq="2412")
req = dev[0].request("GAS_REQUEST " + bssid + " 00 000102000101")
if "FAIL" in req:
raise Exception("GAS query request rejected")
diff --git a/tests/hwsim/wpasupplicant.py b/tests/hwsim/wpasupplicant.py
index fb3e2da..3823ad2 100644
--- a/tests/hwsim/wpasupplicant.py
+++ b/tests/hwsim/wpasupplicant.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
#
# Python class for controlling wpa_supplicant
-# Copyright (c) 2013, Jouni Malinen <j@w1.fi>
+# Copyright (c) 2013-2014, Jouni Malinen <j@w1.fi>
#
# This software may be distributed under the terms of the BSD license.
# See README for more details.
@@ -627,16 +627,19 @@ class WpaSupplicant:
self.select_network(id)
return id
- def scan(self, type=None, freq=None):
+ def scan(self, type=None, freq=None, no_wait=False):
if type:
cmd = "SCAN TYPE=" + type
else:
cmd = "SCAN"
if freq:
cmd = cmd + " freq=" + freq
- self.dump_monitor()
+ if not no_wait:
+ self.dump_monitor()
if not "OK" in self.request(cmd):
raise Exception("Failed to trigger scan")
+ if no_wait:
+ return
ev = self.wait_event(["CTRL-EVENT-SCAN-RESULTS"], 15)
if ev is None:
raise Exception("Scan timed out")