tests/remote: Use a function to add a log file to a remote host

Instead of accessing the logs list member of the remote host directly,
use a function to add logs to the remote host to be collected after the
test. This enables us to later have different implementation of remote
hosts or logs collection without requiring to have this list as the
implementation.

Signed-off-by: Jonathan Afek <jonathanx.afek@intel.com>
This commit is contained in:
Jonathan Afek 2016-05-19 16:06:44 +03:00 committed by Jouni Malinen
parent e2f3f0232f
commit 04fd8ea1ba
4 changed files with 10 additions and 7 deletions

View file

@ -93,6 +93,9 @@ class Host():
if t.isAlive():
t.join(wait)
def add_log(self, log_file):
self.logs.append(log_file)
def get_logs(self, local_log_dir=None):
for log in self.logs:
if local_log_dir:

View file

@ -95,7 +95,7 @@ def run(host, setup_params):
log_monitor = log_monitor + "_" + monitor
log = log_dir + tc_name + "_" + host.name + log_monitor + ".pcap"
host.logs.append(log)
host.add_log(log)
thread = host.execute_run([tshark, "-w", log], monitor_res)
host.thread = thread

View file

@ -63,7 +63,7 @@ def trace_start_stop(host, setup_params, start):
else:
cmd = stop_trace
trace_dir = setup_params['log_dir'] + host.ifname + "/remote_traces"
host.logs.append(trace_dir + "/*")
host.add_log(trace_dir + "/*")
host.execute([cmd, "-I", host.ifname, "-D", trace_dir])
except:
pass
@ -88,7 +88,7 @@ def perf_start_stop(host, setup_params, start):
else:
cmd = perf_stop
perf_dir = setup_params['log_dir'] + host.ifname + "/remote_perf"
host.logs.append(perf_dir + "/*")
host.add_log(perf_dir + "/*")
host.execute([cmd, "-I", host.ifname, "-D", perf_dir])
except:
pass
@ -106,7 +106,7 @@ def run_hostapd(host, setup_params):
log = ""
if log_file:
host.logs.append(log_file)
host.add_log(log_file)
status, buf = host.execute([setup_params['hostapd'], "-B", "-ddt", "-g", "udp:" + host.port, log])
if status != 0:
raise Exception("Could not run hostapd: " + buf)
@ -123,7 +123,7 @@ def run_wpasupplicant(host, setup_params):
log = ""
if log_file:
host.logs.append(log_file)
host.add_log(log_file)
status, buf = host.execute([setup_params['wpa_supplicant'], "-B", "-ddt", "-g", "udp:" + host.port, log])
if status != 0:
raise Exception("Could not run wpa_supplicant: " + buf)

View file

@ -128,14 +128,14 @@ def test_example(devices, setup_params, refs, duts, monitors):
monitor.remove(sta)
dmesg = setup_params['log_dir'] + setup_params['tc_name'] + "_" + sta.name + "_" + sta.ifname + ".dmesg"
sta.execute(["dmesg", "-c", ">", dmesg])
sta.logs.append(dmesg)
sta.add_log(dmesg)
sta.get_logs(local_log_dir)
sta.execute(["ifconfig", sta.ifname, "down"])
if ap:
monitor.remove(ap)
dmesg = setup_params['log_dir'] + setup_params['tc_name'] + "_" + ap.name + "_" + ap.ifname + ".dmesg"
ap.execute(["dmesg", "-c", ">", dmesg])
ap.logs.append(dmesg)
ap.add_log(dmesg)
ap.get_logs(local_log_dir)
ap.execute(["ifconfig", ap.ifname, " down"])
raise