Skip to content

Commit 1771e34

Browse files
committed
squash! fixup! fixup! pdb: resume capturing after continue
Store _pytest_capman on the class, for pdbpp's do_debug hack to keep it. Without this, `debug …` would fail like this: /usr/lib/python3.6/cmd.py:217: in onecmd return func(arg) .venv/lib/python3.6/site-packages/pdb.py:608: in do_debug return orig_do_debug(self, arg) /usr/lib/python3.6/pdb.py:1099: in do_debug sys.call_tracing(p.run, (arg, globals, locals)) /usr/lib/python3.6/bdb.py:434: in run exec(cmd, globals, locals) /usr/lib/python3.6/bdb.py:51: in trace_dispatch return self.dispatch_line(frame) /usr/lib/python3.6/bdb.py:69: in dispatch_line self.user_line(frame) /usr/lib/python3.6/pdb.py:261: in user_line self.interaction(frame, None) .venv/lib/python3.6/site-packages/pdb.py:203: in interaction self.setup(frame, traceback) E AttributeError: 'PytestPdb' object has no attribute '_pytest_capman'
1 parent 4d2916e commit 1771e34

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

_pytest/debugging.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ def set_trace(cls):
7777
cls._pluginmanager.hook.pytest_enter_pdb(config=cls._config)
7878

7979
class PytestPdb(cls._pdb_cls):
80+
_pytest_capman = capman
81+
8082
def do_continue(self, arg):
8183
ret = super(PytestPdb, self).do_continue(arg)
8284
if self._pytest_capman:
@@ -103,7 +105,6 @@ def setup(self, f, tb):
103105
return ret
104106

105107
_pdb = PytestPdb()
106-
_pdb._pytest_capman = capman
107108
else:
108109
_pdb = cls._pdb_cls()
109110
_pdb.set_trace(frame)

0 commit comments

Comments
 (0)