mirror of
https://github.com/python/cpython.git
synced 2025-08-16 23:01:34 +00:00
[3.12] gh-111881: Import doctest lazily in libregrtest (GH-111884) (#111893)
gh-111881: Import doctest lazily in libregrtest (GH-111884)
In most cases, doctest is not needed. So don't always import it at
startup. The change reduces the number of modules already
imported when a test is run.
(cherry picked from commit 6f09f69b7f
)
Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
e983ca859d
commit
5089faf954
1 changed files with 8 additions and 5 deletions
|
@ -1,4 +1,3 @@
|
||||||
import doctest
|
|
||||||
import faulthandler
|
import faulthandler
|
||||||
import gc
|
import gc
|
||||||
import importlib
|
import importlib
|
||||||
|
@ -99,14 +98,18 @@ def regrtest_runner(result: TestResult, test_func, runtests: RunTests) -> None:
|
||||||
stats = test_result
|
stats = test_result
|
||||||
case unittest.TestResult():
|
case unittest.TestResult():
|
||||||
stats = TestStats.from_unittest(test_result)
|
stats = TestStats.from_unittest(test_result)
|
||||||
case doctest.TestResults():
|
|
||||||
stats = TestStats.from_doctest(test_result)
|
|
||||||
case None:
|
case None:
|
||||||
print_warning(f"{result.test_name} test runner returned None: {test_func}")
|
print_warning(f"{result.test_name} test runner returned None: {test_func}")
|
||||||
stats = None
|
stats = None
|
||||||
case _:
|
case _:
|
||||||
print_warning(f"Unknown test result type: {type(test_result)}")
|
# Don't import doctest at top level since only few tests return
|
||||||
stats = None
|
# a doctest.TestResult instance.
|
||||||
|
import doctest
|
||||||
|
if isinstance(test_result, doctest.TestResults):
|
||||||
|
stats = TestStats.from_doctest(test_result)
|
||||||
|
else:
|
||||||
|
print_warning(f"Unknown test result type: {type(test_result)}")
|
||||||
|
stats = None
|
||||||
|
|
||||||
result.stats = stats
|
result.stats = stats
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue