summaryrefslogtreecommitdiff
path: root/pylint/testutils/functional/lint_module_output_update.py
diff options
context:
space:
mode:
Diffstat (limited to 'pylint/testutils/functional/lint_module_output_update.py')
-rw-r--r--pylint/testutils/functional/lint_module_output_update.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/pylint/testutils/functional/lint_module_output_update.py b/pylint/testutils/functional/lint_module_output_update.py
index 113f6448f..dfb891189 100644
--- a/pylint/testutils/functional/lint_module_output_update.py
+++ b/pylint/testutils/functional/lint_module_output_update.py
@@ -3,7 +3,12 @@
import csv
import os
+from typing import Optional
+from _pytest.config import Config
+
+from pylint.constants import PY38_PLUS
+from pylint.testutils.functional.test_file import FunctionalTestFile
from pylint.testutils.lint_module_test import LintModuleTest
@@ -16,6 +21,17 @@ class LintModuleOutputUpdate(LintModuleTest):
csv.register_dialect("test", TestDialect)
+ def __init__(
+ self, test_file: FunctionalTestFile, config: Optional[Config] = None
+ ) -> None:
+ if not PY38_PLUS:
+ raise RuntimeError(
+ "You need at least python 3.8 for the functional test updater to work. "
+ "This is because python 3.8 includes a new AST parser, which amongst others "
+ "returns the end line and end column of most nodes."
+ )
+ super().__init__(test_file, config)
+
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):