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(): if t.isAlive():
t.join(wait) t.join(wait)
def add_log(self, log_file):
self.logs.append(log_file)
def get_logs(self, local_log_dir=None): def get_logs(self, local_log_dir=None):
for log in self.logs: for log in self.logs:
if local_log_dir: if local_log_dir:

View file

@ -95,7 +95,7 @@ def run(host, setup_params):
log_monitor = log_monitor + "_" + monitor log_monitor = log_monitor + "_" + monitor
log = log_dir + tc_name + "_" + host.name + log_monitor + ".pcap" 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) thread = host.execute_run([tshark, "-w", log], monitor_res)
host.thread = thread host.thread = thread

View file

@ -63,7 +63,7 @@ def trace_start_stop(host, setup_params, start):
else: else:
cmd = stop_trace cmd = stop_trace
trace_dir = setup_params['log_dir'] + host.ifname + "/remote_traces" 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]) host.execute([cmd, "-I", host.ifname, "-D", trace_dir])
except: except:
pass pass
@ -88,7 +88,7 @@ def perf_start_stop(host, setup_params, start):
else: else:
cmd = perf_stop cmd = perf_stop
perf_dir = setup_params['log_dir'] + host.ifname + "/remote_perf" 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]) host.execute([cmd, "-I", host.ifname, "-D", perf_dir])
except: except:
pass pass
@ -106,7 +106,7 @@ def run_hostapd(host, setup_params):
log = "" log = ""
if log_file: 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]) status, buf = host.execute([setup_params['hostapd'], "-B", "-ddt", "-g", "udp:" + host.port, log])
if status != 0: if status != 0:
raise Exception("Could not run hostapd: " + buf) raise Exception("Could not run hostapd: " + buf)
@ -123,7 +123,7 @@ def run_wpasupplicant(host, setup_params):
log = "" log = ""
if log_file: 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]) status, buf = host.execute([setup_params['wpa_supplicant'], "-B", "-ddt", "-g", "udp:" + host.port, log])
if status != 0: if status != 0:
raise Exception("Could not run wpa_supplicant: " + buf) 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) monitor.remove(sta)
dmesg = setup_params['log_dir'] + setup_params['tc_name'] + "_" + sta.name + "_" + sta.ifname + ".dmesg" dmesg = setup_params['log_dir'] + setup_params['tc_name'] + "_" + sta.name + "_" + sta.ifname + ".dmesg"
sta.execute(["dmesg", "-c", ">", dmesg]) sta.execute(["dmesg", "-c", ">", dmesg])
sta.logs.append(dmesg) sta.add_log(dmesg)
sta.get_logs(local_log_dir) sta.get_logs(local_log_dir)
sta.execute(["ifconfig", sta.ifname, "down"]) sta.execute(["ifconfig", sta.ifname, "down"])
if ap: if ap:
monitor.remove(ap) monitor.remove(ap)
dmesg = setup_params['log_dir'] + setup_params['tc_name'] + "_" + ap.name + "_" + ap.ifname + ".dmesg" dmesg = setup_params['log_dir'] + setup_params['tc_name'] + "_" + ap.name + "_" + ap.ifname + ".dmesg"
ap.execute(["dmesg", "-c", ">", dmesg]) ap.execute(["dmesg", "-c", ">", dmesg])
ap.logs.append(dmesg) ap.add_log(dmesg)
ap.get_logs(local_log_dir) ap.get_logs(local_log_dir)
ap.execute(["ifconfig", ap.ifname, " down"]) ap.execute(["ifconfig", ap.ifname, " down"])
raise raise