diff options
| author | Jacob Kaplan-Moss <jacob@jacobian.org> | 2007-12-02 21:03:53 +0000 |
|---|---|---|
| committer | Jacob Kaplan-Moss <jacob@jacobian.org> | 2007-12-02 21:03:53 +0000 |
| commit | d38cb0b2535efa7b210132dd6c01d4ec5d1d9d4d (patch) | |
| tree | c772375851186a607bf21c8aee20ab31eebc1b9b | |
| parent | 953e69524646e6a27dfecea72b51e069a0ecb68b (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.py | 11 |
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 |
