servo: Merge #11621 - Make mach test-tidy consider ignored dirs (from h4xr:mach_fix); r=Wafflespeanut

Made changes so that mach test-tidy considers the ignored directories

Fixes #11386

Source-Repo: https://github.com/servo/servo
Source-Revision: bc2f4c3450787654c955c7b4ce08d98f1f168e70
This commit is contained in:
Saurabh Badhwar
2016-06-14 23:33:52 -05:00
parent 80f74f6e43
commit 7f3392e41d
3 changed files with 13 additions and 2 deletions

View File

@@ -650,11 +650,12 @@ def get_file_list(directory, only_changed_files=False, exclude_dirs=[]):
args = ["git", "ls-files", "--others", "--exclude-standard", directory]
file_list += subprocess.check_output(args)
for f in file_list.splitlines():
yield os.path.join('.', f)
if os.path.join('.', os.path.dirname(f)) not in ignored_dirs:
yield os.path.join('.', f)
elif exclude_dirs:
for root, dirs, files in os.walk(directory, topdown=True):
# modify 'dirs' in-place so that we don't do unwanted traversals in excluded directories
dirs[:] = [d for d in dirs if not any(os.path.join(root, d).startswith(name) for name in ignored_dirs)]
dirs[:] = [d for d in dirs if not any(os.path.join(root, d).startswith(name) for name in exclude_dirs)]
for rel_path in files:
yield os.path.join(root, rel_path)
else: