From 8f02c4c138cb3b08a03d26b3f7df64f84188b27e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Thu, 23 Jun 2022 14:16:44 +0200 Subject: [PATCH 1/2] Fix handling of quoted ``init-hook`` --- doc/whatsnew/2/2.14/full.rst | 2 ++ pylint/config/config_initialization.py | 2 +- .../functional/ini/pylintrc_with_quoted_init_hook.0.out | 1 + .../config/functional/ini/pylintrc_with_quoted_init_hook.ini | 4 ++++ 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 tests/config/functional/ini/pylintrc_with_quoted_init_hook.0.out create mode 100644 tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini diff --git a/doc/whatsnew/2/2.14/full.rst b/doc/whatsnew/2/2.14/full.rst index 11caebb800..a0d5e7bc8a 100644 --- a/doc/whatsnew/2/2.14/full.rst +++ b/doc/whatsnew/2/2.14/full.rst @@ -5,7 +5,9 @@ What's New in Pylint 2.14.4? ---------------------------- Release date: TBA +* Fixed regression that didn't allow quoted ``init-hooks`` in option files. + Closes #7006 What's New in Pylint 2.14.3? ---------------------------- diff --git a/pylint/config/config_initialization.py b/pylint/config/config_initialization.py index 9f3b2bcc51..af47a4c6bb 100644 --- a/pylint/config/config_initialization.py +++ b/pylint/config/config_initialization.py @@ -45,7 +45,7 @@ def _config_initialization( # Run init hook, if present, before loading plugins if "init-hook" in config_data: - exec(config_data["init-hook"]) # pylint: disable=exec-used + exec(utils._unquote(config_data["init-hook"])) # pylint: disable=exec-used # Load plugins if specified in the config file if "load-plugins" in config_data: diff --git a/tests/config/functional/ini/pylintrc_with_quoted_init_hook.0.out b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.0.out new file mode 100644 index 0000000000..21edc7ba0f --- /dev/null +++ b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.0.out @@ -0,0 +1 @@ +I should just print diff --git a/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini new file mode 100644 index 0000000000..57164cd3d2 --- /dev/null +++ b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini @@ -0,0 +1,4 @@ +# Check that we support quoted init-hooks +# See https://github.com/PyCQA/pylint/issues/7006 +[MASTER] +init-hook='print("I should just print")' From 0e52f6ae338fba53ab042f701b5aa344ed1364c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Thu, 23 Jun 2022 15:02:30 +0200 Subject: [PATCH 2/2] Update tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini Co-authored-by: Jacob Walls --- tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini index 57164cd3d2..8b10877edf 100644 --- a/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini +++ b/tests/config/functional/ini/pylintrc_with_quoted_init_hook.ini @@ -1,4 +1,4 @@ # Check that we support quoted init-hooks # See https://github.com/PyCQA/pylint/issues/7006 -[MASTER] +[MAIN] init-hook='print("I should just print")'