From 6c2c164de2330c1f8f63fac939d23e5b004d82b4 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Wed, 30 Aug 2023 14:27:40 +0300 Subject: [PATCH] `unittest`: py312 updates for `load_tests` and `loadTestsFromModule` (#10640) --- stdlib/unittest/__init__.pyi | 4 +++- stdlib/unittest/loader.pyi | 7 ++++++- tests/stubtest_allowlists/py312.txt | 3 --- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/stdlib/unittest/__init__.pyi b/stdlib/unittest/__init__.pyi index 33820c793..f96d6fb18 100644 --- a/stdlib/unittest/__init__.pyi +++ b/stdlib/unittest/__init__.pyi @@ -65,5 +65,7 @@ if sys.version_info >= (3, 8): if sys.version_info >= (3, 11): __all__ += ["enterModuleContext", "doModuleCleanups"] -def load_tests(loader: TestLoader, tests: TestSuite, pattern: str | None) -> TestSuite: ... +if sys.version_info < (3, 12): + def load_tests(loader: TestLoader, tests: TestSuite, pattern: str | None) -> TestSuite: ... + def __dir__() -> set[str]: ... diff --git a/stdlib/unittest/loader.pyi b/stdlib/unittest/loader.pyi index f3850c939..202309ac1 100644 --- a/stdlib/unittest/loader.pyi +++ b/stdlib/unittest/loader.pyi @@ -1,3 +1,4 @@ +import sys import unittest.case import unittest.suite from collections.abc import Callable, Sequence @@ -18,7 +19,11 @@ class TestLoader: testNamePatterns: list[str] | None suiteClass: _SuiteClass def loadTestsFromTestCase(self, testCaseClass: type[unittest.case.TestCase]) -> unittest.suite.TestSuite: ... - def loadTestsFromModule(self, module: ModuleType, *args: Any, pattern: Any = None) -> unittest.suite.TestSuite: ... + if sys.version_info >= (3, 12): + def loadTestsFromModule(self, module: ModuleType, *, pattern: str | None = None) -> unittest.suite.TestSuite: ... + else: + def loadTestsFromModule(self, module: ModuleType, *args: Any, pattern: str | None = None) -> unittest.suite.TestSuite: ... + def loadTestsFromName(self, name: str, module: ModuleType | None = None) -> unittest.suite.TestSuite: ... def loadTestsFromNames(self, names: Sequence[str], module: ModuleType | None = None) -> unittest.suite.TestSuite: ... def getTestCaseNames(self, testCaseClass: type[unittest.case.TestCase]) -> Sequence[str]: ... diff --git a/tests/stubtest_allowlists/py312.txt b/tests/stubtest_allowlists/py312.txt index 42f978487..961a06b97 100644 --- a/tests/stubtest_allowlists/py312.txt +++ b/tests/stubtest_allowlists/py312.txt @@ -63,9 +63,6 @@ typing.override typing_extensions.Protocol typing_extensions.SupportsAbs.__type_params__ typing_extensions.SupportsRound.__type_params__ -unittest.TestLoader.loadTestsFromModule -unittest.load_tests -unittest.loader.TestLoader.loadTestsFromModule unittest.mock.NonCallableMock.__new__ urllib.request.AbstractHTTPHandler.__init__ urllib.request.HTTPSHandler.__init__