diff options
author | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2021-11-12 08:41:18 +0100 |
---|---|---|
committer | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2021-11-12 18:00:31 +0100 |
commit | e9c89f4ad167932f4b2e9de9abd82f05040220dc (patch) | |
tree | 8b0d631e86418f1e6bd7b9e6b0cfdc69f8d96141 | |
parent | 0676bfb8d868506278268cb4e0317d8dc3ecfc6e (diff) | |
download | pylint-git-e9c89f4ad167932f4b2e9de9abd82f05040220dc.tar.gz |
More precise typing for Configuration type when Any is used
-rw-r--r-- | pylint/testutils/configuration_test.py | 10 | ||||
-rw-r--r-- | tests/config/test_functional_config_loading.py | 8 |
2 files changed, 13 insertions, 5 deletions
diff --git a/pylint/testutils/configuration_test.py b/pylint/testutils/configuration_test.py index f861d4640..12798a356 100644 --- a/pylint/testutils/configuration_test.py +++ b/pylint/testutils/configuration_test.py @@ -13,9 +13,15 @@ from unittest.mock import Mock from pylint.lint import Run USER_SPECIFIC_PATH = str(Path(__file__).parent.parent.parent) +# We use Any in this typing because the configuration contain real object +# that could be a lot of things. +ConfigurationValue = Any +PylintConfiguration = Dict[str, ConfigurationValue] -def get_expected_or_default(pyproject_toml_path: str, suffix: str, default: Any) -> str: +def get_expected_or_default( + pyproject_toml_path: str, suffix: str, default: ConfigurationValue +) -> str: def get_path_according_to_suffix() -> Path: path = Path(pyproject_toml_path) return path.parent / f"{path.stem}.{suffix}" @@ -37,7 +43,7 @@ EXPECTED_CONF_SPECIAL_KEYS = [EXPECTED_CONF_APPEND_KEY, EXPECTED_CONF_REMOVE_KEY def get_expected_configuration( - configuration_path: str, default_configuration: Dict[str, Any] + configuration_path: str, default_configuration: PylintConfiguration ) -> Dict[str, Any]: """Get the expected parsed configuration of a configuration functional test""" result = copy.deepcopy(default_configuration) diff --git a/tests/config/test_functional_config_loading.py b/tests/config/test_functional_config_loading.py index 28b4a6094..6727bdb8f 100644 --- a/tests/config/test_functional_config_loading.py +++ b/tests/config/test_functional_config_loading.py @@ -20,13 +20,13 @@ and ``"functional_remove":``. Check the existing code for examples. # pylint: disable=redefined-outer-name import logging from pathlib import Path -from typing import Any, Dict import pytest from _pytest.capture import CaptureFixture from _pytest.logging import LogCaptureFixture from pylint.testutils.configuration_test import ( + PylintConfiguration, get_expected_configuration, get_expected_output, run_using_a_configuration_file, @@ -45,7 +45,9 @@ CONFIGURATION_PATHS = [ @pytest.fixture() -def default_configuration(tmp_path: Path, file_to_lint_path: str) -> Dict[str, Any]: +def default_configuration( + tmp_path: Path, file_to_lint_path: str +) -> PylintConfiguration: empty_pylintrc = tmp_path / "pylintrc" empty_pylintrc.write_text("") mock_exit, _, runner = run_using_a_configuration_file( @@ -58,7 +60,7 @@ def default_configuration(tmp_path: Path, file_to_lint_path: str) -> Dict[str, A @pytest.mark.parametrize("configuration_path", CONFIGURATION_PATHS) def test_functional_config_loading( configuration_path: str, - default_configuration: Dict[str, Any], + default_configuration: PylintConfiguration, file_to_lint_path: str, capsys: CaptureFixture, caplog: LogCaptureFixture, |