6ec0b4ec86
* Run no-unwanted-files sanity test only on Ansible. Since collections should be able to use binary modules there is not really any limit on what could exist in a collection `plugins` directory. * Add support for symlinks in sanity target lists: - Sanity tests that need to analyze symlinks can do so using the supplied target list. - Tests that analyze directories will now only look at symlinks if requested. - Directory symlinks will now be seen as directories instead of files. * Enable symlinks on filename based sanity tests. Sanity tests that evalulate filenames instead of content should include symlinks. * Update symlinks sanity test. Use the sanity test target list now that it can include symlinks.
22 lines
541 B
Python
Executable file
22 lines
541 B
Python
Executable file
#!/usr/bin/env python
|
|
from __future__ import (absolute_import, division, print_function)
|
|
__metaclass__ = type
|
|
|
|
import os
|
|
import sys
|
|
|
|
|
|
def main():
|
|
for path in sys.argv[1:] or sys.stdin.read().splitlines():
|
|
if not os.path.islink(path.rstrip(os.path.sep)):
|
|
continue
|
|
|
|
if not os.path.exists(path):
|
|
print('%s: broken symlinks are not allowed' % path)
|
|
|
|
if path.endswith(os.path.sep):
|
|
print('%s: symlinks to directories are not allowed' % path)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|