aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/robot_output_parser_publish.py
diff options
context:
space:
mode:
Diffstat (limited to 'resources/tools/robot_output_parser_publish.py')
-rwxr-xr-xresources/tools/robot_output_parser_publish.py31
1 files changed, 23 insertions, 8 deletions
diff --git a/resources/tools/robot_output_parser_publish.py b/resources/tools/robot_output_parser_publish.py
index f9eab8ce08..92038b5903 100755
--- a/resources/tools/robot_output_parser_publish.py
+++ b/resources/tools/robot_output_parser_publish.py
@@ -18,6 +18,7 @@ robot framework output file (output.xml) and print in specified format (wiki,
html) to stdout or, if specified by parameter, redirect to file."""
import argparse
+import re
import sys
from robot.api import ExecutionResult, ResultVisitor
@@ -40,14 +41,20 @@ class ExecutionChecker(ResultVisitor):
if self.start_suite(suite) is not False:
if suite.tests:
if self.formatting == 'html':
- sys.stdout.write('<table border=1>'+'\n')
- sys.stdout.write('<tr><th width=32%>Name</th>'+\
- '<th width=40%>Documentation</th>'+\
- '<th width=24%>Message</th>'+\
- '<th width=4%>Status</th><tr/>'+'\n')
+ sys.stdout.write('<table width=100% border=1><tr>'+'\n')
+ sys.stdout.write('<th width=32%>Name</th>'+'\n')
+ sys.stdout.write('<th width=40%>Documentation</th>'+'\n')
+ if "Perf" and "Long" in suite.longname:
+ sys.stdout.write('<th width=24%>Message</th>'+'\n')
+ sys.stdout.write('<th width=4%>Status</th><tr/>'+'\n')
+ sys.stdout.write('</tr>')
elif self.formatting == 'wiki':
sys.stdout.write('{| class="wikitable"'+'\n')
- sys.stdout.write('!Name!!Documentation!!Message!!Status'+'\n')
+ if "Perf" and "Long" in suite.longname:
+ header = '!Name!!Documentation!!Message!!Status'
+ else:
+ header = '!Name!!Documentation!!Status'
+ sys.stdout.write(header+'\n')
else:
pass
@@ -78,9 +85,15 @@ class ExecutionChecker(ResultVisitor):
mark_l = '<h'+str(level)+'>'
mark_r = '</h'+str(level)+'>'
sys.stdout.write(mark_l+suite.name+mark_r+'\n')
+ sys.stdout.write('<p>'+re.sub(r"(\*)(.*?)(\*)", r"<b>\2</b>",\
+ suite.doc, 0, flags=re.MULTILINE).replace(\
+ '[', '<br>[')+'</p>\n')
+
elif self.formatting == 'wiki':
mark = "=" * (level+2)
sys.stdout.write(mark+suite.name+mark+'\n')
+ sys.stdout.write(re.sub(r"(\*)(.*?)(\*)", r"\n*'''\2'''",\
+ suite.doc.replace('\n', ' '), 0, flags=re.MULTILINE)+'\n')
else:
pass
@@ -117,13 +130,15 @@ class ExecutionChecker(ResultVisitor):
sys.stdout.write('<tr>'+'\n')
sys.stdout.write('<td>'+test.name+'</td>'+'\n')
sys.stdout.write('<td>'+test.doc+'</td>'+'\n')
- sys.stdout.write('<td>'+test.message+'</td>'+'\n')
+ if any("PERFTEST_LONG" in tag for tag in test.tags):
+ sys.stdout.write('<td>'+test.message+'</td>'+'\n')
sys.stdout.write('<td>'+test.status+'</td>'+'\n')
elif self.formatting == 'wiki':
sys.stdout.write('|-'+'\n')
sys.stdout.write('|'+test.name+'\n')
sys.stdout.write('|'+test.doc+'\n')
- sys.stdout.write('|'+test.message+'\n')
+ if any("PERFTEST_LONG" in tag for tag in test.tags):
+ sys.stdout.write('|'+test.message+'\n')
sys.stdout.write('|'+test.status+'\n')
else:
pass