ansible/test/sanity/code-smell/line-endings.py
jhawkesworth ad94d03ba1 Tolerate win line endings on windows module_util load (#37291)
* tolerate windows line endings when loading windows module utils.  Helpful for old custom windows modules.

* add test modules to demonstrate win line ending module load behaviour.

* attempt to fix sanity check failures

* pep8 fix

* explict skip of test modules from shebang check (core modules must still have expected unix style line endings)

* switch to rstrip() following core team meeting feedback
2018-04-06 07:13:31 +10:00

27 lines
823 B
Python
Executable file

#!/usr/bin/env python
import sys
def main():
skip = set([
'test/integration/targets/template/files/foo.dos.txt',
'test/integration/targets/win_regmerge/templates/win_line_ending.j2',
'test/integration/targets/win_template/files/foo.dos.txt',
'test/integration/targets/win_module_utils/library/legacy_only_new_way_win_line_ending.ps1',
'test/integration/targets/win_module_utils/library/legacy_only_old_way_win_line_ending.ps1',
])
for path in sys.argv[1:] or sys.stdin.read().splitlines():
if path in skip:
continue
with open(path, 'rb') as path_fd:
contents = path_fd.read()
if b'\r' in contents:
print('%s: use "\\n" for line endings instead of "\\r\\n"' % path)
if __name__ == '__main__':
main()