<p>neels <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21515">View Change</a></p><div style="white-space:pre-wrap"></div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">implement test.get_log_output()<br><br>Retrieve a test's own logging. The aim is to provide logging belonging<br>to a given report fragment in the junit XML output, will be used by<br>upcoming test.report_fragment() feature.<br><br>Change-Id: Idfa0a45f3e6a18dd4fe692e81d732c70b5cffb76<br>---<br>M src/osmo_gsm_tester/core/log.py<br>M src/osmo_gsm_tester/core/test.py<br>2 files changed, 42 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/core/log.py b/src/osmo_gsm_tester/core/log.py</span><br><span>index 7a13bdd..a573f05 100644</span><br><span>--- a/src/osmo_gsm_tester/core/log.py</span><br><span>+++ b/src/osmo_gsm_tester/core/log.py</span><br><span>@@ -264,6 +264,15 @@</span><br><span>             lines.insert(0, '')</span><br><span>         self.log_write_func('\n'.join(lines))</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def get_mark(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        # implemented in FileLogTarget</span><br><span style="color: hsl(120, 100%, 40%);">+        return 0</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    def get_output(self, since_mark=0):</span><br><span style="color: hsl(120, 100%, 40%);">+        # implemented in FileLogTarget</span><br><span style="color: hsl(120, 100%, 40%);">+        return ''</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> def level_str(level):</span><br><span>     if level == L_TRACEBACK:</span><br><span>         return L_TRACEBACK</span><br><span>@@ -569,6 +578,21 @@</span><br><span>     def log_file_path(self):</span><br><span>         return self.path</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def get_mark(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        if self.path is None:</span><br><span style="color: hsl(120, 100%, 40%);">+            return 0</span><br><span style="color: hsl(120, 100%, 40%);">+        # return current file length</span><br><span style="color: hsl(120, 100%, 40%);">+        with open(self.path, 'r') as logfile:</span><br><span style="color: hsl(120, 100%, 40%);">+            return logfile.seek(0, 2)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    def get_output(self, since_mark=0):</span><br><span style="color: hsl(120, 100%, 40%);">+        if self.path is None:</span><br><span style="color: hsl(120, 100%, 40%);">+            return ''</span><br><span style="color: hsl(120, 100%, 40%);">+        with open(self.path, 'r') as logfile:</span><br><span style="color: hsl(120, 100%, 40%);">+            if since_mark:</span><br><span style="color: hsl(120, 100%, 40%);">+                logfile.seek(since_mark)</span><br><span style="color: hsl(120, 100%, 40%);">+            return logfile.read()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> def run_logging_exceptions(func, *func_args, return_on_failure=None, **func_kwargs):</span><br><span>     try:</span><br><span>         return func(*func_args, **func_kwargs)</span><br><span>diff --git a/src/osmo_gsm_tester/core/test.py b/src/osmo_gsm_tester/core/test.py</span><br><span>index cf910ea..ec85c45 100644</span><br><span>--- a/src/osmo_gsm_tester/core/test.py</span><br><span>+++ b/src/osmo_gsm_tester/core/test.py</span><br><span>@@ -165,4 +165,22 @@</span><br><span>         else:</span><br><span>             return 'test log file not available'</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def log_file(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        for lt in self.log_targets:</span><br><span style="color: hsl(120, 100%, 40%);">+            if isinstance(lt, log.FileLogTarget):</span><br><span style="color: hsl(120, 100%, 40%);">+                return lt</span><br><span style="color: hsl(120, 100%, 40%);">+        return None</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    def get_log_mark(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        lt = self.log_file()</span><br><span style="color: hsl(120, 100%, 40%);">+        if lt is None:</span><br><span style="color: hsl(120, 100%, 40%);">+            return 0</span><br><span style="color: hsl(120, 100%, 40%);">+        return lt.get_mark()</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    def get_log_output(self, since_mark=0):</span><br><span style="color: hsl(120, 100%, 40%);">+        lt = self.log_file()</span><br><span style="color: hsl(120, 100%, 40%);">+        if lt is None:</span><br><span style="color: hsl(120, 100%, 40%);">+            return ''</span><br><span style="color: hsl(120, 100%, 40%);">+        return lt.get_output(since_mark)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> # vim: expandtab tabstop=4 shiftwidth=4</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21515">change 21515</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21515"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Idfa0a45f3e6a18dd4fe692e81d732c70b5cffb76 </div>
<div style="display:none"> Gerrit-Change-Number: 21515 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-CC: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>