diff options
author | Matt Clay <matt@mystile.com> | 2019-02-05 14:56:04 -0800 |
---|---|---|
committer | Matt Clay <matt@mystile.com> | 2019-02-05 15:21:01 -0800 |
commit | 06d83bae056bbc9de904a238e480acf1147fe80e (patch) | |
tree | df0d5c8b3b7553a133ad8c6e5ba560b93dc398ac /test/sanity/code-smell | |
parent | b8a7e35b22f277c027e15084aa062a2dd1ff0be2 (diff) | |
download | ansible-06d83bae056bbc9de904a238e480acf1147fe80e.tar.gz |
Support `ignore_changes` in code-smell tests.
Diffstat (limited to 'test/sanity/code-smell')
-rw-r--r-- | test/sanity/code-smell/action-plugin-docs.json | 9 | ||||
-rwxr-xr-x | test/sanity/code-smell/action-plugin-docs.py | 31 |
2 files changed, 26 insertions, 14 deletions
diff --git a/test/sanity/code-smell/action-plugin-docs.json b/test/sanity/code-smell/action-plugin-docs.json index 39ac4bd57f..d029aaf7d6 100644 --- a/test/sanity/code-smell/action-plugin-docs.json +++ b/test/sanity/code-smell/action-plugin-docs.json @@ -1,4 +1,11 @@ { - "always": true, + "ignore_changes": true, + "prefixes": [ + "lib/ansible/modules/", + "lib/ansible/plugins/action/" + ], + "extensions": [ + ".py" + ], "output": "path-message" } diff --git a/test/sanity/code-smell/action-plugin-docs.py b/test/sanity/code-smell/action-plugin-docs.py index db0b853da8..76de98ea4d 100755 --- a/test/sanity/code-smell/action-plugin-docs.py +++ b/test/sanity/code-smell/action-plugin-docs.py @@ -2,6 +2,7 @@ """Test to verify action plugins have an associated module to provide documentation.""" import os +import sys def main(): @@ -40,31 +41,35 @@ def main(): 'vyos', ]) + paths = sys.argv[1:] or sys.stdin.read().splitlines() + module_names = set() - for root, dirs, files in os.walk('lib/ansible/modules'): - for filename in files: - name, ext = os.path.splitext(filename) + for path in paths: + if not path.startswith('lib/ansible/modules/'): + continue + + name = os.path.splitext(os.path.basename(path))[0] - if ext == '.py' and name != '__init__': - if name.startswith('_'): - name = name[1:] + if name != '__init__': + if name.startswith('_'): + name = name[1:] - module_names.add(name) + module_names.add(name) - action_plugin_dir = 'lib/ansible/plugins/action' unused_skip = set(skip) - for filename in os.listdir(action_plugin_dir): - name, ext = os.path.splitext(filename) + for path in paths: + if not path.startswith('lib/ansible/plugins/action/'): + continue - if ext == '.py' and name not in module_names: + name = os.path.splitext(os.path.basename(path))[0] + + if name not in module_names: if name in skip: unused_skip.remove(name) continue - path = os.path.join(action_plugin_dir, filename) - print('%s: action plugin has no matching module to provide documentation' % path) for filename in sorted(unused_skip): |