@@ -17,6 +17,8 @@ class ModelTextTestResult(unittest.TextTestResult):
1717 def __init__ (self , * args : t .Any , ** kwargs : t .Any ):
1818 super ().__init__ (* args , ** kwargs )
1919 self .successes = []
20+ self .original_failures : t .List [t .Tuple [unittest .TestCase , ErrorType ]] = []
21+ self .original_errors : t .List [t .Tuple [unittest .TestCase , ErrorType ]] = []
2022
2123 def addSubTest (
2224 self ,
@@ -48,8 +50,9 @@ def addFailure(self, test: unittest.TestCase, err: ErrorType) -> None:
4850 test: The test case.
4951 err: A tuple of the form returned by sys.exc_info(), i.e., (type, value, traceback).
5052 """
51- exctype , value , tb = err
52- self .original_err = (test , err )
53+ exctype , value , _ = err
54+ self .original_failures .append ((test , err ))
55+ # Intentionally ignore the traceback to hide it from the user
5356 return super ().addFailure (test , (exctype , value , None )) # type: ignore
5457
5558 def addError (self , test : unittest .TestCase , err : ErrorType ) -> None :
@@ -59,8 +62,10 @@ def addError(self, test: unittest.TestCase, err: ErrorType) -> None:
5962 test: The test case.
6063 err: A tuple of the form returned by sys.exc_info(), i.e., (type, value, traceback).
6164 """
62- self .original_err = (test , err )
63- return super ().addError (test , err ) # type: ignore
65+ exctype , value , _ = err
66+ self .original_errors .append ((test , err ))
67+ # Intentionally ignore the traceback to hide it from the user
68+ return super ().addError (test , (exctype , value , None )) # type: ignore
6469
6570 def addSuccess (self , test : unittest .TestCase ) -> None :
6671 """Called when the test case test succeeds.
@@ -105,9 +110,10 @@ def log_test_report(self, test_duration: float) -> None:
105110 stream .writeln (unittest .TextTestResult .separator2 )
106111 stream .writeln (failure )
107112
108- for _ , error in errors :
113+ for test_case , error in errors :
109114 stream .writeln (unittest .TextTestResult .separator1 )
110- stream .writeln (f"ERROR: { error } " )
115+ stream .writeln (f"ERROR: { test_case } " )
116+ stream .writeln (error )
111117
112118 # Output final report
113119 stream .writeln (unittest .TextTestResult .separator2 )
0 commit comments