summaryrefslogtreecommitdiff
path: root/framework
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2012-02-03 11:49:56 +0000
committerJosé Fonseca <jfonseca@vmware.com>2012-02-03 11:50:12 +0000
commite838fc219254323ac9ff2a5c396693f31cb19386 (patch)
tree1cb491d3ee00bc7f46ee65de9a862d5126f1521f /framework
parentcad5266de8c0b677e5d4ecfbd31dc7b1af107f0c (diff)
jenkins: Escape dots in test names.
To avoid interfering w/ the test hierarchy, which is determined by the dots.
Diffstat (limited to 'framework')
-rw-r--r--framework/junit.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/framework/junit.py b/framework/junit.py
index bae4d9f14..781998db0 100644
--- a/framework/junit.py
+++ b/framework/junit.py
@@ -111,8 +111,13 @@ class Report:
self.stream.flush()
self.stream.close()
+ def escapeName(self, name):
+ '''Dots are special for junit, so escape them with underscores.'''
+ name = name.replace('.', '_')
+ return name
+
def startSuite(self, name):
- self.testsuites.append(name)
+ self.testsuites.append(self.escapeName(name))
def stopSuite(self):
if self.inside_testsuite:
@@ -128,7 +133,7 @@ class Report:
self.stream.write('<testsuite name="%s">\n' % escape('.'.join(self.testsuites)))
self.inside_testsuite = True
- self.case_name = name
+ self.case_name = self.escapeName(name)
self.buffer = []
self.stdout = []
self.stderr = []