diff --git a/tests/hwsim/remotehost.py b/tests/hwsim/remotehost.py index cab204541..213c2fc40 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 5fb824e49..479923cea 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 bc865b8e0..b164fe00b 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)