summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Sassoulas <pierre.sassoulas@gmail.com>2021-11-28 15:06:08 +0100
committerPierre Sassoulas <pierre.sassoulas@gmail.com>2021-12-03 18:38:20 +0100
commitcfa4f960426a41a34d29083bd6cc611086a4a39b (patch)
tree01e1195199c043ca61bfbd733598b447ab39ca8d
parent6c7fbc230bf77429423bbded6f7cb56ea7ef6a40 (diff)
downloadpylint-git-cfa4f960426a41a34d29083bd6cc611086a4a39b.tar.gz
Move LintModuleOutputUpdate to pylint.testutil.functional
-rw-r--r--pylint/testutils/functional/__init__.py2
-rw-r--r--pylint/testutils/functional/lint_module_output_update.py27
-rw-r--r--tests/test_functional.py23
3 files changed, 30 insertions, 22 deletions
diff --git a/pylint/testutils/functional/__init__.py b/pylint/testutils/functional/__init__.py
index a97eea0bb..607c22cb4 100644
--- a/pylint/testutils/functional/__init__.py
+++ b/pylint/testutils/functional/__init__.py
@@ -7,12 +7,14 @@ __all__ = [
"get_functional_test_files_from_directory",
"NoFileError",
"parse_python_version",
+ "LintModuleOutputUpdate",
]
from pylint.testutils.functional.find_functional_tests import (
REASONABLY_DISPLAYABLE_VERTICALLY,
get_functional_test_files_from_directory,
)
+from pylint.testutils.functional.lint_module_output_update import LintModuleOutputUpdate
from pylint.testutils.functional.test_file import (
FunctionalTestFile,
NoFileError,
diff --git a/pylint/testutils/functional/lint_module_output_update.py b/pylint/testutils/functional/lint_module_output_update.py
new file mode 100644
index 000000000..113f6448f
--- /dev/null
+++ b/pylint/testutils/functional/lint_module_output_update.py
@@ -0,0 +1,27 @@
+# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
+
+import csv
+import os
+
+from pylint.testutils.lint_module_test import LintModuleTest
+
+
+class LintModuleOutputUpdate(LintModuleTest):
+ """If message files should be updated instead of checked."""
+
+ class TestDialect(csv.excel):
+ delimiter = ":"
+ lineterminator = "\n"
+
+ csv.register_dialect("test", TestDialect)
+
+ def _check_output_text(self, _, expected_output, actual_output):
+ if not expected_output and not actual_output:
+ if os.path.exists(self._test_file.expected_output):
+ os.remove(self._test_file.expected_output)
+ return
+ with open(self._test_file.expected_output, "w", encoding="utf-8") as f:
+ writer = csv.writer(f, dialect="test")
+ for line in actual_output:
+ writer.writerow(line.to_csv())
diff --git a/tests/test_functional.py b/tests/test_functional.py
index d39d20583..c877db49b 100644
--- a/tests/test_functional.py
+++ b/tests/test_functional.py
@@ -22,8 +22,6 @@
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
"""Functional full-module tests for PyLint."""
-import csv
-import os
import sys
from pathlib import Path
from typing import Union
@@ -38,6 +36,7 @@ from pylint.testutils.functional import (
FunctionalTestFile,
get_functional_test_files_from_directory,
)
+from pylint.testutils.functional.lint_module_output_update import LintModuleOutputUpdate
from pylint.utils import HAS_ISORT_5
# TODOs
@@ -47,26 +46,6 @@ from pylint.utils import HAS_ISORT_5
FUNCTIONAL_DIR = Path(__file__).parent.resolve() / "functional"
-class LintModuleOutputUpdate(testutils.LintModuleTest):
- """If message files should be updated instead of checked."""
-
- class TestDialect(csv.excel):
- delimiter = ":"
- lineterminator = "\n"
-
- csv.register_dialect("test", TestDialect)
-
- def _check_output_text(self, _, expected_output, actual_output):
- if not expected_output and not actual_output:
- if os.path.exists(self._test_file.expected_output):
- os.remove(self._test_file.expected_output)
- return
- with open(self._test_file.expected_output, "w", encoding="utf-8") as f:
- writer = csv.writer(f, dialect="test")
- for line in actual_output:
- writer.writerow(line.to_csv())
-
-
# isort 5 has slightly different rules as isort 4. Testing both would be hard: test with isort 5 only.
TESTS = [
t