MCPcopy Index your code
hub / github.com/python/cpython / regrtest_runner

Function regrtest_runner

Lib/test/libregrtest/single.py:109–144  ·  view source on GitHub ↗
(result: TestResult, test_func, runtests: RunTests)

Source from the content-addressed store, hash-verified

107
108
109def regrtest_runner(result: TestResult, test_func, runtests: RunTests) -> None:
110 # Run test_func(), collect statistics, and detect reference and memory
111 # leaks.
112 if runtests.hunt_refleak:
113 from .refleak import runtest_refleak
114 refleak, test_result = runtest_refleak(result.test_name, test_func,
115 runtests.hunt_refleak,
116 runtests.quiet)
117 else:
118 test_result = test_func()
119 refleak = False
120
121 if refleak:
122 result.state = State.REFLEAK
123
124 stats: TestStats | None
125
126 match test_result:
127 case TestStats():
128 stats = test_result
129 case unittest.TestResult():
130 stats = TestStats.from_unittest(test_result)
131 case None:
132 print_warning(f"{result.test_name} test runner returned None: {test_func}")
133 stats = None
134 case _:
135 # Don't import doctest at top level since only few tests return
136 # a doctest.TestResult instance.
137 import doctest
138 if isinstance(test_result, doctest.TestResults):
139 stats = TestStats.from_doctest(test_result)
140 else:
141 print_warning(f"Unknown test result type: {type(test_result)}")
142 stats = None
143
144 result.stats = stats
145
146
147# Storage of uncollectable GC objects (gc.garbage)

Callers 1

_load_run_testFunction · 0.85

Calls 5

runtest_refleakFunction · 0.85
from_unittestMethod · 0.80
from_doctestMethod · 0.80
test_funcFunction · 0.70
print_warningFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…