From 15e9438b0617f0562ad94e5a799af90ed60112d5 Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Tue, 7 Mar 2023 09:00:52 -0800 Subject: [stable-2.13] ansible-test - Fix pylint error with old home dir (#80151) (#80153) * [stable-2.13] ansible-test - Fix pylint error with old home dir (#80151) (cherry picked from commit 27287b40c0605e583145538ac072260095c139d7) Co-authored-by: Matt Clay * ansible-test - Fix error with missing pylint home (#80155) (cherry picked from commit 367d45facd3af9bbc8159e4371d94e95629bed6d) --- changelogs/fragments/ansible-test-pylint-home.yml | 2 ++ test/lib/ansible_test/_internal/commands/sanity/pylint.py | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 changelogs/fragments/ansible-test-pylint-home.yml diff --git a/changelogs/fragments/ansible-test-pylint-home.yml b/changelogs/fragments/ansible-test-pylint-home.yml new file mode 100644 index 0000000000..dcd3dfc87b --- /dev/null +++ b/changelogs/fragments/ansible-test-pylint-home.yml @@ -0,0 +1,2 @@ +bugfixes: + - ansible-test - Set ``PYLINTHOME`` for the ``pylint`` sanity test to prevent failures due to ``pylint`` checking for the existence of an obsolete home directory. diff --git a/test/lib/ansible_test/_internal/commands/sanity/pylint.py b/test/lib/ansible_test/_internal/commands/sanity/pylint.py index 6a250194e2..97cd279687 100644 --- a/test/lib/ansible_test/_internal/commands/sanity/pylint.py +++ b/test/lib/ansible_test/_internal/commands/sanity/pylint.py @@ -17,6 +17,10 @@ from . import ( SANITY_ROOT, ) +from ...io import ( + make_dirs, +) + from ...test import ( TestResult, ) @@ -40,6 +44,7 @@ from ...ansible_util import ( get_collection_detail, CollectionDetail, CollectionDetailError, + ResultType, ) from ...config import ( @@ -245,6 +250,12 @@ class PylintTest(SanitySingleVersion): # expose plugin paths for use in custom plugins env.update(dict(('ANSIBLE_TEST_%s_PATH' % k.upper(), os.path.abspath(v) + os.path.sep) for k, v in data_context().content.plugin_paths.items())) + # Set PYLINTHOME to prevent pylint from checking for an obsolete directory, which can result in a test failure due to stderr output. + # See: https://github.com/PyCQA/pylint/blob/e6c6bf5dfd61511d64779f54264b27a368c43100/pylint/constants.py#L148 + pylint_home = os.path.join(ResultType.TMP.path, 'pylint') + make_dirs(pylint_home) + env.update(PYLINTHOME=pylint_home) + if paths: display.info('Checking %d file(s) in context "%s" with config: %s' % (len(paths), context, rcfile), verbosity=1) -- cgit v1.2.1