diff options
author | Matt Clay <matt@mystile.com> | 2018-02-21 20:09:13 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-21 20:09:13 -0800 |
commit | 891f4f3b2d1b2fcab1b64e0ea942d186f98b7406 (patch) | |
tree | 46c34272bb37e8e1427919c0759e149a683fcc90 /test/sanity/code-smell/required-and-default-attributes.py | |
parent | a4df4d33ac72e048694f662a358d96b7f487bf83 (diff) | |
download | ansible-891f4f3b2d1b2fcab1b64e0ea942d186f98b7406.tar.gz |
Upgrade more code-smell tests. (#36560)
* Enhance no-dict-* code-smell tests.
* Enhance no-basestring code-smell test.
* Enhance no-get-exception code-smell test.
* Enhance empty-init code-smell test.
* Enhance required-and-default-attribute test.
* Remove unused code-smell test.
Diffstat (limited to 'test/sanity/code-smell/required-and-default-attributes.py')
-rwxr-xr-x | test/sanity/code-smell/required-and-default-attributes.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/sanity/code-smell/required-and-default-attributes.py b/test/sanity/code-smell/required-and-default-attributes.py new file mode 100755 index 0000000000..5c6f86c5b9 --- /dev/null +++ b/test/sanity/code-smell/required-and-default-attributes.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +import os +import re +import sys + + +def main(): + skip = set([ + 'test/sanity/code-smell/%s' % os.path.basename(__file__), + ]) + + for path in sys.argv[1:]: + if path in skip: + continue + + with open(path, 'r') as path_fd: + for line, text in enumerate(path_fd.readlines()): + match = re.search(r'(FieldAttribute.*(default|required).*(default|required))', text) + + if match: + print('%s:%d:%d: use only one of `default` or `required` with `FieldAttribute`' % ( + path, line + 1, match.start(1) + 1)) + + +if __name__ == '__main__': + main() |