MCPcopy Create free account
hub / github.com/python/cpython / _add_result

Method _add_result

Lib/test/libregrtest/testresult.py:51–86  ·  view source on GitHub ↗
(self, test, capture=False, **args)

Source from the content-addressed store, hash-verified

49 self.__start_time = time.perf_counter()
50
51 def _add_result(self, test, capture=False, **args):
52 if not self.USE_XML:
53 return
54 e = self.__e
55 self.__e = None
56 if e is None:
57 return
58 ET = self.__ET
59
60 e.set('name', args.pop('name', self.__getId(test)))
61 e.set('status', args.pop('status', 'run'))
62 e.set('result', args.pop('result', 'completed'))
63 if self.__start_time:
64 e.set('time', f'{time.perf_counter() - self.__start_time:0.6f}')
65
66 if capture:
67 if self._stdout_buffer is not None:
68 stdout = self._stdout_buffer.getvalue().rstrip()
69 ET.SubElement(e, 'system-out').text = sanitize_xml(stdout)
70 if self._stderr_buffer is not None:
71 stderr = self._stderr_buffer.getvalue().rstrip()
72 ET.SubElement(e, 'system-err').text = sanitize_xml(stderr)
73
74 for k, v in args.items():
75 if not k or not v:
76 continue
77
78 e2 = ET.SubElement(e, k)
79 if hasattr(v, 'items'):
80 for k2, v2 in v.items():
81 if k2:
82 e2.set(k2, sanitize_xml(str(v2)))
83 else:
84 e2.text = sanitize_xml(str(v2))
85 else:
86 e2.text = sanitize_xml(str(v))
87
88 @classmethod
89 def __makeErrorDict(cls, err_type, err_value, err_tb):

Callers 6

addErrorMethod · 0.95
addExpectedFailureMethod · 0.95
addFailureMethod · 0.95
addSkipMethod · 0.95
addSuccessMethod · 0.95
addUnexpectedSuccessMethod · 0.95

Calls 8

__getIdMethod · 0.95
sanitize_xmlFunction · 0.90
strFunction · 0.85
setMethod · 0.45
popMethod · 0.45
rstripMethod · 0.45
getvalueMethod · 0.45
itemsMethod · 0.45

Tested by

no test coverage detected