diff mbox series

[2/5] oeqa/runtime/parselogs: don't pass around members

Message ID 20230923130411.766482-3-ross.burton@arm.com
State Accepted, archived
Commit a24d6eda061363cdcfa95980cd2698a674737d23
Headers show
Series oeqa/runtime/parselogs improvements | expand

Commit Message

Ross Burton Sept. 23, 2023, 1:04 p.m. UTC
From: Ross Burton <ross.burton@arm.com>

There's no point in passing around member fields, just access them
directly.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/lib/oeqa/runtime/cases/parselogs.py | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)
diff mbox series

Patch

diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py
index 93782b844b9..0262f574d1a 100644
--- a/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -263,19 +263,19 @@  class ParseLogsTest(OERuntimeTestCase):
         return logs
 
     # Build the grep command to be used with filters and exclusions
-    def build_grepcmd(self, errors, ignore_errors, log):
+    def build_grepcmd(self, log):
         grepcmd = 'grep '
         grepcmd += '-Ei "'
-        for error in errors:
+        for error in self.errors:
             grepcmd += r'\<' + error + r'\>' + '|'
         grepcmd = grepcmd[:-1]
         grepcmd += '" ' + str(log) + " | grep -Eiv \'"
 
         try:
-            errorlist = ignore_errors[self.td.get('MACHINE')]
+            errorlist = self.ignore_errors[self.td.get('MACHINE')]
         except KeyError:
             self.msg += 'No ignore list found for this machine, using default\n'
-            errorlist = ignore_errors['default']
+            errorlist = self.ignore_errors['default']
 
         for ignore_error in errorlist:
             ignore_error = ignore_error.replace('(', r'\(')
@@ -292,17 +292,21 @@  class ParseLogsTest(OERuntimeTestCase):
 
         return grepcmd
 
-    # Grep only the errors so that their context could be collected.
-    # Default context is 10 lines before and after the error itself
-    def parse_logs(self, errors, ignore_errors, logs,
-                   lines_before = 10, lines_after = 10):
+    def parse_logs(self, logs, lines_before=10, lines_after=10):
+        """
+        Search the log files @logs looking for error lines (marked by
+        @self.errors), ignoring anything listed in @self.ignore_errors.
+
+        Returns a dictionary of log filenames to a dictionary of error lines to
+        the error context (controlled by @lines_before and @lines_after).
+        """
         results = {}
         rez = []
         grep_output = ''
 
         for log in logs:
             result = None
-            thegrep = self.build_grepcmd(errors, ignore_errors, log)
+            thegrep = self.build_grepcmd(log)
 
             try:
                 result = check_output(thegrep, shell=True).decode('utf-8')
@@ -333,7 +337,7 @@  class ParseLogsTest(OERuntimeTestCase):
     def test_parselogs(self):
         self.write_dmesg()
         log_list = self.get_local_log_list(self.log_locations)
-        result = self.parse_logs(self.errors, self.ignore_errors, log_list)
+        result = self.parse_logs(log_list)
         errcount = 0
         for log in result:
             self.msg += 'Log: ' + log + '\n'