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

Function _runtest_env_changed_exc

Lib/test/libregrtest/single.py:188–267  ·  view source on GitHub ↗
(result: TestResult, runtests: RunTests,
                             display_failure: bool = True)

Source from the content-addressed store, hash-verified

186
187
188def _runtest_env_changed_exc(result: TestResult, runtests: RunTests,
189 display_failure: bool = True) -> None:
190 # Handle exceptions, detect environment changes.
191 stdout = get_colors(file=sys.stdout)
192 stderr = get_colors(file=sys.stderr)
193
194 # Reset the environment_altered flag to detect if a test altered
195 # the environment
196 support.environment_altered = False
197
198 pgo = runtests.pgo
199 if pgo:
200 display_failure = False
201 quiet = runtests.quiet
202
203 test_name = result.test_name
204 try:
205 clear_caches()
206 support.gc_collect()
207
208 with saved_test_environment(test_name,
209 runtests.verbose, quiet, pgo=pgo):
210 _load_run_test(result, runtests)
211 except support.ResourceDenied as exc:
212 if not quiet and not pgo:
213 print(
214 f"{stdout.YELLOW}{test_name} skipped -- {exc}{stdout.RESET}",
215 flush=True,
216 )
217 result.state = State.RESOURCE_DENIED
218 return
219 except unittest.SkipTest as exc:
220 if not quiet and not pgo:
221 print(
222 f"{stdout.YELLOW}{test_name} skipped -- {exc}{stdout.RESET}",
223 flush=True,
224 )
225 result.state = State.SKIPPED
226 return
227 except support.TestFailedWithDetails as exc:
228 msg = f"{stderr.RED}test {test_name} failed{stderr.RESET}"
229 if display_failure:
230 msg = f"{stderr.RED}{msg} -- {exc}{stderr.RESET}"
231 print(msg, file=sys.stderr, flush=True)
232 result.state = State.FAILED
233 result.errors = exc.errors
234 result.failures = exc.failures
235 result.stats = exc.stats
236 return
237 except support.TestFailed as exc:
238 msg = f"{stderr.RED}test {test_name} failed{stderr.RESET}"
239 if display_failure:
240 msg = f"{stderr.RED}{msg} -- {exc}{stderr.RESET}"
241 print(msg, file=sys.stderr, flush=True)
242 result.state = State.FAILED
243 result.stats = exc.stats
244 return
245 except support.TestDidNotRun:

Callers 1

_runtestFunction · 0.85

Calls 5

get_colorsFunction · 0.90
clear_cachesFunction · 0.85
_load_run_testFunction · 0.85
set_env_changedMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…