1 new commit in pytest: https://bitbucket.org/hpk42/pytest/commits/0bef852667d6/ Changeset: 0bef852667d6 User: hpk42 Date: 2014-09-23 12:04:47+00:00 Summary: Merged in wosc/pytest (pull request #204)
Introduce pytest_enter_pdb hook Affected #: 4 files diff -r 68fd027f00370ce8ddb5d1912d80ee0d8c63cbf5 -r 0bef852667d6893f66fb9015000bb88642c704e4 CHANGELOG --- a/CHANGELOG +++ b/CHANGELOG @@ -19,6 +19,8 @@ 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 ----------- diff -r 68fd027f00370ce8ddb5d1912d80ee0d8c63cbf5 -r 0bef852667d6893f66fb9015000bb88642c704e4 _pytest/hookspec.py --- a/_pytest/hookspec.py +++ b/_pytest/hookspec.py @@ -262,3 +262,5 @@ that is not an internal exception like "skip.Exception". """ +def pytest_enter_pdb(): + """ called upon pdb.set_trace()""" diff -r 68fd027f00370ce8ddb5d1912d80ee0d8c63cbf5 -r 0bef852667d6893f66fb9015000bb88642c704e4 _pytest/pdb.py --- a/_pytest/pdb.py +++ b/_pytest/pdb.py @@ -42,6 +42,7 @@ 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) diff -r 68fd027f00370ce8ddb5d1912d80ee0d8c63cbf5 -r 0bef852667d6893f66fb9015000bb88642c704e4 testing/test_pdb.py --- a/testing/test_pdb.py +++ b/testing/test_pdb.py @@ -267,3 +267,21 @@ "*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() Repository URL: https://bitbucket.org/hpk42/pytest/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. _______________________________________________ pytest-commit mailing list pytest-commit@python.org https://mail.python.org/mailman/listinfo/pytest-commit