Merged in wosc/pytest (pull request #204)
Introduce pytest_enter_pdb hook
This commit is contained in:
commit
be503f1c43
|
@ -19,6 +19,8 @@ NEXT
|
||||||
CWD outside a test package pytest would get fixture discovery wrong.
|
CWD outside a test package pytest would get fixture discovery wrong.
|
||||||
Thanks to Wolfgang Schnerring for figuring out a reproducable example.
|
Thanks to Wolfgang Schnerring for figuring out a reproducable example.
|
||||||
|
|
||||||
|
- Introduce pytest_enter_pdb hook (needed e.g. by pytest_timeout to cancel the
|
||||||
|
timeout when interactively entering pdb).
|
||||||
|
|
||||||
2.6.2
|
2.6.2
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -262,3 +262,5 @@ def pytest_exception_interact(node, call, report):
|
||||||
that is not an internal exception like "skip.Exception".
|
that is not an internal exception like "skip.Exception".
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def pytest_enter_pdb():
|
||||||
|
""" called upon pdb.set_trace()"""
|
||||||
|
|
|
@ -42,6 +42,7 @@ class pytestPDB:
|
||||||
tw = py.io.TerminalWriter()
|
tw = py.io.TerminalWriter()
|
||||||
tw.line()
|
tw.line()
|
||||||
tw.sep(">", "PDB set_trace (IO-capturing turned off)")
|
tw.sep(">", "PDB set_trace (IO-capturing turned off)")
|
||||||
|
self._pluginmanager.hook.pytest_enter_pdb()
|
||||||
pdb.Pdb().set_trace(frame)
|
pdb.Pdb().set_trace(frame)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -267,3 +267,21 @@ class TestPDB:
|
||||||
"*NameError*xxx*",
|
"*NameError*xxx*",
|
||||||
"*1 error*",
|
"*1 error*",
|
||||||
])
|
])
|
||||||
|
|
||||||
|
def test_enter_pdb_hook_is_called(self, testdir):
|
||||||
|
testdir.makeconftest("""
|
||||||
|
def pytest_enter_pdb():
|
||||||
|
print 'enter_pdb_hook'
|
||||||
|
""")
|
||||||
|
p1 = testdir.makepyfile("""
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
def test_foo():
|
||||||
|
pytest.set_trace()
|
||||||
|
""")
|
||||||
|
child = testdir.spawn_pytest(str(p1))
|
||||||
|
child.expect("enter_pdb_hook")
|
||||||
|
child.send('c\n')
|
||||||
|
child.sendeof()
|
||||||
|
if child.isalive():
|
||||||
|
child.wait()
|
||||||
|
|
Loading…
Reference in New Issue