summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Clay <matt@mystile.com>2023-03-07 09:00:47 -0800
committerGitHub <noreply@github.com>2023-03-07 09:00:47 -0800
commit6be77608c6a73df9713ce37728a5505b2ae587e8 (patch)
tree083769d66ca83561aab15be53da7bcdf67210bdd
parentd8d2005096f32ea114f711dff2f363a1d27a705c (diff)
downloadansible-6be77608c6a73df9713ce37728a5505b2ae587e8.tar.gz
[stable-2.14] ansible-test - Fix pylint error with old home dir (#80151) (#80152)
* [stable-2.14] ansible-test - Fix pylint error with old home dir (#80151) (cherry picked from commit 27287b40c0605e583145538ac072260095c139d7) Co-authored-by: Matt Clay <matt@mystile.com> * ansible-test - Fix error with missing pylint home (#80155) (cherry picked from commit 367d45facd3af9bbc8159e4371d94e95629bed6d)
-rw-r--r--changelogs/fragments/ansible-test-pylint-home.yml2
-rw-r--r--test/lib/ansible_test/_internal/commands/sanity/pylint.py11
2 files changed, 13 insertions, 0 deletions
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 86f287ab42..e6a20b579b 100644
--- a/test/lib/ansible_test/_internal/commands/sanity/pylint.py
+++ b/test/lib/ansible_test/_internal/commands/sanity/pylint.py
@@ -18,6 +18,10 @@ from . import (
SANITY_ROOT,
)
+from ...io import (
+ make_dirs,
+)
+
from ...test import (
TestResult,
)
@@ -41,6 +45,7 @@ from ...ansible_util import (
get_collection_detail,
CollectionDetail,
CollectionDetailError,
+ ResultType,
)
from ...config import (
@@ -246,6 +251,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)