[Pytest-commit] commit/pytest: hpk42: Merged in wosc/pytest (pull request #204)

commits-noreply at bitbucket.org commits-noreply at bitbucket.org
Tue Sep 23 14:04:52 CEST 2014


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.


More information about the pytest-commit mailing list