Fix module validator blacklist handling.

Process the blacklist before creating a validator instance.
pull/23555/head
Matt Clay 9 years ago
parent 8382ed7200
commit 442768c45e

@ -834,19 +834,25 @@ class ModuleValidator(Validator):
(option, should_be, version_added))
))
def validate(self):
super(ModuleValidator, self).validate()
@staticmethod
def is_blacklisted(path):
base_name = os.path.basename(path)
file_name, _ = os.path.splitext(base_name)
if self.object_name.startswith('_') and os.path.islink(self.object_path):
return
if file_name.startswith('_') and os.path.islink(path):
return True
# Blacklists -- these files are not checked
if not frozenset((self.basename,
self.name)).isdisjoint(self.BLACKLIST):
return
for pat in self.BLACKLIST_PATTERNS:
if fnmatch(self.basename, pat):
return
if not frozenset((base_name, file_name)).isdisjoint(ModuleValidator.BLACKLIST):
return True
for pat in ModuleValidator.BLACKLIST_PATTERNS:
if fnmatch(base_name, pat):
return True
return False
def validate(self):
super(ModuleValidator, self).validate()
# if self._powershell_module():
# self.warnings.append('Cannot check powershell modules at this '
@ -974,6 +980,8 @@ def main():
path = module
if args.exclude and args.exclude.search(path):
sys.exit(0)
if ModuleValidator.is_blacklisted(path):
sys.exit(0)
with ModuleValidator(path, analyze_arg_spec=args.arg_spec,
base_branch=args.base_branch, git_cache=git_cache) as mv:
mv.validate()
@ -997,6 +1005,8 @@ def main():
path = os.path.join(root, filename)
if args.exclude and args.exclude.search(path):
continue
if ModuleValidator.is_blacklisted(path):
continue
with ModuleValidator(path, analyze_arg_spec=args.arg_spec,
base_branch=args.base_branch, git_cache=git_cache) as mv:
mv.validate()

Loading…
Cancel
Save