validate: Report the full test name in the xunit file
authorJordan Petridis <jpetridis@gnome.org>
Tue, 11 Dec 2018 09:42:25 +0000 (11:42 +0200)
committerThibault Saunier <tsaunier@gnome.org>
Sat, 26 Jan 2019 16:55:23 +0000 (16:55 +0000)
Looks like gitlab prefers this way of representing tests as it
displays only the name field in its junit reports.

Close #32

validate/launcher/reporters.py

index d3b6eaa..e165da1 100644 (file)
@@ -208,11 +208,10 @@ class XunitReporter(Reporter):
         xml_file = codecs.open(self.tmp_xml_file.name, 'a',
                                self.encoding, 'replace')
         xml_file.write(self._forceUnicode(
-            '<testcase classname=%(cls)s name=%(name)s time="%(taken).3f">'
+            '<testcase name=%(name)s time="%(taken).3f">'
             '<failure type=%(errtype)s message=%(message)s>%(stacktrace)s'
             '</failure>%(systemout)s</testcase>' %
-            {'cls': self._quoteattr(test.get_classname()),
-             'name': self._quoteattr(test.get_name()),
+            {'name': self._quoteattr(test.get_classname() + '.' + test.get_name()),
              'taken': test.time_taken,
              'stacktrace': stack_trace,
              'errtype': self._quoteattr(test.result),
@@ -229,10 +228,9 @@ class XunitReporter(Reporter):
         xml_file = codecs.open(self.tmp_xml_file.name, 'a',
                                self.encoding, 'replace')
         xml_file.write(self._forceUnicode(
-            '<testcase classname=%(cls)s name=%(name)s '
+            '<testcase name=%(name)s '
             'time="%(taken).3f">%(systemout)s</testcase>' %
-            {'cls': self._quoteattr(test.get_classname()),
-             'name': self._quoteattr(test.get_name()),
+            {'name': self._quoteattr(test.get_classname() + '.' + test.get_name()),
              'taken': test.time_taken,
              'systemout': self._get_captured(test),
              }))