[py-svn] commit/pytest-codecheckers: 2 new changesets
Bitbucket
commits-noreply at bitbucket.org
Thu May 31 12:53:20 CEST 2012
2 new commits in pytest-codecheckers:
https://bitbucket.org/RonnyPfannschmidt/pytest-codecheckers/changeset/bcc7f2f21c26/
changeset: bcc7f2f21c26
user: RonnyPfannschmidt
date: 2012-05-31 10:24:28
summary: complete output and short filenames
affected #: 3 files
diff -r fa040790a4ab2931937cdfc0efe82b664f648007 -r bcc7f2f21c26ff899d6ddf180ad7786acee3cea4 codecheckers/flakes.py
--- a/codecheckers/flakes.py
+++ b/codecheckers/flakes.py
@@ -9,6 +9,6 @@
Assignment.__init__ = assignment_monkeypatched_init
-def check_file(path):
- return pyflakes_check(path.read(), str(path))
+def check_file(path, filename, io):
+ return pyflakes_check(path.read(), filename, io)
diff -r fa040790a4ab2931937cdfc0efe82b664f648007 -r bcc7f2f21c26ff899d6ddf180ad7786acee3cea4 codecheckers/pep.py
--- a/codecheckers/pep.py
+++ b/codecheckers/pep.py
@@ -1,3 +1,4 @@
+import sys
import pep8
class PyTestChecker(pep8.Checker):
@@ -8,17 +9,21 @@
self.ignored_errors += 1
pep8.Checker.report_error(self, line_number, offset, text, check)
-def check_file(path):
-
- pep8.process_options(['pep8',
- # ignore list taken from moin
- '--ignore=E202,E221,E222,E241,E301,E302,E401,E501,E701,W391,W601,W602',
- '--show-source',
- '--repeat',
- 'dummy file',
- ])
- checker = PyTestChecker(str(path))
- #XXX: bails out on death
- error_count = checker.check_all()
- ignored = checker.ignored_errors
- return max(error_count - ignored, 0)
+def check_file(path, filename, io):
+ oldio = sys.stdout, sys.stderr
+ try:
+ sys.stdout = sys.stderr = io
+ pep8.process_options(['pep8',
+ # ignore list taken from moin
+ '--ignore=E202,E221,E222,E241,E301,E302,E401,E501,E701,W391,W601,W602',
+ '--show-source',
+ '--repeat',
+ 'dummy file',
+ ])
+ checker = PyTestChecker(filename, path.readlines())
+ #XXX: bails out on death
+ error_count = checker.check_all()
+ ignored = checker.ignored_errors
+ return max(error_count - ignored, 0)
+ finally:
+ sys.stdout , sys.stderr = oldio
diff -r fa040790a4ab2931937cdfc0efe82b664f648007 -r bcc7f2f21c26ff899d6ddf180ad7786acee3cea4 codecheckers/plugin.py
--- a/codecheckers/plugin.py
+++ b/codecheckers/plugin.py
@@ -9,11 +9,13 @@
self._ep = ep
def runtest(self):
- c = py.io.StdCapture()
+ io = py.io.BytesIO()
mod = self._ep.load()
try:
- found_errors, out, err = c.call(mod.check_file, self.fspath)
- self.out, self.err = out, err
+ main = py.path.local()
+ filename = main.bestrelpath(self.fspath)
+ found_errors = mod.check_file(self.fspath, filename, io)
+ self.out = io.getvalue()
except:
found_errors = True
self.info = py.code.ExceptionInfo()
https://bitbucket.org/RonnyPfannschmidt/pytest-codecheckers/changeset/0f710db69530/
changeset: 0f710db69530
user: RonnyPfannschmidt
date: 2012-05-31 12:53:12
summary: add filename display
affected #: 1 file
diff -r bcc7f2f21c26ff899d6ddf180ad7786acee3cea4 -r 0f710db6953096237ee94e4d0213a158c243b99d codecheckers/plugin.py
--- a/codecheckers/plugin.py
+++ b/codecheckers/plugin.py
@@ -6,15 +6,16 @@
class PyCodeCheckItem(py.test.collect.Item):
def __init__(self, ep, parent):
py.test.collect.Item.__init__(self, ep.name, parent)
+ main = py.path.local()
+ self.filename = main.bestrelpath(self.fspath)
self._ep = ep
def runtest(self):
+ mod = self._ep.load()
io = py.io.BytesIO()
- mod = self._ep.load()
+
try:
- main = py.path.local()
- filename = main.bestrelpath(self.fspath)
- found_errors = mod.check_file(self.fspath, filename, io)
+ found_errors = mod.check_file(self.fspath, self.filename, io)
self.out = io.getvalue()
except:
found_errors = True
@@ -26,10 +27,13 @@
return self.out
except AttributeError:
#XXX: internal error ?!
- return super(PyCodeCheckItem, self).repr_failure(self.info)
+ self.info = py.code.ExceptionInfo()
+ info = getattr(self, 'info', exc_info)
+ return super(PyCodeCheckItem, self).repr_failure(info)
def reportinfo(self):
- return (self.fspath, -1, "codecheck %s" % self._ep.name)
+ return (self.fspath, -1, "codecheck %s %s" % (
+ self._ep.name, self.filename))
class PyCheckerCollector(py.test.collect.File):
Repository URL: https://bitbucket.org/RonnyPfannschmidt/pytest-codecheckers/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the pytest-commit
mailing list