Bug 1436802 - [lint] Add some tests for the flake8 linter integration r=andi

This essentially tests tools/lint/python/flake8.py. Though it also adds
a basic framework for testing all the other linters as well. Getting this
added now will allow others to collaborate on adding more tests without
needing to get to 100% coverage for all linters right off the bat.

All python tests under tools/lint/test will run as part of the 'ml' task
on Linux, and the build task on Windows (OSX coverage is currently missing
for python tests).

The flake8 linter currently has a bug where the 'exclude' argument is
ignored. This is why we need to also exclude 'tools/lint/test/files' in
topsrcdir/.flake8, even though it is already listed in the
'mach_commands.py'. Other linters shouldn't need to do this, the exclusion
in 'mach_commands.py' should be good enough. See bug 1277851 for more
details.

MozReview-Commit-ID: 9ho8C83eeuj
This commit is contained in:
Andrew Halberstadt
2018-03-22 17:24:15 -04:00
parent 7300e984bf
commit 8e584ffc44
11 changed files with 169 additions and 1 deletions

View File

@@ -141,6 +141,10 @@ def setup(root):
def lint(paths, config, **lintargs):
# TODO don't store results in a global
global results
results = []
cmdargs = [
os.path.join(bindir, 'flake8'),
'--format', '{"path":"%(path)s","lineno":%(row)s,'