35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
|
|
import py
|
|
from py.__.test.outcome import Failed
|
|
from py.__.test.testing.suptest import InlineCollection
|
|
|
|
def setup_module(mod):
|
|
mod.tmp = py.test.ensuretemp(__name__)
|
|
|
|
class TestDoctests(InlineCollection):
|
|
def test_simple_docteststring(self):
|
|
txtfile = self.maketxtfile(test_doc="""
|
|
>>> i = 0
|
|
>>> i + 1
|
|
1
|
|
""")
|
|
config = self.parseconfig(txtfile)
|
|
col = config.getfsnode(txtfile)
|
|
testitem = col.join(txtfile.basename)
|
|
res = testitem.runtest()
|
|
assert res is None
|
|
|
|
|
|
def test_doctest_unexpected_exception(self):
|
|
py.test.skip("implement nice doctest repr for unexpected exceptions")
|
|
p = tmp.join("test_doctest_unexpected_exception")
|
|
p.write(py.code.Source("""
|
|
>>> i = 0
|
|
>>> x
|
|
2
|
|
"""))
|
|
testitem = py.test.collect.DoctestFile(p).join(p.basename)
|
|
excinfo = py.test.raises(Failed, "testitem.runtest()")
|
|
repr = testitem.repr_failure(excinfo, ("", ""))
|
|
assert repr.reprlocation
|