Browse Source

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>
Jonathan Afek 8 years ago
parent
commit
04fd8ea1ba
4 changed files with 10 additions and 7 deletions
  1. 3 0
      tests/hwsim/remotehost.py
  2. 1 1
      tests/remote/monitor.py
  3. 4 4
      tests/remote/rutils.py
  4. 2 2
      tests/remote/test_example.py

+ 3 - 0
tests/hwsim/remotehost.py

@@ -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:

+ 1 - 1
tests/remote/monitor.py

@@ -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
 

+ 4 - 4
tests/remote/rutils.py

@@ -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)

+ 2 - 2
tests/remote/test_example.py

@@ -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