aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJonathan Afek <jonathan@wizery.com>2016-05-19 13:06:50 (GMT)
committerJouni Malinen <j@w1.fi>2016-05-28 13:34:19 (GMT)
commit483053b9d8236df75b9dfb7314b4c450707a1e61 (patch)
tree3c09236156af6f07efa1d4eb187a35f839d191bf /tests
parent8efc83d4e7b88c6496989f8e58e44fc94134d57d (diff)
downloadhostap-483053b9d8236df75b9dfb7314b4c450707a1e61.zip
hostap-483053b9d8236df75b9dfb7314b4c450707a1e61.tar.gz
hostap-483053b9d8236df75b9dfb7314b4c450707a1e61.tar.bz2
tests/remote: Fix execution of setup_hw
The code contained some places that used an additional argument for setup_hw after -R and also contained places where setup_hw cmdline was passed as a string instead of an argument list. It also contained places where the ifname was only treated as a single interface and disregarded the possiblity of multiple interfaces. This commit fixes these issues and executes setup_hw from a single function for all cases. Signed-off-by: Jonathan Afek <jonathanx.afek@intel.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/remote/monitor.py6
-rw-r--r--tests/remote/rutils.py24
-rw-r--r--tests/remote/test_devices.py41
3 files changed, 32 insertions, 39 deletions
diff --git a/tests/remote/monitor.py b/tests/remote/monitor.py
index 5071322..a715010 100644
--- a/tests/remote/monitor.py
+++ b/tests/remote/monitor.py
@@ -7,6 +7,7 @@
import time
from remotehost import Host
import config
+import rutils
import re
import traceback
import logging
@@ -36,10 +37,7 @@ def create(devices, setup_params, refs, duts, monitors):
try:
host.execute(["iw", "reg", "set", setup_params['country']])
- setup_hw = setup_params['setup_hw']
- ifaces = re.split('; | |, ', host.ifname)
- for iface in ifaces:
- host.execute(setup_hw + " -I " + iface + " -R 1")
+ rutils.setup_hw_host(host, setup_params, True)
except:
pass
mhosts.append(host)
diff --git a/tests/remote/rutils.py b/tests/remote/rutils.py
index fd6127b..7836be7 100644
--- a/tests/remote/rutils.py
+++ b/tests/remote/rutils.py
@@ -4,6 +4,7 @@
# This software may be distributed under the terms of the BSD license.
# See README for more details.
+import re
import time
from remotehost import Host
import hostapd
@@ -26,23 +27,32 @@ def get_host(devices, dev_name):
return host
# run setup_hw - hw specyfic
-def setup_hw(hosts, setup_params):
- for host in hosts:
- setup_hw_host(host, setup_params)
-
-def setup_hw_host(host, setup_params):
+def setup_hw_host_iface(host, iface, setup_params, force_restart=False):
try:
setup_hw = setup_params['setup_hw']
restart = ""
try:
if setup_params['restart_device'] == True:
- restart = " -R "
+ restart = "-R"
except:
pass
- host.execute([setup_hw, "-I", host.ifname, restart])
+
+ if force_restart:
+ restart = "-R"
+
+ host.execute([setup_hw, "-I", iface, restart])
except:
pass
+def setup_hw_host(host, setup_params, force_restart=False):
+ ifaces = re.split('; | |, ', host.ifname)
+ for iface in ifaces:
+ setup_hw_host_iface(host, iface, setup_params, force_restart)
+
+def setup_hw(hosts, setup_params, force_restart=False):
+ for host in hosts:
+ setup_hw_host(host, setup_params, force_restart)
+
# get traces - hw specific
def trace_start(hosts, setup_params):
for host in hosts:
diff --git a/tests/remote/test_devices.py b/tests/remote/test_devices.py
index 97484f5..6d84d11 100644
--- a/tests/remote/test_devices.py
+++ b/tests/remote/test_devices.py
@@ -35,26 +35,21 @@ def show_devices(devices, setup_params):
else:
print "[" + host.name + "] - ssh communication: OK"
# check setup_hw works correctly
- try:
- setup_hw = setup_params['setup_hw']
- try:
- restart_device = setup_params['restart_device']
- except:
- restart_device = "0"
- host.execute([setup_hw, "-I", host.ifname, "-R", restart_device])
- except:
- pass
+ rutils.setup_hw_host(host, setup_params)
+
# show uname
status, buf = host.execute(["uname", "-s", "-n", "-r", "-m", "-o"])
print "\t" + buf
# show ifconfig
- status, buf = host.execute(["ifconfig", host.ifname])
- if status != 0:
- print "\t" + host.ifname + " failed\n"
- continue
- lines = buf.splitlines()
- for line in lines:
- print "\t" + line
+ ifaces = re.split('; | |, ', host.ifname)
+ for iface in ifaces:
+ status, buf = host.execute(["ifconfig", iface])
+ if status != 0:
+ print "\t" + iface + " failed\n"
+ continue
+ lines = buf.splitlines()
+ for line in lines:
+ print "\t" + line
# check hostapd, wpa_supplicant, iperf exist
status, buf = host.execute([setup_params['wpa_supplicant'], "-v"])
if status != 0:
@@ -88,19 +83,9 @@ def check_device(devices, setup_params, dev_name, monitor=False):
if status != 0:
raise Exception(dev_name + " - ssh communication FAILED: " + buf)
- ifaces = re.split('; | |, ', host.ifname)
- # try to setup host/ifaces
- for iface in ifaces:
- try:
- setup_hw = setup_params['setup_hw']
- try:
- restart_device = setup_params['restart_device']
- except:
- restart_device = "0"
- host.execute(setup_hw + " -I " + iface + " -R " + restart_device)
- except:
- pass
+ rutils.setup_hw_host(host, setup_params)
+ ifaces = re.split('; | |, ', host.ifname)
# check interfaces (multi for monitor)
for iface in ifaces:
status, buf = host.execute(["ifconfig", iface])