mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2025-02-07 04:34:04 -05:00
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>
This commit is contained in:
parent
2147b3a7f8
commit
5a766accee
@ -38,14 +38,10 @@ class Host():
|
|||||||
self.name = host
|
self.name = host
|
||||||
|
|
||||||
def local_execute(self, command):
|
def local_execute(self, command):
|
||||||
logger.debug("execute: " + command)
|
logger.debug("execute: " + str(command))
|
||||||
words = command.split()
|
|
||||||
cmd = []
|
|
||||||
for word in words:
|
|
||||||
cmd.append(word)
|
|
||||||
try:
|
try:
|
||||||
status = 0;
|
status = 0;
|
||||||
buf = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
|
buf = subprocess.check_output(command, stderr=subprocess.STDOUT)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
status = e.returncode
|
status = e.returncode
|
||||||
buf = e.output
|
buf = e.output
|
||||||
@ -58,7 +54,7 @@ class Host():
|
|||||||
if self.host is None:
|
if self.host is None:
|
||||||
return self.local_execute(command)
|
return self.local_execute(command)
|
||||||
|
|
||||||
cmd = ["ssh", self.user + "@" + self.host, command]
|
cmd = ["ssh", self.user + "@" + self.host, ' '.join(command)]
|
||||||
_cmd = self.name + " execute: "
|
_cmd = self.name + " execute: "
|
||||||
for c in cmd:
|
for c in cmd:
|
||||||
_cmd = _cmd + " " + c
|
_cmd = _cmd + " " + c
|
||||||
@ -77,9 +73,9 @@ class Host():
|
|||||||
# async execute
|
# async execute
|
||||||
def execute_run(self, command, res):
|
def execute_run(self, command, res):
|
||||||
if self.host is None:
|
if self.host is None:
|
||||||
cmd = [command]
|
cmd = command
|
||||||
else:
|
else:
|
||||||
cmd = ["ssh", self.user + "@" + self.host, command]
|
cmd = ["ssh", self.user + "@" + self.host, ' '.join(command)]
|
||||||
_cmd = self.name + " execute_run: "
|
_cmd = self.name + " execute_run: "
|
||||||
for c in cmd:
|
for c in cmd:
|
||||||
_cmd = _cmd + " " + c
|
_cmd = _cmd + " " + c
|
||||||
|
@ -92,7 +92,7 @@ def get_phy(ap, ifname=None):
|
|||||||
|
|
||||||
if ifname == None:
|
if ifname == None:
|
||||||
ifname = ap['ifname']
|
ifname = ap['ifname']
|
||||||
status, buf = host.execute("iw dev " + ifname + " info")
|
status, buf = host.execute(["iw", "dev", ifname, "info"])
|
||||||
if status != 0:
|
if status != 0:
|
||||||
raise Exception("iw " + ifname + " info failed")
|
raise Exception("iw " + ifname + " info failed")
|
||||||
lines = buf.split("\n")
|
lines = buf.split("\n")
|
||||||
|
@ -99,7 +99,7 @@ class WpaSupplicant:
|
|||||||
def interface_add(self, ifname, config="", driver="nl80211",
|
def interface_add(self, ifname, config="", driver="nl80211",
|
||||||
drv_params=None, br_ifname=None, create=False,
|
drv_params=None, br_ifname=None, create=False,
|
||||||
set_ifname=True, all_params=False, if_type=None):
|
set_ifname=True, all_params=False, if_type=None):
|
||||||
status, groups = self.host.execute("id")
|
status, groups = self.host.execute(["id"])
|
||||||
if status != 0:
|
if status != 0:
|
||||||
group = "admin"
|
group = "admin"
|
||||||
group = "admin" if "(admin)" in groups else "adm"
|
group = "admin" if "(admin)" in groups else "adm"
|
||||||
@ -191,11 +191,11 @@ class WpaSupplicant:
|
|||||||
if iter == 60:
|
if iter == 60:
|
||||||
logger.error(self.ifname + ": Driver scan state did not clear")
|
logger.error(self.ifname + ": Driver scan state did not clear")
|
||||||
print "Trying to clear cfg80211/mac80211 scan state"
|
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:
|
if status != 0:
|
||||||
logger.info("ifconfig failed: " + buf)
|
logger.info("ifconfig failed: " + buf)
|
||||||
logger.info(status)
|
logger.info(status)
|
||||||
status, buf = self.host.execute("ifconfig " + self.ifname + " up")
|
status, buf = self.host.execute(["ifconfig", self.ifname, "up"])
|
||||||
if status != 0:
|
if status != 0:
|
||||||
logger.info("ifconfig failed: " + buf)
|
logger.info("ifconfig failed: " + buf)
|
||||||
logger.info(status)
|
logger.info(status)
|
||||||
|
Loading…
Reference in New Issue
Block a user