diff options
author | Skip Montanaro <skip@pobox.com> | 2007-11-23 17:08:35 (GMT) |
---|---|---|
committer | Skip Montanaro <skip@pobox.com> | 2007-11-23 17:08:35 (GMT) |
commit | 6d7914bf22ff657c1047fde8cf85861f16c57d8c (patch) | |
tree | c0fc709cc5d561625d4e31935d293ba763a0d1b6 /Lib/doctest.py | |
parent | f7b462f696dfb6ceabe9016611492a85b5109ac3 (diff) | |
download | cpython-6d7914bf22ff657c1047fde8cf85861f16c57d8c.zip cpython-6d7914bf22ff657c1047fde8cf85861f16c57d8c.tar.gz cpython-6d7914bf22ff657c1047fde8cf85861f16c57d8c.tar.bz2 |
Make trace and doctest play nice together (issue 1429818). Will backport.
Diffstat (limited to 'Lib/doctest.py')
-rw-r--r-- | Lib/doctest.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/doctest.py b/Lib/doctest.py index e874a26..3c977e1 100644 --- a/Lib/doctest.py +++ b/Lib/doctest.py @@ -320,8 +320,19 @@ class _OutputRedirectingPdb(pdb.Pdb): """ def __init__(self, out): self.__out = out + self.__debugger_used = False pdb.Pdb.__init__(self, stdout=out) + def set_trace(self): + self.__debugger_used = True + pdb.Pdb.set_trace(self) + + def set_continue(self): + # Calling set_continue unconditionally would break unit test + # coverage reporting, as Bdb.set_continue calls sys.settrace(None). + if self.__debugger_used: + pdb.Pdb.set_continue(self) + def trace_dispatch(self, *args): # Redirect stdout to the given stream. save_stdout = sys.stdout |