fix a pdb problem when dropping to a "raises" related failure
--HG-- branch : trunk
This commit is contained in:
parent
3bca6be46d
commit
c7326f1949
|
@ -29,6 +29,8 @@ Changes between 1.2.1 and 1.2.0
|
|||
|
||||
- fix issue63: assume <40 columns to be a bogus terminal width, default to 80
|
||||
|
||||
- fix pdb debugging to be in the correct frame on raises-related errors
|
||||
|
||||
- update apipkg.py to fix an issue where recursive imports might
|
||||
unnecessarily break importing
|
||||
|
||||
|
|
|
@ -91,10 +91,11 @@ class Pdb(py.std.pdb.Pdb):
|
|||
stack, i = pdb.Pdb.get_stack(self, f, t)
|
||||
if f is None:
|
||||
i = max(0, len(stack) - 1)
|
||||
while i and stack[i][0].f_locals.get("__tracebackhide__", False):
|
||||
i-=1
|
||||
return stack, i
|
||||
|
||||
def post_mortem(t):
|
||||
# modified from pdb.py for the new get_stack() implementation
|
||||
p = Pdb()
|
||||
p.reset()
|
||||
p.interaction(None, t)
|
||||
|
|
|
@ -43,3 +43,22 @@ class TestPDB:
|
|||
child.expect("1 failed")
|
||||
if child.isalive():
|
||||
child.wait()
|
||||
|
||||
def test_pdb_interaction_exception(self, testdir):
|
||||
p1 = testdir.makepyfile("""
|
||||
import py
|
||||
def globalfunc():
|
||||
pass
|
||||
def test_1():
|
||||
py.test.raises(ValueError, globalfunc)
|
||||
""")
|
||||
child = testdir.spawn_pytest("--pdb %s" % p1)
|
||||
child.expect(".*def test_1")
|
||||
child.expect(".*py.test.raises.*globalfunc")
|
||||
child.expect("(Pdb)")
|
||||
child.sendline("globalfunc")
|
||||
child.expect(".*function")
|
||||
child.sendeof()
|
||||
child.expect("1 failed")
|
||||
if child.isalive():
|
||||
child.wait()
|
||||
|
|
Loading…
Reference in New Issue