summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Sassoulas <pierre.sassoulas@gmail.com>2021-11-22 12:26:34 +0100
committerPierre Sassoulas <pierre.sassoulas@gmail.com>2021-11-22 12:33:55 +0100
commitca8a6e48709207b8da21c5c5d00e7197fc68c19c (patch)
tree667e6334b1c481b184ba97f7bc2364cac13ca130
parent6de717afe5aa821434f21e2aa60d28e4ce689e32 (diff)
downloadpylint-git-ca8a6e48709207b8da21c5c5d00e7197fc68c19c.tar.gz
Add tests for testutils.configuration_test.get_expected_output
-rw-r--r--pylint/testutils/configuration_test.py14
-rw-r--r--tests/testutils/data/t.3.out0
-rw-r--r--tests/testutils/data/t.out0
-rw-r--r--tests/testutils/data/t.toml0
-rw-r--r--tests/testutils/data/u.out0
-rw-r--r--tests/testutils/data/u.toml0
-rw-r--r--tests/testutils/test_configuration_test.py23
7 files changed, 31 insertions, 6 deletions
diff --git a/pylint/testutils/configuration_test.py b/pylint/testutils/configuration_test.py
index ea61d771e..089fb049c 100644
--- a/pylint/testutils/configuration_test.py
+++ b/pylint/testutils/configuration_test.py
@@ -19,7 +19,9 @@ PylintConfiguration = Dict[str, ConfigurationValue]
def get_expected_or_default(
- tested_configuration_file: str, suffix: str, default: ConfigurationValue
+ tested_configuration_file: Union[str, Path],
+ suffix: str,
+ default: ConfigurationValue,
) -> str:
"""Return the expected value from the file if it exists, or the given default."""
expected = default
@@ -67,18 +69,18 @@ def get_expected_configuration(
def get_expected_output(
- configuration_path: str, user_specific_path: Path
+ configuration_path: Union[str, Path], user_specific_path: Path
) -> Tuple[int, str]:
"""Get the expected output of a functional test."""
def get_related_files(
- tested_configuration_file: str, suffix_filter: str
+ tested_configuration_file: Union[str, Path], suffix_filter: str
) -> List[Path]:
- path = Path(tested_configuration_file)
+ conf_path = Path(tested_configuration_file)
return [
p
- for p in path.parent.iterdir()
- if path.stem in str(p) and str(p).endswith(suffix_filter)
+ for p in conf_path.parent.iterdir()
+ if str(p.stem).startswith(conf_path.stem) and str(p).endswith(suffix_filter)
]
exit_code = 0
diff --git a/tests/testutils/data/t.3.out b/tests/testutils/data/t.3.out
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/testutils/data/t.3.out
diff --git a/tests/testutils/data/t.out b/tests/testutils/data/t.out
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/testutils/data/t.out
diff --git a/tests/testutils/data/t.toml b/tests/testutils/data/t.toml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/testutils/data/t.toml
diff --git a/tests/testutils/data/u.out b/tests/testutils/data/u.out
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/testutils/data/u.out
diff --git a/tests/testutils/data/u.toml b/tests/testutils/data/u.toml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/testutils/data/u.toml
diff --git a/tests/testutils/test_configuration_test.py b/tests/testutils/test_configuration_test.py
new file mode 100644
index 000000000..195c4415c
--- /dev/null
+++ b/tests/testutils/test_configuration_test.py
@@ -0,0 +1,23 @@
+import logging
+from pathlib import Path
+
+from pytest import LogCaptureFixture
+
+from pylint.testutils.configuration_test import get_expected_output
+
+HERE = Path(__file__).parent
+USER_SPECIFIC_PATH = HERE.parent.parent
+DATA_DIRECTORY = HERE / "data"
+
+
+def test_get_expected_output(caplog: LogCaptureFixture) -> None:
+ caplog.set_level(logging.INFO)
+ exit_code, _ = get_expected_output(DATA_DIRECTORY / "t.toml", USER_SPECIFIC_PATH)
+ assert "Too much .out files" in str(caplog.text)
+ assert exit_code == -1
+ exit_code, _ = get_expected_output(DATA_DIRECTORY / "u.toml", USER_SPECIFIC_PATH)
+ assert exit_code == -1
+ assert "Wrong format for .out file name" in str(caplog.text)
+ exit_code, _ = get_expected_output(DATA_DIRECTORY / "v.toml", USER_SPECIFIC_PATH)
+ assert exit_code == 0
+ assert ".out file does not exists" in str(caplog.text)