summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Sassoulas <pierre.sassoulas@gmail.com>2021-11-12 08:41:18 +0100
committerPierre Sassoulas <pierre.sassoulas@gmail.com>2021-11-12 18:00:31 +0100
commite9c89f4ad167932f4b2e9de9abd82f05040220dc (patch)
tree8b0d631e86418f1e6bd7b9e6b0cfdc69f8d96141
parent0676bfb8d868506278268cb4e0317d8dc3ecfc6e (diff)
downloadpylint-git-e9c89f4ad167932f4b2e9de9abd82f05040220dc.tar.gz
More precise typing for Configuration type when Any is used
-rw-r--r--pylint/testutils/configuration_test.py10
-rw-r--r--tests/config/test_functional_config_loading.py8
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,