<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18787">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">test: Store brief log per test and use as default report_stdout<br><br>Change-Id: I0972ba56a42c24f3d3b1bc94bcbdaca86026046a<br>---<br>M src/osmo_gsm_tester/core/log.py<br>M src/osmo_gsm_tester/core/test.py<br>M src/osmo_gsm_tester/core/trial.py<br>3 files changed, 13 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/18787/1</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 f1954d1..b8182f5 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>@@ -46,6 +46,9 @@</span><br><span> C_BUS = 'bus'</span><br><span> C_DEFAULT = '---'</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+FILE_LOG = 'log'</span><br><span style="color: hsl(120, 100%, 40%);">+FILE_LOG_BRIEF = 'log_brief'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> LOG_CTX_VAR = '_log_ctx_'</span><br><span> </span><br><span> def dbg(*messages, _origin=None, _category=None, _src=None, **named_items):</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 7e03b6c..47e1f42 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>@@ -46,7 +46,7 @@</span><br><span>         self.duration = 0</span><br><span>         self.fail_type = None</span><br><span>         self.fail_message = None</span><br><span style="color: hsl(0, 100%, 40%);">-        self.log_target = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self.log_targets = []</span><br><span>         self._report_stdout = None</span><br><span> </span><br><span>     def module_name(self):</span><br><span>@@ -62,7 +62,8 @@</span><br><span>     def run(self):</span><br><span>         testenv_obj = None</span><br><span>         try:</span><br><span style="color: hsl(0, 100%, 40%);">-            self.log_target = log.FileLogTarget(self.get_run_dir().new_child('log')).set_all_levels(log.L_DBG).style_change(trace=True)</span><br><span style="color: hsl(120, 100%, 40%);">+            self.log_targets = [log.FileLogTarget(self.get_run_dir().new_child(log.FILE_LOG)).set_all_levels(log.L_DBG).style_change(trace=True),</span><br><span style="color: hsl(120, 100%, 40%);">+                                log.FileLogTarget(self.get_run_dir().new_child(log.FILE_LOG_BRIEF)).style_change(src=False, all_origins_on_levels=(log.L_ERR, log.L_TRACEBACK))]</span><br><span>             log.large_separator(self.suite_run.trial().name(), self.suite_run.name(), self.name(), sublevel=3)</span><br><span>             self.status = Test.UNKNOWN</span><br><span>             self.start_timestamp = time.time()</span><br><span>@@ -95,8 +96,8 @@</span><br><span>         finally:</span><br><span>             if testenv_obj:</span><br><span>                 testenv_obj.stop()</span><br><span style="color: hsl(0, 100%, 40%);">-            if self.log_target:</span><br><span style="color: hsl(0, 100%, 40%);">-                self.log_target.remove()</span><br><span style="color: hsl(120, 100%, 40%);">+            for log_tgt in self.log_targets:</span><br><span style="color: hsl(120, 100%, 40%);">+                log_tgt.remove()</span><br><span> </span><br><span>     def name(self):</span><br><span>         l = log.get_line_for_src(self.path)</span><br><span>@@ -137,9 +138,9 @@</span><br><span>         # If test overwrote the text, provide it:</span><br><span>         if self._report_stdout is not None:</span><br><span>             return self._report_stdout</span><br><span style="color: hsl(0, 100%, 40%);">-        # Otherwise vy default provide the entire test log:</span><br><span style="color: hsl(0, 100%, 40%);">-        if self.log_target is not None and self.log_target.log_file_path() is not None:</span><br><span style="color: hsl(0, 100%, 40%);">-            with open(self.log_target.log_file_path(), 'r') as myfile:</span><br><span style="color: hsl(120, 100%, 40%);">+        # Otherwise vy default provide the entire test brief log:</span><br><span style="color: hsl(120, 100%, 40%);">+        if len(self.log_targets) == 2 and self.log_targets[1].log_file_path() is not None:</span><br><span style="color: hsl(120, 100%, 40%);">+            with open(self.log_targets[1].log_file_path(), 'r') as myfile:</span><br><span>                 return myfile.read()</span><br><span>         else:</span><br><span>             return 'test log file not available'</span><br><span>diff --git a/src/osmo_gsm_tester/core/trial.py b/src/osmo_gsm_tester/core/trial.py</span><br><span>index 001421f..3787726 100644</span><br><span>--- a/src/osmo_gsm_tester/core/trial.py</span><br><span>+++ b/src/osmo_gsm_tester/core/trial.py</span><br><span>@@ -32,8 +32,6 @@</span><br><span> FILE_CHECKSUMS = 'checksums.md5'</span><br><span> TIMESTAMP_FMT = '%Y-%m-%d_%H-%M-%S'</span><br><span> FILE_LAST_RUN = 'last_run'</span><br><span style="color: hsl(0, 100%, 40%);">-FILE_LOG = 'log'</span><br><span style="color: hsl(0, 100%, 40%);">-FILE_LOG_BRIEF = 'log_brief'</span><br><span> </span><br><span> class Trial(log.Origin):</span><br><span>     UNKNOWN = 'UNKNOWN'</span><br><span>@@ -71,12 +69,12 @@</span><br><span>         '''add a log target to log to the run dir, write taken marker, log a</span><br><span>         starting separator.'''</span><br><span>         run_dir = self.get_run_dir()</span><br><span style="color: hsl(0, 100%, 40%);">-        detailed_log = run_dir.new_child(FILE_LOG)</span><br><span style="color: hsl(120, 100%, 40%);">+        detailed_log = run_dir.new_child(log.FILE_LOG)</span><br><span>         self.log_targets = [</span><br><span>             log.FileLogTarget(detailed_log)</span><br><span>               .set_all_levels(log.L_DBG)</span><br><span>               .style_change(trace=True),</span><br><span style="color: hsl(0, 100%, 40%);">-            log.FileLogTarget(run_dir.new_child(FILE_LOG_BRIEF))</span><br><span style="color: hsl(120, 100%, 40%);">+            log.FileLogTarget(run_dir.new_child(log.FILE_LOG_BRIEF))</span><br><span>               .style_change(src=False, all_origins_on_levels=(log.L_ERR, log.L_TRACEBACK))</span><br><span>             ]</span><br><span>         log.large_separator(self.name(), sublevel=1)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18787">change 18787</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/+/18787"/><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: I0972ba56a42c24f3d3b1bc94bcbdaca86026046a </div>
<div style="display:none"> Gerrit-Change-Number: 18787 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>