diff options
author | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2021-11-28 15:06:08 +0100 |
---|---|---|
committer | Pierre Sassoulas <pierre.sassoulas@gmail.com> | 2021-12-03 18:38:20 +0100 |
commit | cfa4f960426a41a34d29083bd6cc611086a4a39b (patch) | |
tree | 01e1195199c043ca61bfbd733598b447ab39ca8d | |
parent | 6c7fbc230bf77429423bbded6f7cb56ea7ef6a40 (diff) | |
download | pylint-git-cfa4f960426a41a34d29083bd6cc611086a4a39b.tar.gz |
Move LintModuleOutputUpdate to pylint.testutil.functional
-rw-r--r-- | pylint/testutils/functional/__init__.py | 2 | ||||
-rw-r--r-- | pylint/testutils/functional/lint_module_output_update.py | 27 | ||||
-rw-r--r-- | tests/test_functional.py | 23 |
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 |