[Python-checkins] r59138 - python/branches/release25-maint/Lib/doctest.py python/branches/release25-maint/Lib/trace.py
skip.montanaro
python-checkins at python.org
Fri Nov 23 18:09:35 CET 2007
Author: skip.montanaro
Date: Fri Nov 23 18:09:34 2007
New Revision: 59138
Modified:
python/branches/release25-maint/Lib/doctest.py
python/branches/release25-maint/Lib/trace.py
Log:
Make trace and doctest play nice together (issue 1429818). Backported from
head.
Modified: python/branches/release25-maint/Lib/doctest.py
==============================================================================
--- python/branches/release25-maint/Lib/doctest.py (original)
+++ python/branches/release25-maint/Lib/doctest.py Fri Nov 23 18:09:34 2007
@@ -320,8 +320,19 @@
"""
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
Modified: python/branches/release25-maint/Lib/trace.py
==============================================================================
--- python/branches/release25-maint/Lib/trace.py (original)
+++ python/branches/release25-maint/Lib/trace.py Fri Nov 23 18:09:34 2007
@@ -286,6 +286,8 @@
# skip some "files" we don't care about...
if filename == "<string>":
continue
+ if filename.startswith("<doctest "):
+ continue
if filename.endswith((".pyc", ".pyo")):
filename = filename[:-1]
More information about the Python-checkins
mailing list