def append_error(self, report, when=""):
"""Append xml report with error (in case TC failed on setup or teardown).
Args:
report(dict): Error report
when(str): Error occurance stage (setup|call|teardown)
"""
self.class_logger.info("Appending XML report with error.")
if 'longrepr' in list(report.keys()):
longrepr = xml_unescape(report['longrepr'])
if self.fail_traceback is not None:
failure_reason = None
if len(self.tests[-1]) > 0:
failure_reason = self.tests[-1].pop()
if self.update is not None and len(self.tests[-1]) > 0:
self.tests[-1].pop()
try:
self.tests[-1].pop()
except IndexError:
pass
self.append(
self.Junit.error(longrepr, # pylint: disable=no-member
message="Test error on %s and Test failure" % (when, )))
if hasattr(failure_reason.attr, "message") and failure_reason.attr.message == "Failure Reason":
self.tests[-1].append(failure_reason)
self.tests[-1][0].extend("\n" + "-" * 80 + "\nTest Case Failure\n" + "-" * 80 + "\n")
self.tests[-1][0].extend(self.fail_traceback)
else:
self.append(
self.Junit.error(longrepr, # pylint: disable=no-member
message="Test error on %s" % (when, )))
self.errors += 1
self.failed += 1
评论列表
文章目录