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.
|
||||
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
|
||||
-----------
|
||||
|
|
|
@ -262,3 +262,5 @@ def pytest_exception_interact(node, call, report):
|
|||
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.line()
|
||||
tw.sep(">", "PDB set_trace (IO-capturing turned off)")
|
||||
self._pluginmanager.hook.pytest_enter_pdb()
|
||||
pdb.Pdb().set_trace(frame)
|
||||
|
||||
|
||||
|
|
|
@ -267,3 +267,21 @@ class TestPDB:
|
|||
"*NameError*xxx*",
|
||||
"*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