@@ -161,6 +161,8 @@ def test_func():
161161def _runtest_env_changed_exc (result : TestResult , runtests : RunTests ,
162162 display_failure : bool = True ) -> None :
163163 # Handle exceptions, detect environment changes.
164+ stdout = get_colors (file = sys .stdout )
165+ stderr = get_colors (file = sys .stderr )
164166
165167 # Reset the environment_altered flag to detect if a test altered
166168 # the environment
@@ -181,28 +183,34 @@ def _runtest_env_changed_exc(result: TestResult, runtests: RunTests,
181183 _load_run_test (result , runtests )
182184 except support .ResourceDenied as exc :
183185 if not quiet and not pgo :
184- print (f"{ test_name } skipped -- { exc } " , flush = True )
186+ print (
187+ f"{ stdout .YELLOW } { test_name } skipped -- { exc } { stdout .RESET } " ,
188+ flush = True ,
189+ )
185190 result .state = State .RESOURCE_DENIED
186191 return
187192 except unittest .SkipTest as exc :
188193 if not quiet and not pgo :
189- print (f"{ test_name } skipped -- { exc } " , flush = True )
194+ print (
195+ f"{ stdout .YELLOW } { test_name } skipped -- { exc } { stdout .RESET } " ,
196+ flush = True ,
197+ )
190198 result .state = State .SKIPPED
191199 return
192200 except support .TestFailedWithDetails as exc :
193- msg = f"test { test_name } failed"
201+ msg = f"{ stderr . RED } test { test_name } failed{ stderr . RESET } "
194202 if display_failure :
195- msg = f"{ msg } -- { exc } "
203+ msg = f"{ stderr . RED } { msg } -- { exc } { stderr . RESET } "
196204 print (msg , file = sys .stderr , flush = True )
197205 result .state = State .FAILED
198206 result .errors = exc .errors
199207 result .failures = exc .failures
200208 result .stats = exc .stats
201209 return
202210 except support .TestFailed as exc :
203- msg = f"test { test_name } failed"
211+ msg = f"{ stderr . RED } test { test_name } failed{ stderr . RESET } "
204212 if display_failure :
205- msg = f"{ msg } -- { exc } "
213+ msg = f"{ stderr . RED } { msg } -- { exc } { stderr . RESET } "
206214 print (msg , file = sys .stderr , flush = True )
207215 result .state = State .FAILED
208216 result .stats = exc .stats
@@ -217,8 +225,11 @@ def _runtest_env_changed_exc(result: TestResult, runtests: RunTests,
217225 except :
218226 if not pgo :
219227 msg = traceback .format_exc ()
220- print (f"test { test_name } crashed -- { msg } " ,
221- file = sys .stderr , flush = True )
228+ print (
229+ f"{ stderr .RED } test { test_name } crashed -- { msg } { stderr .RESET } " ,
230+ file = sys .stderr ,
231+ flush = True ,
232+ )
222233 result .state = State .UNCAUGHT_EXC
223234 return
224235
@@ -300,6 +311,9 @@ def run_single_test(test_name: TestName, runtests: RunTests) -> TestResult:
300311 If runtests.use_junit, xml_data is a list containing each generated
301312 testsuite element.
302313 """
314+ ansi = get_colors (file = sys .stderr )
315+ red , reset , yellow = ansi .BOLD_RED , ansi .RESET , ansi .YELLOW
316+
303317 start_time = time .perf_counter ()
304318 result = TestResult (test_name )
305319 pgo = runtests .pgo
0 commit comments