@@ -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 )
@@ -422,18 +428,18 @@ def _report_testcase(test_result, xml_testsuite, xml_document):
422428 if test_result .outcome != test_result .SKIP :
423429 failure .setAttribute (
424430 'type' ,
425- safe_unicode ( test_result .err [ 0 ]. __name__ )
431+ test_result .test_exception_name
426432 )
427433 failure .setAttribute (
428434 'message' ,
429- safe_unicode ( test_result .err [ 1 ])
435+ test_result .test_exception_message
430436 )
431437 error_info = safe_unicode (test_result .get_error_info ())
432438 _XMLTestResult ._createCDATAsections (
433439 xml_document , failure , error_info )
434440 else :
435441 failure .setAttribute ('type' , 'skip' )
436- failure .setAttribute ('message' , safe_unicode ( test_result .err ) )
442+ failure .setAttribute ('message' , test_result .test_exception_message )
437443
438444 _report_testcase = staticmethod (_report_testcase )
439445
0 commit comments