summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/libregrtest/single.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/Lib/test/libregrtest/single.py b/Lib/test/libregrtest/single.py
index ad75ef5..5c7bc7d 100644
--- a/Lib/test/libregrtest/single.py
+++ b/Lib/test/libregrtest/single.py
@@ -1,4 +1,3 @@
-import doctest
import faulthandler
import gc
import importlib
@@ -99,14 +98,18 @@ def regrtest_runner(result: TestResult, test_func, runtests: RunTests) -> None:
stats = test_result
case unittest.TestResult():
stats = TestStats.from_unittest(test_result)
- case doctest.TestResults():
- stats = TestStats.from_doctest(test_result)
case None:
print_warning(f"{result.test_name} test runner returned None: {test_func}")
stats = None
case _:
- print_warning(f"Unknown test result type: {type(test_result)}")
- stats = None
+ # Don't import doctest at top level since only few tests return
+ # 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