Change in osmo-gsm-tester[master]: implement test.get_log_output()

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

neels gerrit-no-reply at lists.osmocom.org
Thu Dec 10 23:42:09 UTC 2020


neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21515 )

Change subject: implement test.get_log_output()
......................................................................

implement test.get_log_output()

Retrieve a test's own logging. The aim is to provide logging belonging
to a given report fragment in the junit XML output, will be used by
upcoming test.report_fragment() feature.

Change-Id: Idfa0a45f3e6a18dd4fe692e81d732c70b5cffb76
---
M src/osmo_gsm_tester/core/log.py
M src/osmo_gsm_tester/core/test.py
2 files changed, 42 insertions(+), 0 deletions(-)



diff --git a/src/osmo_gsm_tester/core/log.py b/src/osmo_gsm_tester/core/log.py
index 7a13bdd..a573f05 100644
--- a/src/osmo_gsm_tester/core/log.py
+++ b/src/osmo_gsm_tester/core/log.py
@@ -264,6 +264,15 @@
             lines.insert(0, '')
         self.log_write_func('\n'.join(lines))
 
+    def get_mark(self):
+        # implemented in FileLogTarget
+        return 0
+
+    def get_output(self, since_mark=0):
+        # implemented in FileLogTarget
+        return ''
+
+
 def level_str(level):
     if level == L_TRACEBACK:
         return L_TRACEBACK
@@ -569,6 +578,21 @@
     def log_file_path(self):
         return self.path
 
+    def get_mark(self):
+        if self.path is None:
+            return 0
+        # return current file length
+        with open(self.path, 'r') as logfile:
+            return logfile.seek(0, 2)
+
+    def get_output(self, since_mark=0):
+        if self.path is None:
+            return ''
+        with open(self.path, 'r') as logfile:
+            if since_mark:
+                logfile.seek(since_mark)
+            return logfile.read()
+
 def run_logging_exceptions(func, *func_args, return_on_failure=None, **func_kwargs):
     try:
         return func(*func_args, **func_kwargs)
diff --git a/src/osmo_gsm_tester/core/test.py b/src/osmo_gsm_tester/core/test.py
index cf910ea..ec85c45 100644
--- a/src/osmo_gsm_tester/core/test.py
+++ b/src/osmo_gsm_tester/core/test.py
@@ -165,4 +165,22 @@
         else:
             return 'test log file not available'
 
+    def log_file(self):
+        for lt in self.log_targets:
+            if isinstance(lt, log.FileLogTarget):
+                return lt
+        return None
+
+    def get_log_mark(self):
+        lt = self.log_file()
+        if lt is None:
+            return 0
+        return lt.get_mark()
+
+    def get_log_output(self, since_mark=0):
+        lt = self.log_file()
+        if lt is None:
+            return ''
+        return lt.get_output(since_mark)
+
 # vim: expandtab tabstop=4 shiftwidth=4

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21515
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Change-Id: Idfa0a45f3e6a18dd4fe692e81d732c70b5cffb76
Gerrit-Change-Number: 21515
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201210/72ae0763/attachment.htm>


More information about the gerrit-log mailing list