aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--Lib/test/libregrtest/mypy.ini2
-rw-r--r--Lib/test/libregrtest/results.py2
-rw-r--r--Lib/test/libregrtest/single.py8
-rw-r--r--Lib/test/libregrtest/utils.py9
4 files changed, 16 insertions, 5 deletions
diff --git a/Lib/test/libregrtest/mypy.ini b/Lib/test/libregrtest/mypy.ini
index 331fe681b9f..22c7c7a9ace 100644
--- a/Lib/test/libregrtest/mypy.ini
+++ b/Lib/test/libregrtest/mypy.ini
@@ -25,7 +25,7 @@ warn_return_any = False
disable_error_code = return
# Enable --strict-optional for these ASAP:
-[mypy-Lib.test.libregrtest.main.*,Lib.test.libregrtest.run_workers.*,Lib.test.libregrtest.worker.*,Lib.test.libregrtest.single.*,Lib.test.libregrtest.results.*,Lib.test.libregrtest.utils.*]
+[mypy-Lib.test.libregrtest.main.*,Lib.test.libregrtest.run_workers.*]
strict_optional = False
# Various internal modules that typeshed deliberately doesn't have stubs for:
diff --git a/Lib/test/libregrtest/results.py b/Lib/test/libregrtest/results.py
index 59a566c0328..a41ea8aba02 100644
--- a/Lib/test/libregrtest/results.py
+++ b/Lib/test/libregrtest/results.py
@@ -117,6 +117,8 @@ class TestResults:
self.worker_bug = True
if result.has_meaningful_duration() and not rerun:
+ if result.duration is None:
+ raise ValueError("result.duration is None")
self.test_times.append((result.duration, test_name))
if result.stats is not None:
self.stats.accumulate(result.stats)
diff --git a/Lib/test/libregrtest/single.py b/Lib/test/libregrtest/single.py
index 5c7bc7d40fb..eafeb5fe26f 100644
--- a/Lib/test/libregrtest/single.py
+++ b/Lib/test/libregrtest/single.py
@@ -237,11 +237,11 @@ def _runtest(result: TestResult, runtests: RunTests) -> None:
output_on_failure = runtests.output_on_failure
timeout = runtests.timeout
- use_timeout = (
- timeout is not None and threading_helper.can_start_thread
- )
- if use_timeout:
+ if timeout is not None and threading_helper.can_start_thread:
+ use_timeout = True
faulthandler.dump_traceback_later(timeout, exit=True)
+ else:
+ use_timeout = False
try:
setup_tests(runtests)
diff --git a/Lib/test/libregrtest/utils.py b/Lib/test/libregrtest/utils.py
index d47e9388e62..d4972ce4a50 100644
--- a/Lib/test/libregrtest/utils.py
+++ b/Lib/test/libregrtest/utils.py
@@ -377,10 +377,19 @@ def get_temp_dir(tmp_dir: StrPath | None = None) -> StrPath:
# Python out of the source tree, especially when the
# source tree is read only.
tmp_dir = sysconfig.get_config_var('srcdir')
+ if not tmp_dir:
+ raise RuntimeError(
+ "Could not determine the correct value for tmp_dir"
+ )
tmp_dir = os.path.join(tmp_dir, 'build')
else:
# WASI platform
tmp_dir = sysconfig.get_config_var('projectbase')
+ if not tmp_dir:
+ raise RuntimeError(
+ "sysconfig.get_config_var('projectbase') "
+ f"unexpectedly returned {tmp_dir!r} on WASI"
+ )
tmp_dir = os.path.join(tmp_dir, 'build')
# When get_temp_dir() is called in a worker process,