summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2007-12-02 21:03:53 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2007-12-02 21:03:53 +0000
commitd38cb0b2535efa7b210132dd6c01d4ec5d1d9d4d (patch)
treec772375851186a607bf21c8aee20ab31eebc1b9b
parent953e69524646e6a27dfecea72b51e069a0ecb68b (diff)
Fixed #6024: Django's doctest no longer clashes with coverage.py. Thanks to Ned Batchelder for the original fix, and Todd O'Brian for his update to make it work with Django.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6851 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/test/_doctest.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/django/test/_doctest.py b/django/test/_doctest.py
index 3589e16225..d1308b855e 100644
--- a/django/test/_doctest.py
+++ b/django/test/_doctest.py
@@ -354,8 +354,19 @@ class _OutputRedirectingPdb(pdb.Pdb):
"""
def __init__(self, out):
self.__out = out
+ self.__debugger_used = False
pdb.Pdb.__init__(self)
+ 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