diff --git a/changelogs/fragments/ansible-test-pytest-mccabe.yml b/changelogs/fragments/ansible-test-pytest-mccabe.yml new file mode 100644 index 00000000000..e2f3fb90616 --- /dev/null +++ b/changelogs/fragments/ansible-test-pytest-mccabe.yml @@ -0,0 +1,2 @@ +minor_changes: + - ansible-test now includes the ``pylint`` plugin ``mccabe`` in optional sanity tests enabled with ``--enable-optional-errors`` diff --git a/test/lib/ansible_test/_data/requirements/sanity.pylint.txt b/test/lib/ansible_test/_data/requirements/sanity.pylint.txt index 25f8038fde7..1b800bd0607 100644 --- a/test/lib/ansible_test/_data/requirements/sanity.pylint.txt +++ b/test/lib/ansible_test/_data/requirements/sanity.pylint.txt @@ -1,2 +1,3 @@ pylint ; python_version < '3.9' # installation fails on python 3.9.0b1 pyyaml # needed for collection_detail.py +mccabe # pylint complexity testing diff --git a/test/lib/ansible_test/_internal/sanity/pylint.py b/test/lib/ansible_test/_internal/sanity/pylint.py index 1ccf436d277..769a171728a 100644 --- a/test/lib/ansible_test/_internal/sanity/pylint.py +++ b/test/lib/ansible_test/_internal/sanity/pylint.py @@ -56,6 +56,7 @@ class PylintTest(SanitySingleVersion): super(PylintTest, self).__init__() self.optional_error_codes.update([ 'ansible-deprecated-date', + 'too-complex', ]) @property @@ -225,7 +226,7 @@ class PylintTest(SanitySingleVersion): config = dict() disable_plugins = set(i.strip() for i in config.get('disable-plugins', '').split(',') if i) - load_plugins = set(plugin_names) - disable_plugins + load_plugins = set(plugin_names + ['pylint.extensions.mccabe']) - disable_plugins cmd = [ python, @@ -233,6 +234,7 @@ class PylintTest(SanitySingleVersion): '--jobs', '0', '--reports', 'n', '--max-line-length', '160', + '--max-complexity', '20', '--rcfile', rcfile, '--output-format', 'json', '--load-plugins', ','.join(load_plugins),