test/testing/test_doctest.py - line 23
|
|
def test_simple_docteststring_failing(): |
testitem = DoctestText(name="dummy2", parent=None) |
testitem._setcontent(""" |
>>> i = 0 |
>>> i + 1 |
2 |
""") |
-> py.test.raises(Failed, "testitem.run()") | |
test/raises.py - line 20
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 |
| 13 |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 |
| 27 |
| 28 |
| 29 |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36 |
| 37 |
| 38 |
| 39 | |
def raises(ExpectedException, *args, **kwargs): |
""" raise AssertionError, if target code does not raise the expected |
exception. |
""" |
assert args |
__tracebackhide__ = True |
if isinstance(args[0], str): |
expr, = args |
assert isinstance(expr, str) |
frame = sys._getframe(1) |
loc = frame.f_locals.copy() |
loc.update(kwargs) |
|
source = py.code.Source(expr) |
try: |
-> exec source.compile() in frame.f_globals, loc |
|
|
|
except ExpectedException: |
return py.code.ExceptionInfo() |
else: |
func = args[0] |
assert callable |
try: |
func(*args[1:], **kwargs) |
|
except ExpectedException: |
return py.code.ExceptionInfo() |
k = ", ".join(["%s=%r" % x for x in kwargs.items()]) |
if k: |
k = ', ' + k |
expr = '%s(%r%s)' %(func.__name__, args, k) |
raise ExceptionFailure(msg="DID NOT RAISE", |
expr=args, expected=ExpectedException) | |
None</build/buildd/codespeak-lib-0.9.1/py/test/raises.py:20> - line 1
test/doctest.py - line 26
| 18 |
| 19 |
| 20 |
| 21 |
| 22 |
| 23 |
| 24 |
| 25 |
| 26 | |
def run(self): |
mod = py.std.types.ModuleType(self.name) |
|
|
|
|
|
|
-> self.execute(mod, self._content) | |
test/doctest.py - line 30
|
|
def execute(self, mod, docstring): |
mod.__doc__ = docstring |
-> failed, tot = py.compat.doctest.testmod(mod, verbose=1) |
if failed: |
py.test.fail("doctest %s: %s failed out of %s" %( |
self.fspath, failed, tot)) | |