avoid early import of doctest

--HG--
branch : trunk
This commit is contained in:
holger krekel 2010-10-12 12:19:00 +02:00
parent 251fb0ab1c
commit 9b4cca2bf4
1 changed files with 6 additions and 7 deletions

View File

@ -2,7 +2,6 @@
import py
from py._code.code import TerminalRepr, ReprFileLocation
doctest = py.std.doctest
def pytest_addoption(parser):
group = parser.getgroup("collect")
@ -39,7 +38,7 @@ class DoctestItem(py.test.collect.Item):
self.fspath = path
def repr_failure(self, excinfo):
if excinfo.errisinstance(doctest.DocTestFailure):
if excinfo.errisinstance(py.std.doctest.DocTestFailure):
doctestfailure = excinfo.value
example = doctestfailure.example
test = doctestfailure.test
@ -47,8 +46,8 @@ class DoctestItem(py.test.collect.Item):
lineno = test.lineno + example.lineno + 1
message = excinfo.type.__name__
reprlocation = ReprFileLocation(filename, lineno, message)
checker = doctest.OutputChecker()
REPORT_UDIFF = doctest.REPORT_UDIFF
checker = py.std.doctest.OutputChecker()
REPORT_UDIFF = py.std.doctest.REPORT_UDIFF
filelines = py.path.local(filename).readlines(cr=0)
i = max(test.lineno, max(0, lineno - 10)) # XXX?
lines = []
@ -58,7 +57,7 @@ class DoctestItem(py.test.collect.Item):
lines += checker.output_difference(example,
doctestfailure.got, REPORT_UDIFF).split("\n")
return ReprFailDoctest(reprlocation, lines)
elif excinfo.errisinstance(doctest.UnexpectedException):
elif excinfo.errisinstance(py.std.doctest.UnexpectedException):
excinfo = py.code.ExceptionInfo(excinfo.value.exc_info)
return super(DoctestItem, self).repr_failure(excinfo)
else:
@ -70,12 +69,12 @@ class DoctestItem(py.test.collect.Item):
class DoctestTextfile(DoctestItem):
def runtest(self):
if not self._deprecated_testexecution():
failed, tot = doctest.testfile(
failed, tot = py.std.doctest.testfile(
str(self.fspath), module_relative=False,
raise_on_error=True, verbose=0)
class DoctestModule(DoctestItem):
def runtest(self):
module = self.fspath.pyimport()
failed, tot = doctest.testmod(
failed, tot = py.std.doctest.testmod(
module, raise_on_error=True, verbose=0)