From: Skip Montanaro Date: Fri, 23 Nov 2007 17:08:35 +0000 (+0000) Subject: Make trace and doctest play nice together (issue 1429818). Will backport. X-Git-Tag: v2.6a1~1014 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6d7914bf22ff657c1047fde8cf85861f16c57d8c;p=python Make trace and doctest play nice together (issue 1429818). Will backport. --- diff --git a/Lib/doctest.py b/Lib/doctest.py index e874a26817..3c977e1519 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 diff --git a/Lib/trace.py b/Lib/trace.py index 364e3f7bc9..3f00605254 100644 --- a/Lib/trace.py +++ b/Lib/trace.py @@ -286,6 +286,8 @@ class CoverageResults: # skip some "files" we don't care about... if filename == "": continue + if filename.startswith("