aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2016-04-24 09:28:18 (GMT)
committerJouni Malinen <j@w1.fi>2016-04-24 17:16:30 (GMT)
commit5a766accee00218c60468ab322daeee2019b6e79 (patch)
tree6585dfb00913f81b7f37f197a76d22ab2543b21c
parent2147b3a7f8ce4dbb3cb5a85efd012faa3f3b6c18 (diff)
downloadhostap-5a766accee00218c60468ab322daeee2019b6e79.zip
hostap-5a766accee00218c60468ab322daeee2019b6e79.tar.gz
hostap-5a766accee00218c60468ab322daeee2019b6e79.tar.bz2
tests: Convert Host() class to use list of arguments instead of string
It is better to use a list of command line arguments for the local execution case and convert that to a space-separated string for the remote case. Signed-off-by: Jouni Malinen <j@w1.fi>
-rw-r--r--tests/hwsim/remotehost.py14
-rw-r--r--tests/hwsim/utils.py2
-rw-r--r--tests/hwsim/wpasupplicant.py6
3 files changed, 9 insertions, 13 deletions
diff --git a/tests/hwsim/remotehost.py b/tests/hwsim/remotehost.py
index cab2045..213c2fc 100644
--- a/tests/hwsim/remotehost.py
+++ b/tests/hwsim/remotehost.py
@@ -38,14 +38,10 @@ class Host():
self.name = host
def local_execute(self, command):
- logger.debug("execute: " + command)
- words = command.split()
- cmd = []
- for word in words:
- cmd.append(word)
+ logger.debug("execute: " + str(command))
try:
status = 0;
- buf = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
+ buf = subprocess.check_output(command, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
status = e.returncode
buf = e.output
@@ -58,7 +54,7 @@ class Host():
if self.host is None:
return self.local_execute(command)
- cmd = ["ssh", self.user + "@" + self.host, command]
+ cmd = ["ssh", self.user + "@" + self.host, ' '.join(command)]
_cmd = self.name + " execute: "
for c in cmd:
_cmd = _cmd + " " + c
@@ -77,9 +73,9 @@ class Host():
# async execute
def execute_run(self, command, res):
if self.host is None:
- cmd = [command]
+ cmd = command
else:
- cmd = ["ssh", self.user + "@" + self.host, command]
+ cmd = ["ssh", self.user + "@" + self.host, ' '.join(command)]
_cmd = self.name + " execute_run: "
for c in cmd:
_cmd = _cmd + " " + c
diff --git a/tests/hwsim/utils.py b/tests/hwsim/utils.py
index 5fb824e..479923c 100644
--- a/tests/hwsim/utils.py
+++ b/tests/hwsim/utils.py
@@ -92,7 +92,7 @@ def get_phy(ap, ifname=None):
if ifname == None:
ifname = ap['ifname']
- status, buf = host.execute("iw dev " + ifname + " info")
+ status, buf = host.execute(["iw", "dev", ifname, "info"])
if status != 0:
raise Exception("iw " + ifname + " info failed")
lines = buf.split("\n")
diff --git a/tests/hwsim/wpasupplicant.py b/tests/hwsim/wpasupplicant.py
index bc865b8..b164fe0 100644
--- a/tests/hwsim/wpasupplicant.py
+++ b/tests/hwsim/wpasupplicant.py
@@ -99,7 +99,7 @@ class WpaSupplicant:
def interface_add(self, ifname, config="", driver="nl80211",
drv_params=None, br_ifname=None, create=False,
set_ifname=True, all_params=False, if_type=None):
- status, groups = self.host.execute("id")
+ status, groups = self.host.execute(["id"])
if status != 0:
group = "admin"
group = "admin" if "(admin)" in groups else "adm"
@@ -191,11 +191,11 @@ class WpaSupplicant:
if iter == 60:
logger.error(self.ifname + ": Driver scan state did not clear")
print "Trying to clear cfg80211/mac80211 scan state"
- status, buf = self.host.execute("ifconfig " + self.ifname + " down")
+ status, buf = self.host.execute(["ifconfig", self.ifname, "down"])
if status != 0:
logger.info("ifconfig failed: " + buf)
logger.info(status)
- status, buf = self.host.execute("ifconfig " + self.ifname + " up")
+ status, buf = self.host.execute(["ifconfig", self.ifname, "up"])
if status != 0:
logger.info("ifconfig failed: " + buf)
logger.info(status)