diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:55:41 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:55:41 +0000 |
commit | 634758cfc77dff535c5e9e17cc99c6ba19e965b1 (patch) | |
tree | bb1c1a6bbff7abf9ed2d0e3b888480e70f0f109a /test/sanity | |
parent | Adding upstream version 2.14.13. (diff) | |
download | ansible-core-634758cfc77dff535c5e9e17cc99c6ba19e965b1.tar.xz ansible-core-634758cfc77dff535c5e9e17cc99c6ba19e965b1.zip |
Adding upstream version 2.16.5.upstream/2.16.5
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/sanity')
-rw-r--r-- | test/sanity/code-smell/ansible-requirements.py | 1 | ||||
-rw-r--r-- | test/sanity/code-smell/deprecated-config.requirements.in | 2 | ||||
-rw-r--r-- | test/sanity/code-smell/deprecated-config.requirements.txt | 6 | ||||
-rw-r--r-- | test/sanity/code-smell/obsolete-files.json | 2 | ||||
-rw-r--r-- | test/sanity/code-smell/package-data.requirements.in | 8 | ||||
-rw-r--r-- | test/sanity/code-smell/package-data.requirements.txt | 25 | ||||
-rw-r--r-- | test/sanity/code-smell/pymarkdown.config.json | 11 | ||||
-rw-r--r-- | test/sanity/code-smell/pymarkdown.json | 7 | ||||
-rw-r--r-- | test/sanity/code-smell/pymarkdown.py | 64 | ||||
-rw-r--r-- | test/sanity/code-smell/pymarkdown.requirements.in | 1 | ||||
-rw-r--r-- | test/sanity/code-smell/pymarkdown.requirements.txt | 9 | ||||
-rw-r--r-- | test/sanity/code-smell/release-names.py | 7 | ||||
-rw-r--r-- | test/sanity/code-smell/release-names.requirements.in | 1 | ||||
-rw-r--r-- | test/sanity/code-smell/release-names.requirements.txt | 4 | ||||
-rw-r--r-- | test/sanity/code-smell/test-constraints.py | 6 | ||||
-rw-r--r-- | test/sanity/code-smell/update-bundled.requirements.txt | 3 | ||||
-rw-r--r-- | test/sanity/ignore.txt | 113 |
17 files changed, 161 insertions, 109 deletions
diff --git a/test/sanity/code-smell/ansible-requirements.py b/test/sanity/code-smell/ansible-requirements.py index 4d1a652..25d4ec8 100644 --- a/test/sanity/code-smell/ansible-requirements.py +++ b/test/sanity/code-smell/ansible-requirements.py @@ -1,7 +1,6 @@ from __future__ import annotations import re -import sys def read_file(path): diff --git a/test/sanity/code-smell/deprecated-config.requirements.in b/test/sanity/code-smell/deprecated-config.requirements.in index 859c4ee..4e859bb 100644 --- a/test/sanity/code-smell/deprecated-config.requirements.in +++ b/test/sanity/code-smell/deprecated-config.requirements.in @@ -1,2 +1,2 @@ -jinja2 # ansible-core requirement +jinja2 pyyaml diff --git a/test/sanity/code-smell/deprecated-config.requirements.txt b/test/sanity/code-smell/deprecated-config.requirements.txt index 338e3f3..ae96cdf 100644 --- a/test/sanity/code-smell/deprecated-config.requirements.txt +++ b/test/sanity/code-smell/deprecated-config.requirements.txt @@ -1,6 +1,4 @@ # edit "deprecated-config.requirements.in" and generate with: hacking/update-sanity-requirements.py --test deprecated-config -# pre-build requirement: pyyaml == 6.0 -# pre-build constraint: Cython < 3.0 Jinja2==3.1.2 -MarkupSafe==2.1.1 -PyYAML==6.0 +MarkupSafe==2.1.3 +PyYAML==6.0.1 diff --git a/test/sanity/code-smell/obsolete-files.json b/test/sanity/code-smell/obsolete-files.json index 02d3920..3f69cdd 100644 --- a/test/sanity/code-smell/obsolete-files.json +++ b/test/sanity/code-smell/obsolete-files.json @@ -1,6 +1,8 @@ { "include_symlinks": true, "prefixes": [ + "docs/", + "examples/", "test/runner/", "test/sanity/ansible-doc/", "test/sanity/compile/", diff --git a/test/sanity/code-smell/package-data.requirements.in b/test/sanity/code-smell/package-data.requirements.in index 3162feb..81b58bc 100644 --- a/test/sanity/code-smell/package-data.requirements.in +++ b/test/sanity/code-smell/package-data.requirements.in @@ -1,8 +1,8 @@ build # required to build sdist wheel # required to build wheel jinja2 -pyyaml # ansible-core requirement -resolvelib < 0.9.0 -rstcheck < 4 # match version used in other sanity tests +pyyaml +resolvelib < 1.1.0 +rstcheck < 6 # newer versions have too many dependencies antsibull-changelog -setuptools == 45.2.0 # minimum supported setuptools +setuptools == 66.1.0 # minimum supported setuptools diff --git a/test/sanity/code-smell/package-data.requirements.txt b/test/sanity/code-smell/package-data.requirements.txt index b66079d..ce0fb9c 100644 --- a/test/sanity/code-smell/package-data.requirements.txt +++ b/test/sanity/code-smell/package-data.requirements.txt @@ -1,18 +1,17 @@ # edit "package-data.requirements.in" and generate with: hacking/update-sanity-requirements.py --test package-data -# pre-build requirement: pyyaml == 6.0 -# pre-build constraint: Cython < 3.0 -antsibull-changelog==0.16.0 -build==0.10.0 -docutils==0.17.1 +antsibull-changelog==0.23.0 +build==1.0.3 +docutils==0.18.1 Jinja2==3.1.2 -MarkupSafe==2.1.1 -packaging==21.3 +MarkupSafe==2.1.3 +packaging==23.2 pyproject_hooks==1.0.0 -pyparsing==3.0.9 -PyYAML==6.0 -resolvelib==0.8.1 -rstcheck==3.5.0 +PyYAML==6.0.1 +resolvelib==1.0.1 +rstcheck==5.0.0 semantic-version==2.10.0 -setuptools==45.2.0 +setuptools==66.1.0 tomli==2.0.1 -wheel==0.41.0 +types-docutils==0.18.3 +typing_extensions==4.8.0 +wheel==0.41.2 diff --git a/test/sanity/code-smell/pymarkdown.config.json b/test/sanity/code-smell/pymarkdown.config.json new file mode 100644 index 0000000..afe83a3 --- /dev/null +++ b/test/sanity/code-smell/pymarkdown.config.json @@ -0,0 +1,11 @@ +{ + "plugins": { + "line-length": { + "line_length": 160, + "code_block_line_length": 160 + }, + "first-line-heading": { + "enabled": false + } + } +} diff --git a/test/sanity/code-smell/pymarkdown.json b/test/sanity/code-smell/pymarkdown.json new file mode 100644 index 0000000..986848d --- /dev/null +++ b/test/sanity/code-smell/pymarkdown.json @@ -0,0 +1,7 @@ +{ + "output": "path-line-column-code-message", + "error_code": "ansible-test", + "extensions": [ + ".md" + ] +} diff --git a/test/sanity/code-smell/pymarkdown.py b/test/sanity/code-smell/pymarkdown.py new file mode 100644 index 0000000..721c893 --- /dev/null +++ b/test/sanity/code-smell/pymarkdown.py @@ -0,0 +1,64 @@ +"""Sanity test for Markdown files.""" +from __future__ import annotations + +import pathlib +import re +import subprocess +import sys + +import typing as t + + +def main() -> None: + paths = sys.argv[1:] or sys.stdin.read().splitlines() + + cmd = [ + sys.executable, + '-m', 'pymarkdown', + '--config', pathlib.Path(__file__).parent / 'pymarkdown.config.json', + '--strict-config', + 'scan', + ] + paths + + process = subprocess.run( + cmd, + stdin=subprocess.DEVNULL, + capture_output=True, + check=False, + text=True, + ) + + if process.stderr: + print(process.stderr.strip(), file=sys.stderr) + sys.exit(1) + + if not (stdout := process.stdout.strip()): + return + + pattern = re.compile(r'^(?P<path_line_column>[^:]*:[0-9]+:[0-9]+): (?P<code>[^:]*): (?P<message>.*) \((?P<aliases>.*)\)$') + matches = parse_to_list_of_dict(pattern, stdout) + results = [f"{match['path_line_column']}: {match['aliases'].split(', ')[0]}: {match['message']}" for match in matches] + + print('\n'.join(results)) + + +def parse_to_list_of_dict(pattern: re.Pattern, value: str) -> list[dict[str, t.Any]]: + matched = [] + unmatched = [] + + for line in value.splitlines(): + match = re.search(pattern, line) + + if match: + matched.append(match.groupdict()) + else: + unmatched.append(line) + + if unmatched: + raise Exception('Pattern {pattern!r} did not match values:\n' + '\n'.join(unmatched)) + + return matched + + +if __name__ == '__main__': + main() diff --git a/test/sanity/code-smell/pymarkdown.requirements.in b/test/sanity/code-smell/pymarkdown.requirements.in new file mode 100644 index 0000000..f007771 --- /dev/null +++ b/test/sanity/code-smell/pymarkdown.requirements.in @@ -0,0 +1 @@ +pymarkdownlnt diff --git a/test/sanity/code-smell/pymarkdown.requirements.txt b/test/sanity/code-smell/pymarkdown.requirements.txt new file mode 100644 index 0000000..f906e14 --- /dev/null +++ b/test/sanity/code-smell/pymarkdown.requirements.txt @@ -0,0 +1,9 @@ +# edit "pymarkdown.requirements.in" and generate with: hacking/update-sanity-requirements.py --test pymarkdown +application-properties==0.8.1 +Columnar==1.4.1 +pymarkdownlnt==0.9.13.4 +PyYAML==6.0.1 +tomli==2.0.1 +toolz==0.12.0 +typing_extensions==4.8.0 +wcwidth==0.2.8 diff --git a/test/sanity/code-smell/release-names.py b/test/sanity/code-smell/release-names.py index 81d90d8..cac3071 100644 --- a/test/sanity/code-smell/release-names.py +++ b/test/sanity/code-smell/release-names.py @@ -22,7 +22,7 @@ Test that the release name is present in the list of used up release names from __future__ import annotations -from yaml import safe_load +import pathlib from ansible.release import __codename__ @@ -30,8 +30,7 @@ from ansible.release import __codename__ def main(): """Entrypoint to the script""" - with open('.github/RELEASE_NAMES.yml') as f: - releases = safe_load(f.read()) + releases = pathlib.Path('.github/RELEASE_NAMES.txt').read_text().splitlines() # Why this format? The file's sole purpose is to be read by a human when they need to know # which release names have already been used. So: @@ -41,7 +40,7 @@ def main(): if __codename__ == name: break else: - print('.github/RELEASE_NAMES.yml: Current codename was not present in the file') + print(f'.github/RELEASE_NAMES.txt: Current codename {__codename__!r} not present in the file') if __name__ == '__main__': diff --git a/test/sanity/code-smell/release-names.requirements.in b/test/sanity/code-smell/release-names.requirements.in deleted file mode 100644 index c3726e8..0000000 --- a/test/sanity/code-smell/release-names.requirements.in +++ /dev/null @@ -1 +0,0 @@ -pyyaml diff --git a/test/sanity/code-smell/release-names.requirements.txt b/test/sanity/code-smell/release-names.requirements.txt deleted file mode 100644 index bb6a130..0000000 --- a/test/sanity/code-smell/release-names.requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -# edit "release-names.requirements.in" and generate with: hacking/update-sanity-requirements.py --test release-names -# pre-build requirement: pyyaml == 6.0 -# pre-build constraint: Cython < 3.0 -PyYAML==6.0 diff --git a/test/sanity/code-smell/test-constraints.py b/test/sanity/code-smell/test-constraints.py index df30fe1..ac5bb4e 100644 --- a/test/sanity/code-smell/test-constraints.py +++ b/test/sanity/code-smell/test-constraints.py @@ -65,12 +65,6 @@ def main(): # keeping constraints for tests other than sanity tests in one file helps avoid conflicts print('%s:%d:%d: put the constraint (%s%s) in `%s`' % (path, lineno, 1, name, raw_constraints, constraints_path)) - for name, requirements in frozen_sanity.items(): - if len(set(req[3].group('constraints').strip() for req in requirements)) != 1: - for req in requirements: - print('%s:%d:%d: sanity constraint (%s) does not match others for package `%s`' % ( - req[0], req[1], req[3].start('constraints') + 1, req[3].group('constraints'), name)) - def check_ansible_test(path: str, requirements: list[tuple[int, str, re.Match]]) -> None: sys.path.insert(0, str(pathlib.Path(__file__).parent.parent.parent.joinpath('lib'))) diff --git a/test/sanity/code-smell/update-bundled.requirements.txt b/test/sanity/code-smell/update-bundled.requirements.txt index d9785e7..53f1e43 100644 --- a/test/sanity/code-smell/update-bundled.requirements.txt +++ b/test/sanity/code-smell/update-bundled.requirements.txt @@ -1,3 +1,2 @@ # edit "update-bundled.requirements.in" and generate with: hacking/update-sanity-requirements.py --test update-bundled -packaging==21.3 -pyparsing==3.0.9 +packaging==23.2 diff --git a/test/sanity/ignore.txt b/test/sanity/ignore.txt index 869522b..c683fbe 100644 --- a/test/sanity/ignore.txt +++ b/test/sanity/ignore.txt @@ -1,16 +1,21 @@ -.azure-pipelines/scripts/publish-codecov.py replace-urlopen lib/ansible/cli/scripts/ansible_connection_cli_stub.py shebang lib/ansible/config/base.yml no-unwanted-files -lib/ansible/executor/playbook_executor.py pylint:disallowed-name lib/ansible/executor/powershell/async_watchdog.ps1 pslint:PSCustomUseLiteralPath lib/ansible/executor/powershell/async_wrapper.ps1 pslint:PSCustomUseLiteralPath lib/ansible/executor/powershell/exec_wrapper.ps1 pslint:PSCustomUseLiteralPath -lib/ansible/executor/task_queue_manager.py pylint:disallowed-name +lib/ansible/galaxy/collection/__init__.py mypy-3.10:attr-defined # inline ignore has no effect +lib/ansible/galaxy/collection/__init__.py mypy-3.11:attr-defined # inline ignore has no effect +lib/ansible/galaxy/collection/__init__.py mypy-3.12:attr-defined # inline ignore has no effect +lib/ansible/galaxy/collection/gpg.py mypy-3.10:arg-type +lib/ansible/galaxy/collection/gpg.py mypy-3.11:arg-type +lib/ansible/galaxy/collection/gpg.py mypy-3.12:arg-type +lib/ansible/parsing/yaml/constructor.py mypy-3.10:type-var # too many occurrences to ignore inline +lib/ansible/parsing/yaml/constructor.py mypy-3.11:type-var # too many occurrences to ignore inline +lib/ansible/parsing/yaml/constructor.py mypy-3.12:type-var # too many occurrences to ignore inline lib/ansible/keyword_desc.yml no-unwanted-files lib/ansible/modules/apt.py validate-modules:parameter-invalid lib/ansible/modules/apt_repository.py validate-modules:parameter-invalid lib/ansible/modules/assemble.py validate-modules:nonexistent-parameter-documented -lib/ansible/modules/async_status.py use-argspec-type-path lib/ansible/modules/async_status.py validate-modules!skip lib/ansible/modules/async_wrapper.py ansible-doc!skip # not an actual module lib/ansible/modules/async_wrapper.py pylint:ansible-bad-function # ignore, required @@ -21,61 +26,48 @@ lib/ansible/modules/command.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/command.py validate-modules:doc-missing-type lib/ansible/modules/command.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/command.py validate-modules:undocumented-parameter -lib/ansible/modules/copy.py pylint:disallowed-name lib/ansible/modules/copy.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/copy.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/copy.py validate-modules:undocumented-parameter -lib/ansible/modules/dnf.py validate-modules:doc-required-mismatch lib/ansible/modules/dnf.py validate-modules:parameter-invalid +lib/ansible/modules/dnf5.py validate-modules:parameter-invalid lib/ansible/modules/file.py validate-modules:undocumented-parameter lib/ansible/modules/find.py use-argspec-type-path # fix needed -lib/ansible/modules/git.py pylint:disallowed-name lib/ansible/modules/git.py use-argspec-type-path -lib/ansible/modules/git.py validate-modules:doc-missing-type lib/ansible/modules/git.py validate-modules:doc-required-mismatch -lib/ansible/modules/iptables.py pylint:disallowed-name lib/ansible/modules/lineinfile.py validate-modules:doc-choices-do-not-match-spec lib/ansible/modules/lineinfile.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/lineinfile.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/package_facts.py validate-modules:doc-choices-do-not-match-spec -lib/ansible/modules/pip.py pylint:disallowed-name lib/ansible/modules/replace.py validate-modules:nonexistent-parameter-documented +lib/ansible/modules/replace.py pylint:used-before-assignment # false positive detection by pylint lib/ansible/modules/service.py validate-modules:nonexistent-parameter-documented lib/ansible/modules/service.py validate-modules:use-run-command-not-popen -lib/ansible/modules/stat.py validate-modules:doc-default-does-not-match-spec # get_md5 is undocumented lib/ansible/modules/stat.py validate-modules:parameter-invalid -lib/ansible/modules/stat.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/stat.py validate-modules:undocumented-parameter lib/ansible/modules/systemd_service.py validate-modules:parameter-invalid -lib/ansible/modules/systemd_service.py validate-modules:return-syntax-error -lib/ansible/modules/sysvinit.py validate-modules:return-syntax-error lib/ansible/modules/uri.py validate-modules:doc-required-mismatch lib/ansible/modules/user.py validate-modules:doc-default-does-not-match-spec lib/ansible/modules/user.py validate-modules:use-run-command-not-popen -lib/ansible/modules/yum.py pylint:disallowed-name lib/ansible/modules/yum.py validate-modules:parameter-invalid -lib/ansible/modules/yum_repository.py validate-modules:doc-default-does-not-match-spec -lib/ansible/modules/yum_repository.py validate-modules:parameter-type-not-in-doc -lib/ansible/modules/yum_repository.py validate-modules:undocumented-parameter +lib/ansible/module_utils/basic.py pylint:unused-import # deferring resolution to allow enabling the rule now lib/ansible/module_utils/compat/_selectors2.py future-import-boilerplate # ignore bundled lib/ansible/module_utils/compat/_selectors2.py metaclass-boilerplate # ignore bundled -lib/ansible/module_utils/compat/_selectors2.py pylint:disallowed-name lib/ansible/module_utils/compat/selinux.py import-2.7!skip # pass/fail depends on presence of libselinux.so -lib/ansible/module_utils/compat/selinux.py import-3.5!skip # pass/fail depends on presence of libselinux.so lib/ansible/module_utils/compat/selinux.py import-3.6!skip # pass/fail depends on presence of libselinux.so lib/ansible/module_utils/compat/selinux.py import-3.7!skip # pass/fail depends on presence of libselinux.so lib/ansible/module_utils/compat/selinux.py import-3.8!skip # pass/fail depends on presence of libselinux.so lib/ansible/module_utils/compat/selinux.py import-3.9!skip # pass/fail depends on presence of libselinux.so lib/ansible/module_utils/compat/selinux.py import-3.10!skip # pass/fail depends on presence of libselinux.so lib/ansible/module_utils/compat/selinux.py import-3.11!skip # pass/fail depends on presence of libselinux.so +lib/ansible/module_utils/compat/selinux.py import-3.12!skip # pass/fail depends on presence of libselinux.so lib/ansible/module_utils/distro/_distro.py future-import-boilerplate # ignore bundled lib/ansible/module_utils/distro/_distro.py metaclass-boilerplate # ignore bundled lib/ansible/module_utils/distro/_distro.py no-assert -lib/ansible/module_utils/distro/_distro.py pylint:using-constant-test # bundled code we don't want to modify lib/ansible/module_utils/distro/_distro.py pep8!skip # bundled code we don't want to modify +lib/ansible/module_utils/distro/_distro.py pylint:undefined-variable # ignore bundled +lib/ansible/module_utils/distro/_distro.py pylint:using-constant-test # bundled code we don't want to modify lib/ansible/module_utils/distro/__init__.py empty-init # breaks namespacing, bundled, do not override lib/ansible/module_utils/facts/__init__.py empty-init # breaks namespacing, deprecate and eventually remove -lib/ansible/module_utils/facts/network/linux.py pylint:disallowed-name lib/ansible/module_utils/powershell/Ansible.ModuleUtils.ArgvParser.psm1 pslint:PSUseApprovedVerbs lib/ansible/module_utils/powershell/Ansible.ModuleUtils.CommandUtil.psm1 pslint:PSProvideCommentHelp # need to agree on best format for comment location lib/ansible/module_utils/powershell/Ansible.ModuleUtils.CommandUtil.psm1 pslint:PSUseApprovedVerbs @@ -93,33 +85,23 @@ lib/ansible/module_utils/six/__init__.py no-dict-iteritems lib/ansible/module_utils/six/__init__.py no-dict-iterkeys lib/ansible/module_utils/six/__init__.py no-dict-itervalues lib/ansible/module_utils/six/__init__.py pylint:self-assigning-variable +lib/ansible/module_utils/six/__init__.py pylint:trailing-comma-tuple lib/ansible/module_utils/six/__init__.py replace-urlopen -lib/ansible/module_utils/urls.py pylint:arguments-renamed -lib/ansible/module_utils/urls.py pylint:disallowed-name lib/ansible/module_utils/urls.py replace-urlopen -lib/ansible/parsing/vault/__init__.py pylint:disallowed-name lib/ansible/parsing/yaml/objects.py pylint:arguments-renamed -lib/ansible/playbook/base.py pylint:disallowed-name lib/ansible/playbook/collectionsearch.py required-and-default-attributes # https://github.com/ansible/ansible/issues/61460 -lib/ansible/playbook/helpers.py pylint:disallowed-name -lib/ansible/playbook/playbook_include.py pylint:arguments-renamed lib/ansible/playbook/role/include.py pylint:arguments-renamed lib/ansible/plugins/action/normal.py action-plugin-docs # default action plugin for modules without a dedicated action plugin lib/ansible/plugins/cache/base.py ansible-doc!skip # not a plugin, but a stub for backwards compatibility lib/ansible/plugins/callback/__init__.py pylint:arguments-renamed lib/ansible/plugins/inventory/advanced_host_list.py pylint:arguments-renamed lib/ansible/plugins/inventory/host_list.py pylint:arguments-renamed -lib/ansible/plugins/lookup/random_choice.py pylint:arguments-renamed -lib/ansible/plugins/lookup/sequence.py pylint:disallowed-name -lib/ansible/plugins/shell/cmd.py pylint:arguments-renamed -lib/ansible/plugins/strategy/__init__.py pylint:disallowed-name -lib/ansible/plugins/strategy/linear.py pylint:disallowed-name lib/ansible/utils/collection_loader/_collection_finder.py pylint:deprecated-class lib/ansible/utils/collection_loader/_collection_meta.py pylint:deprecated-class -lib/ansible/vars/hostvars.py pylint:disallowed-name test/integration/targets/ansible-test-sanity/ansible_collections/ns/col/tests/integration/targets/hello/files/bad.py pylint:ansible-bad-function # ignore, required for testing test/integration/targets/ansible-test-sanity/ansible_collections/ns/col/tests/integration/targets/hello/files/bad.py pylint:ansible-bad-import-from # ignore, required for testing test/integration/targets/ansible-test-sanity/ansible_collections/ns/col/tests/integration/targets/hello/files/bad.py pylint:ansible-bad-import # ignore, required for testing +test/integration/targets/ansible-test-sanity/ansible_collections/ns/col/plugins/plugin_utils/check_pylint.py pylint:disallowed-name # ignore, required for testing test/integration/targets/ansible-test-integration/ansible_collections/ns/col/plugins/modules/hello.py pylint:relative-beyond-top-level test/integration/targets/ansible-test-units/ansible_collections/ns/col/plugins/modules/hello.py pylint:relative-beyond-top-level test/integration/targets/ansible-test-units/ansible_collections/ns/col/tests/unit/plugins/modules/test_hello.py pylint:relative-beyond-top-level @@ -132,8 +114,10 @@ test/integration/targets/collections_relative_imports/collection_root/ansible_co test/integration/targets/collections_relative_imports/collection_root/ansible_collections/my_ns/my_col/plugins/module_utils/my_util2.py pylint:relative-beyond-top-level test/integration/targets/fork_safe_stdio/vendored_pty.py pep8!skip # vendored code test/integration/targets/gathering_facts/library/bogus_facts shebang +test/integration/targets/gathering_facts/library/dummy1 shebang test/integration/targets/gathering_facts/library/facts_one shebang test/integration/targets/gathering_facts/library/facts_two shebang +test/integration/targets/gathering_facts/library/slow shebang test/integration/targets/incidental_win_reboot/templates/post_reboot.ps1 pslint!skip test/integration/targets/json_cleanup/library/bad_json shebang test/integration/targets/lookup_csvfile/files/crlf.csv line-endings @@ -143,11 +127,6 @@ test/integration/targets/module_precedence/lib_with_extension/ping.ini shebang test/integration/targets/module_precedence/roles_with_extension/foo/library/a.ini shebang test/integration/targets/module_precedence/roles_with_extension/foo/library/ping.ini shebang test/integration/targets/module_utils/library/test.py future-import-boilerplate # allow testing of Python 2.x implicit relative imports -test/integration/targets/module_utils/module_utils/bar0/foo.py pylint:disallowed-name -test/integration/targets/module_utils/module_utils/foo.py pylint:disallowed-name -test/integration/targets/module_utils/module_utils/sub/bar/bar.py pylint:disallowed-name -test/integration/targets/module_utils/module_utils/sub/bar/__init__.py pylint:disallowed-name -test/integration/targets/module_utils/module_utils/yak/zebra/foo.py pylint:disallowed-name test/integration/targets/old_style_modules_posix/library/helloworld.sh shebang test/integration/targets/template/files/encoding_1252_utf-8.expected no-smart-quotes test/integration/targets/template/files/encoding_1252_windows-1252.expected no-smart-quotes @@ -165,28 +144,9 @@ test/integration/targets/win_script/files/test_script_removes_file.ps1 pslint:PS test/integration/targets/win_script/files/test_script_with_args.ps1 pslint:PSAvoidUsingWriteHost # Keep test/integration/targets/win_script/files/test_script_with_splatting.ps1 pslint:PSAvoidUsingWriteHost # Keep test/lib/ansible_test/_data/requirements/sanity.pslint.ps1 pslint:PSCustomUseLiteralPath # Uses wildcards on purpose -test/lib/ansible_test/_util/target/setup/ConfigureRemotingForAnsible.ps1 pslint:PSCustomUseLiteralPath -test/lib/ansible_test/_util/target/setup/requirements.py replace-urlopen -test/support/integration/plugins/modules/timezone.py pylint:disallowed-name -test/support/integration/plugins/module_utils/compat/ipaddress.py future-import-boilerplate -test/support/integration/plugins/module_utils/compat/ipaddress.py metaclass-boilerplate -test/support/integration/plugins/module_utils/compat/ipaddress.py no-unicode-literals -test/support/integration/plugins/module_utils/network/common/utils.py future-import-boilerplate -test/support/integration/plugins/module_utils/network/common/utils.py metaclass-boilerplate -test/support/integration/plugins/module_utils/network/common/utils.py pylint:use-a-generator -test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/module_utils/network/netconf/netconf.py pylint:used-before-assignment -test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/filter/network.py pylint:consider-using-dict-comprehension test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/module_utils/compat/ipaddress.py no-unicode-literals -test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/module_utils/compat/ipaddress.py pep8:E203 -test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/module_utils/network/common/facts/facts.py pylint:unnecessary-comprehension -test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/module_utils/network/common/utils.py pylint:use-a-generator -test/support/network-integration/collections/ansible_collections/ansible/netcommon/plugins/netconf/default.py pylint:unnecessary-comprehension test/support/network-integration/collections/ansible_collections/cisco/ios/plugins/cliconf/ios.py pylint:arguments-renamed -test/support/network-integration/collections/ansible_collections/cisco/ios/plugins/modules/ios_config.py pep8:E501 test/support/network-integration/collections/ansible_collections/vyos/vyos/plugins/cliconf/vyos.py pylint:arguments-renamed -test/support/network-integration/collections/ansible_collections/vyos/vyos/plugins/modules/vyos_command.py pep8:E231 -test/support/network-integration/collections/ansible_collections/vyos/vyos/plugins/modules/vyos_command.py pylint:disallowed-name -test/support/windows-integration/plugins/action/win_copy.py pylint:used-before-assignment test/support/windows-integration/collections/ansible_collections/ansible/windows/plugins/module_utils/WebRequest.psm1 pslint!skip test/support/windows-integration/collections/ansible_collections/ansible/windows/plugins/modules/win_uri.ps1 pslint!skip test/support/windows-integration/plugins/modules/async_status.ps1 pslint!skip @@ -207,19 +167,11 @@ test/support/windows-integration/plugins/modules/win_user_right.ps1 pslint!skip test/support/windows-integration/plugins/modules/win_user.ps1 pslint!skip test/support/windows-integration/plugins/modules/win_wait_for.ps1 pslint!skip test/support/windows-integration/plugins/modules/win_whoami.ps1 pslint!skip -test/units/executor/test_play_iterator.py pylint:disallowed-name -test/units/modules/test_apt.py pylint:disallowed-name test/units/module_utils/basic/test_deprecate_warn.py pylint:ansible-deprecated-no-version test/units/module_utils/basic/test_deprecate_warn.py pylint:ansible-deprecated-version -test/units/module_utils/basic/test_run_command.py pylint:disallowed-name +test/units/module_utils/common/warnings/test_deprecate.py pylint:ansible-deprecated-no-version # testing Display.deprecated call without a version or date +test/units/module_utils/common/warnings/test_deprecate.py pylint:ansible-deprecated-version # testing Deprecated version found in call to Display.deprecated or AnsibleModule.deprecate test/units/module_utils/urls/fixtures/multipart.txt line-endings # Fixture for HTTP tests that use CRLF -test/units/module_utils/urls/test_fetch_url.py replace-urlopen -test/units/module_utils/urls/test_gzip.py replace-urlopen -test/units/module_utils/urls/test_Request.py replace-urlopen -test/units/parsing/vault/test_vault.py pylint:disallowed-name -test/units/playbook/role/test_role.py pylint:disallowed-name -test/units/plugins/test_plugins.py pylint:disallowed-name -test/units/template/test_templar.py pylint:disallowed-name test/units/utils/collection_loader/fixtures/collections/ansible_collections/testns/testcoll/plugins/action/my_action.py pylint:relative-beyond-top-level test/units/utils/collection_loader/fixtures/collections/ansible_collections/testns/testcoll/plugins/modules/__init__.py empty-init # testing that collections don't need inits test/units/utils/collection_loader/fixtures/collections_masked/ansible_collections/ansible/__init__.py empty-init # testing that collections don't need inits @@ -227,3 +179,26 @@ test/units/utils/collection_loader/fixtures/collections_masked/ansible_collectio test/units/utils/collection_loader/fixtures/collections_masked/ansible_collections/testns/__init__.py empty-init # testing that collections don't need inits test/units/utils/collection_loader/fixtures/collections_masked/ansible_collections/testns/testcoll/__init__.py empty-init # testing that collections don't need inits test/units/utils/collection_loader/test_collection_loader.py pylint:undefined-variable # magic runtime local var splatting +.github/CONTRIBUTING.md pymarkdown:line-length +hacking/backport/README.md pymarkdown:no-bare-urls +hacking/ticket_stubs/bug_internal_api.md pymarkdown:no-bare-urls +hacking/ticket_stubs/bug_wrong_repo.md pymarkdown:no-bare-urls +hacking/ticket_stubs/collections.md pymarkdown:line-length +hacking/ticket_stubs/collections.md pymarkdown:no-bare-urls +hacking/ticket_stubs/guide_newbie_about_gh_and_contributing_to_ansible.md pymarkdown:no-bare-urls +hacking/ticket_stubs/no_thanks.md pymarkdown:line-length +hacking/ticket_stubs/no_thanks.md pymarkdown:no-bare-urls +hacking/ticket_stubs/pr_duplicate.md pymarkdown:no-bare-urls +hacking/ticket_stubs/pr_merged.md pymarkdown:no-bare-urls +hacking/ticket_stubs/proposal.md pymarkdown:no-bare-urls +hacking/ticket_stubs/question_not_bug.md pymarkdown:no-bare-urls +hacking/ticket_stubs/resolved.md pymarkdown:no-bare-urls +hacking/ticket_stubs/wider_discussion.md pymarkdown:no-bare-urls +lib/ansible/galaxy/data/apb/README.md pymarkdown:line-length +lib/ansible/galaxy/data/container/README.md pymarkdown:line-length +lib/ansible/galaxy/data/default/role/README.md pymarkdown:line-length +lib/ansible/galaxy/data/network/README.md pymarkdown:line-length +README.md pymarkdown:line-length +test/integration/targets/ansible-vault/invalid_format/README.md pymarkdown:no-bare-urls +test/support/README.md pymarkdown:no-bare-urls +test/units/cli/test_data/role_skeleton/README.md pymarkdown:line-length |