<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21517">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">report fragment: strip ansi colors from junit XML<br><br>Jenkins does support showing ANSI colors on the web, but apparently not<br>in the junit results output. Strip ansi colors from report fragment<br><system-out> text, to make it less annoying to read those on jenkins.<br><br>Change-Id: I656ecc23bbfd3f25bdf012c890e0c998168844d3<br>---<br>M src/osmo_gsm_tester/core/log.py<br>M src/osmo_gsm_tester/core/report.py<br>2 files changed, 6 insertions(+), 1 deletion(-)<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/17/21517/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 e58ab96..932fbbf 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>@@ -23,6 +23,7 @@</span><br><span> import traceback</span><br><span> import contextlib</span><br><span> import atexit</span><br><span style="color: hsl(120, 100%, 40%);">+import re</span><br><span> from datetime import datetime # we need this for strftime as the one from time doesn't carry microsecond info</span><br><span> from inspect import getframeinfo, stack</span><br><span> </span><br><span>diff --git a/src/osmo_gsm_tester/core/report.py b/src/osmo_gsm_tester/core/report.py</span><br><span>index 35327ce..a56d4b3 100644</span><br><span>--- a/src/osmo_gsm_tester/core/report.py</span><br><span>+++ b/src/osmo_gsm_tester/core/report.py</span><br><span>@@ -41,11 +41,15 @@</span><br><span> invalid_xml_char_ranges_str = ['%s-%s' % (chr(low), chr(high))</span><br><span>                    for (low, high) in invalid_xml_char_ranges]</span><br><span> invalid_xml_char_ranges_regex = re.compile('[%s]' % ''.join(invalid_xml_char_ranges_str))</span><br><span style="color: hsl(120, 100%, 40%);">+ansi_color_re = re.compile('\033[0-9;]{1,4}m')</span><br><span> </span><br><span> def escape_xml_invalid_characters(str):</span><br><span>     replacement_char = '\uFFFD' # Unicode replacement character</span><br><span>     return invalid_xml_char_ranges_regex.sub(replacement_char, escape(str))</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+def strip_ansi_colors(text):</span><br><span style="color: hsl(120, 100%, 40%);">+    return ''.join(ansi_color_re.split(text))</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> def hash_info_to_junit(testsuite, hash_info):</span><br><span>     properties = et.SubElement(testsuite, 'properties')</span><br><span>     for key, val in hash_info.items():</span><br><span>@@ -156,7 +160,7 @@</span><br><span> </span><br><span>             if report_fragment.output:</span><br><span>                 sout = et.SubElement(el, 'system-out')</span><br><span style="color: hsl(0, 100%, 40%);">-                sout.text = escape_xml_invalid_characters(report_fragment.output)</span><br><span style="color: hsl(120, 100%, 40%);">+                sout.text = escape_xml_invalid_characters(strip_ansi_colors(report_fragment.output))</span><br><span>             testsuite.append(el)</span><br><span> </span><br><span>     testsuite.set('errors', str(errors))</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21517">change 21517</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/+/21517"/><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: I656ecc23bbfd3f25bdf012c890e0c998168844d3 </div>
<div style="display:none"> Gerrit-Change-Number: 21517 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>