Index: src/zope/testing/testrunner/formatter.py
===================================================================
--- src/zope/testing/testrunner/formatter.py	(revisione 106999)
+++ src/zope/testing/testrunner/formatter.py	(copia locale)
@@ -19,10 +19,9 @@
 import sys
 import re
 import traceback
+import warnings
 
-from zope.testing import doctest
 
-
 doctest_template = """
 File "%s", line %s, in %s
 
@@ -328,6 +327,9 @@
     def format_traceback(self, exc_info):
         """Format the traceback."""
         v = exc_info[1]
+        warnings.simplefilter('ignore')
+        from zope.testing import doctest
+        warnings.filters.pop()
         if isinstance(v, doctest.DocTestFailureException):
             tb = v.args[0]
         elif isinstance(v, doctest.DocTestFailure):
@@ -560,6 +562,9 @@
         print
         print self.colorize('error', msg)
         v = exc_info[1]
+        warnings.simplefilter('ignore');
+        from zope.testing import doctest
+        warnings.filters.pop()
         if isinstance(v, doctest.DocTestFailureException):
             self.print_doctest_failure(v.args[0])
         elif isinstance(v, doctest.DocTestFailure):
Index: src/zope/testing/testrunner/doctest.py
===================================================================
--- src/zope/testing/testrunner/doctest.py	(revisione 106999)
+++ src/zope/testing/testrunner/doctest.py	(copia locale)
@@ -17,10 +17,11 @@
 """
 
 import sys
-from zope.testing import doctest
 import zope.testing.testrunner.feature
 
+from zope.testing import doctest
 
+
 class DocTest(zope.testing.testrunner.feature.Feature):
 
     active = True
Index: src/zope/testing/testrunner/runner.py
===================================================================
--- src/zope/testing/testrunner/runner.py	(revisione 106999)
+++ src/zope/testing/testrunner/runner.py	(copia locale)
@@ -34,7 +34,6 @@
 from zope.testing.testrunner.refcount import TrackRefs
 from zope.testing.testrunner.options import get_options
 import zope.testing.testrunner.coverage
-import zope.testing.testrunner.doctest
 import zope.testing.testrunner.logsupport
 import zope.testing.testrunner.selftest
 import zope.testing.testrunner.profiling
@@ -177,7 +176,10 @@
         self.features.append(zope.testing.testrunner.selftest.SelfTest(self))
         self.features.append(zope.testing.testrunner.logsupport.Logging(self))
         self.features.append(zope.testing.testrunner.coverage.Coverage(self))
-        self.features.append(zope.testing.testrunner.doctest.DocTest(self))
+        if options.ndiff or options.udiff or options.cdiff or \
+           options.report_only_first_failure is not None:
+            from zope.testing.testrunner.doctest import DocTest
+            self.features.append(DocTest(self))
         self.features.append(zope.testing.testrunner.profiling.Profiling(self))
         if is_jython:
             # Jython GC support is not yet implemented
Index: src/zope/testing/testrunner/debug.py
===================================================================
--- src/zope/testing/testrunner/debug.py	(revisione 106999)
+++ src/zope/testing/testrunner/debug.py	(copia locale)
@@ -20,12 +20,12 @@
 import sys
 import pdb
 
-from zope.testing import doctest
 import zope.testing.testrunner.interfaces
 
 
 def post_mortem(exc_info):
     err = exc_info[1]
+    from zope.testing import doctest
     if isinstance(err, (doctest.UnexpectedException, doctest.DocTestFailure)):
 
         if isinstance(err, doctest.UnexpectedException):
