Issue #12400: test_zipimport_support doesn't restore original sys.stdout
anymore
regrtest doesn't check that a test doesn't output anything anymore.
diff --git a/Lib/test/test_zipimport_support.py b/Lib/test/test_zipimport_support.py
index 610dfa0..a558d7d 100644
--- a/Lib/test/test_zipimport_support.py
+++ b/Lib/test/test_zipimport_support.py
@@ -33,26 +33,19 @@
def _run_object_doctest(obj, module):
- # Direct doctest output (normally just errors) to real stdout; doctest
- # output shouldn't be compared by regrtest.
- save_stdout = sys.stdout
- sys.stdout = test.support.get_original_stdout()
+ finder = doctest.DocTestFinder(verbose=verbose, recurse=False)
+ runner = doctest.DocTestRunner(verbose=verbose)
+ # Use the object's fully qualified name if it has one
+ # Otherwise, use the module's name
try:
- finder = doctest.DocTestFinder(verbose=verbose, recurse=False)
- runner = doctest.DocTestRunner(verbose=verbose)
- # Use the object's fully qualified name if it has one
- # Otherwise, use the module's name
- try:
- name = "%s.%s" % (obj.__module__, obj.__name__)
- except AttributeError:
- name = module.__name__
- for example in finder.find(obj, name, module):
- runner.run(example)
- f, t = runner.failures, runner.tries
- if f:
- raise test.support.TestFailed("%d of %d doctests failed" % (f, t))
- finally:
- sys.stdout = save_stdout
+ name = "%s.%s" % (obj.__module__, obj.__name__)
+ except AttributeError:
+ name = module.__name__
+ for example in finder.find(obj, name, module):
+ runner.run(example)
+ f, t = runner.failures, runner.tries
+ if f:
+ raise test.support.TestFailed("%d of %d doctests failed" % (f, t))
if verbose:
print ('doctest (%s) ... %d tests with zero failures' % (module.__name__, t))
return f, t