diff options
author | DudeNr33 <3929834+DudeNr33@users.noreply.github.com> | 2021-04-09 21:13:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-09 21:13:14 +0200 |
commit | d0591ba2a097312c41d544e4269eda5b809c47a0 (patch) | |
tree | 579eab53b63ab759e8c26f7f62fcdb45ed44c61b | |
parent | cd90e9ec218b4735c3406b757f48d4898a2aee5e (diff) | |
download | pylint-git-d0591ba2a097312c41d544e4269eda5b809c47a0.tar.gz |
Enable loading of plugins in functional tests (Fix 4331) (#4332)
* Load plugins if defined in option file of functional test.
* Fix functional test which now fails after optional plugins are now loaded correctly
* Added functional test for bad_builtins from #4291
-rw-r--r-- | pylint/testutils/lint_module_test.py | 6 | ||||
-rw-r--r-- | tests/functional/b/bad_builtins.py | 3 | ||||
-rw-r--r-- | tests/functional/b/bad_builtins.rc | 5 | ||||
-rw-r--r-- | tests/functional/b/bad_builtins.txt | 4 | ||||
-rw-r--r-- | tests/functional/f/fixture_docparams_missing.py | 4 | ||||
-rw-r--r-- | tests/functional/f/fixture_docparams_missing.txt | 4 |
6 files changed, 24 insertions, 2 deletions
diff --git a/pylint/testutils/lint_module_test.py b/pylint/testutils/lint_module_test.py index 158e4f6a5..500513ce3 100644 --- a/pylint/testutils/lint_module_test.py +++ b/pylint/testutils/lint_module_test.py @@ -22,6 +22,7 @@ from pylint.testutils.functional_test_file import ( ) from pylint.testutils.output_line import OutputLine from pylint.testutils.reporter_for_tests import FunctionalTestReporter +from pylint.utils import utils class LintModuleTest: @@ -38,6 +39,11 @@ class LintModuleTest: self._linter.disable("useless-suppression") try: self._linter.read_config_file(test_file.option_file) + if self._linter.cfgfile_parser.has_option("MASTER", "load-plugins"): + plugins = utils._splitstrip( + self._linter.cfgfile_parser.get("MASTER", "load-plugins") + ) + self._linter.load_plugin_modules(plugins) self._linter.load_config_file() except NoFileError: pass diff --git a/tests/functional/b/bad_builtins.py b/tests/functional/b/bad_builtins.py new file mode 100644 index 000000000..9737e0ffc --- /dev/null +++ b/tests/functional/b/bad_builtins.py @@ -0,0 +1,3 @@ +# pylint: disable=missing-docstring +input("Yes or no ? (Y=1, n=0)") # [bad-builtin] +print(map(str, filter(1, [1, 2, 3]))) # [bad-builtin, bad-builtin, bad-builtin] diff --git a/tests/functional/b/bad_builtins.rc b/tests/functional/b/bad_builtins.rc new file mode 100644 index 000000000..e32b9f32c --- /dev/null +++ b/tests/functional/b/bad_builtins.rc @@ -0,0 +1,5 @@ +[MASTER] +load-plugins = pylint.extensions.bad_builtin + +[pylint.DEPRECATED_BUILTINS] +bad-functions=map,input,filter,print diff --git a/tests/functional/b/bad_builtins.txt b/tests/functional/b/bad_builtins.txt new file mode 100644 index 000000000..093b1d1e5 --- /dev/null +++ b/tests/functional/b/bad_builtins.txt @@ -0,0 +1,4 @@ +bad-builtin:2:0::Used builtin function 'input' +bad-builtin:3:15::Used builtin function 'filter'. Using a list comprehension can be clearer. +bad-builtin:3:6::Used builtin function 'map'. Using a list comprehension can be clearer. +bad-builtin:3:0::Used builtin function 'print' diff --git a/tests/functional/f/fixture_docparams_missing.py b/tests/functional/f/fixture_docparams_missing.py index 50a688b20..b879afcfb 100644 --- a/tests/functional/f/fixture_docparams_missing.py +++ b/tests/functional/f/fixture_docparams_missing.py @@ -1,11 +1,11 @@ """Fixture for testing missing documentation in docparams.""" -def _private_func(param1): +def _private_func(param1): # [missing-return-doc, missing-return-type-doc] if param1: raise Exception('Example') return param1 -def _private_func2(param1): +def _private_func2(param1): # [missing-yield-doc, missing-yield-type-doc] yield param1 diff --git a/tests/functional/f/fixture_docparams_missing.txt b/tests/functional/f/fixture_docparams_missing.txt new file mode 100644 index 000000000..5eb327895 --- /dev/null +++ b/tests/functional/f/fixture_docparams_missing.txt @@ -0,0 +1,4 @@ +missing-return-doc:4:0:_private_func:Missing return documentation +missing-return-type-doc:4:0:_private_func:Missing return type documentation +missing-yield-doc:10:0:_private_func2:Missing yield documentation +missing-yield-type-doc:10:0:_private_func2:Missing yield type documentation |