From 563e94740231849c33db9848b333e58a323536e0 Mon Sep 17 00:00:00 2001 From: PIG208 <39874143+PIG208@users.noreply.github.com> Date: Fri, 22 Jul 2022 03:34:26 -0400 Subject: [PATCH] Improve type annotation of DiscoverRunner. (#1069) The return type of DiscoverRunner.get_resultclass should be Optional[Type[TextTestResult]] given that it may also return PDBDebugResult: https://github.com/django/django/blob/0dd29209091280ccf34e07c9468746c396b7778e/django/test/runner.py#L958-L962 `DicoverRunner.run_tests` accepts `None` for `extra_tests` because that's already the default value for it: https://github.com/django/django/blob/0dd29209091280ccf34e07c9468746c396b7778e/django/test/runner.py#L1030 --- django-stubs/test/runner.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/django-stubs/test/runner.pyi b/django-stubs/test/runner.pyi index ded6f97..fc3adfe 100644 --- a/django-stubs/test/runner.pyi +++ b/django-stubs/test/runner.pyi @@ -122,7 +122,7 @@ class DiscoverRunner: self, test_labels: Sequence[str] = ..., extra_tests: Optional[List[Any]] = ..., **kwargs: Any ) -> TestSuite: ... def setup_databases(self, **kwargs: Any) -> List[Tuple[BaseDatabaseWrapper, str, bool]]: ... - def get_resultclass(self) -> Optional[Type[DebugSQLTextTestResult]]: ... + def get_resultclass(self) -> Optional[Type[TextTestResult]]: ... def get_test_runner_kwargs(self) -> Dict[str, Optional[int]]: ... def run_checks(self, databases: Set[str]) -> None: ... def run_suite(self, suite: TestSuite, **kwargs: Any) -> TextTestResult: ... @@ -130,7 +130,7 @@ class DiscoverRunner: def teardown_test_environment(self, **kwargs: Any) -> None: ... def suite_result(self, suite: TestSuite, result: TextTestResult, **kwargs: Any) -> int: ... def get_databases(self, suite: TestSuite) -> Set[str]: ... - def run_tests(self, test_labels: List[str], extra_tests: List[Any] = ..., **kwargs: Any) -> int: ... + def run_tests(self, test_labels: List[str], extra_tests: Optional[List[Any]] = ..., **kwargs: Any) -> int: ... def is_discoverable(label: str) -> bool: ... def reorder_suite(