@@ -94,15 +94,21 @@ def __init__(self, test_result, test_method, outcome=SUCCESS, err=None, subTest=
9494 self .test_result = test_result
9595 self .outcome = outcome
9696 self .elapsed_time = 0
97- self .err = err
97+ if err :
98+ if self .outcome != _TestInfo .SKIP :
99+ self .test_exception_name = safe_unicode (err [0 ].__name__ )
100+ self .test_exception_message = safe_unicode (err [1 ])
101+ else :
102+ self .test_exception_message = safe_unicode (err )
103+
98104 self .stdout = test_result ._stdout_data
99105 self .stderr = test_result ._stderr_data
100106
101107 self .test_description = self .test_result .getDescription (test_method )
102108 self .test_exception_info = (
103109 '' if outcome in (self .SUCCESS , self .SKIP )
104110 else self .test_result ._exc_info_to_string (
105- self . err , test_method )
111+ err , test_method )
106112 )
107113
108114 self .test_name = testcase_name (test_method )
@@ -419,18 +425,18 @@ def _report_testcase(test_result, xml_testsuite, xml_document):
419425 if test_result .outcome != test_result .SKIP :
420426 failure .setAttribute (
421427 'type' ,
422- safe_unicode ( test_result .err [ 0 ]. __name__ )
428+ test_result .test_exception_name
423429 )
424430 failure .setAttribute (
425431 'message' ,
426- safe_unicode ( test_result .err [ 1 ])
432+ test_result .test_exception_message
427433 )
428434 error_info = safe_unicode (test_result .get_error_info ())
429435 _XMLTestResult ._createCDATAsections (
430436 xml_document , failure , error_info )
431437 else :
432438 failure .setAttribute ('type' , 'skip' )
433- failure .setAttribute ('message' , safe_unicode ( test_result .err ) )
439+ failure .setAttribute ('message' , test_result .test_exception_message )
434440
435441 _report_testcase = staticmethod (_report_testcase )
436442
0 commit comments