mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-02 14:40:19 -07:00
Complete updates of remaining code-smell tests. (#37743)
* Add text/binary file support to code smell tests. * Enhance line-endings code smell test. * Enhance no-smart-quotes code-smell test. * Enhance shebang code-smell test.
This commit is contained in:
parent
7c311ad615
commit
05220d693d
10 changed files with 157 additions and 63 deletions
37
test/sanity/code-smell/no-smart-quotes.py
Executable file
37
test/sanity/code-smell/no-smart-quotes.py
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import re
|
||||
import sys
|
||||
|
||||
|
||||
def main():
|
||||
skip = set([
|
||||
'test/sanity/code-smell/%s' % os.path.basename(__file__),
|
||||
'docs/docsite/rst/dev_guide/testing/sanity/no-smart-quotes.rst',
|
||||
'test/integration/targets/unicode/unicode.yml',
|
||||
'test/integration/targets/lookup_properties/lookup-8859-15.ini',
|
||||
])
|
||||
|
||||
for path in sys.argv[1:] or sys.stdin.read().splitlines():
|
||||
if path in skip:
|
||||
continue
|
||||
|
||||
with open(path, 'rb') as path_fd:
|
||||
for line, text in enumerate(path_fd.readlines()):
|
||||
try:
|
||||
text = text.decode('utf-8')
|
||||
except UnicodeDecodeError as ex:
|
||||
print('%s:%d:%d: UnicodeDecodeError: %s' % (path, line + 1, ex.start + 1, ex))
|
||||
continue
|
||||
|
||||
match = re.search(u'([‘’“”])', text)
|
||||
|
||||
if match:
|
||||
print('%s:%d:%d: use ASCII quotes `\'` and `"` instead of Unicode quotes' % (
|
||||
path, line + 1, match.start(1) + 1))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Add table
Add a link
Reference in a new issue