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 3 23:56:23 UTC 2020


neels has uploaded this change for review. ( 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(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/15/21515/1

diff --git a/src/osmo_gsm_tester/core/log.py b/src/osmo_gsm_tester/core/log.py
index 81b430c..e58ab96 100644
--- a/src/osmo_gsm_tester/core/log.py
+++ b/src/osmo_gsm_tester/core/log.py
@@ -265,6 +265,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
@@ -564,6 +573,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 9b899e2..adfc444 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, 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: 1
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201203/08c7bf14/attachment.htm>


More information about the gerrit-log mailing list