Add tests for the new LintRunner

This commit is contained in:
Ravi Shankar 2016-11-11 15:34:29 +05:30
parent 8385c9ae79
commit 34955e0bf8
7 changed files with 46 additions and 0 deletions

View file

@ -0,0 +1,5 @@
from servo_tidy.tidy import LintRunner
class Lint(LintRunner):
def run(self):
yield None

View file

@ -0,0 +1,5 @@
from servo_tidy.tidy import LintRunner
class Linter(LintRunner):
def run(self):
pass

View file

@ -0,0 +1,5 @@
from servo_tidy.tidy import LintRunner
class Lint(LintRunner):
def some_method(self):
pass

View file

@ -0,0 +1,2 @@
class Lint(object):
pass

View file

@ -0,0 +1,6 @@
from servo_tidy.tidy import LintRunner
class Lint(LintRunner):
def run(self):
for _ in [None]:
yield ('path', 0, 'foobar')

View file

@ -188,6 +188,29 @@ class CheckTidiness(unittest.TestCase):
self.assertEqual(msg, errors.next()[2])
self.assertNoMoreErrors(errors)
def test_lint_runner(self):
test_path = base_path + 'lints/'
runner = tidy.LintRunner(only_changed_files=False, progress=False)
runner.path = test_path + 'some-fictional-file'
self.assertEqual([(runner.path, 0, "file does not exist")], list(runner.check()))
runner.path = test_path + 'not_script'
self.assertEqual([(runner.path, 0, "lint should be a python script")],
list(runner.check()))
runner.path = test_path + 'not_inherited.py'
self.assertEqual([(runner.path, 1, "class 'Lint' should inherit from 'LintRunner'")],
list(runner.check()))
runner.path = test_path + 'no_lint.py'
self.assertEqual([(runner.path, 1, "script should contain a class named 'Lint'")],
list(runner.check()))
runner.path = test_path + 'no_run.py'
self.assertEqual([(runner.path, 0, "class 'Lint' should implement 'run' method")],
list(runner.check()))
runner.path = test_path + 'invalid_error_tuple.py'
self.assertEqual([(runner.path, 1, "errors should be a tuple of (path, line, reason)")],
list(runner.check()))
runner.path = test_path + 'proper_file.py'
self.assertEqual([('path', 0, "foobar")], list(runner.check()))
def test_file_list(self):
base_path='./python/tidy/servo_tidy_tests/test_ignored'
file_list = tidy.FileList(base_path, only_changed_files=False, exclude_dirs=[])