make pylint plugin not bail out early, still does nothing useful, though

--HG--
branch : 1.0.x
This commit is contained in:
holger krekel 2009-08-03 16:34:48 +02:00
parent 1a570011fe
commit 66cf2d3092
1 changed files with 11 additions and 16 deletions

View File

@ -4,38 +4,33 @@ XXX: Currently in progress, NOT IN WORKING STATE.
"""
import py
lint = py.test.importorskip("pylint")
pylint = py.test.importorskip("pylint.lint")
def pytest_addoption(parser):
group = parser.addgroup('pylint options')
group.addoption('--pylint', action='store_true',
default=False, dest='pylint',
help='Pylint coverate of test files.')
help='run pylint on python files.')
def pytest_collect_file(path, parent):
if path.ext == ".py":
if parent.config.getvalue('pylint'):
return PylintItem(path, parent, self.lint)
return PylintItem(path, parent)
def pytest_terminal_summary(terminalreporter):
print 'placeholder for pylint output'
#def pytest_terminal_summary(terminalreporter):
# print 'placeholder for pylint output'
class PylintItem(py.test.collect.Item):
def __init__(self, path, parent, lintlib):
name = self.__class__.__name__ + ":" + path.basename
super(PylintItem, self).__init__(name=name, parent=parent)
self.fspath = path
self.lint = lintlib
def runtest(self):
# run lint here
capture = py.io.StdCaptureFD()
#pylib.org has docs on py.io.stdcaptureFD
self.linter = self.lint.PyLinter() #TODO: should this be in the PylintPlugin?
self.linter.check(str(self.fspath))
out, err = capture.reset()
try:
linter = pylint.lint.PyLinter()
linter.check(str(self.fspath))
finally:
out, err = capture.reset()
rating = out.strip().split('\n')[-1]
print ">>>",
print rating
assert 0