[Python-checkins] r79899 - in python/trunk/Lib/test: regrtest.py test_argparse.py

michael.foord python-checkins at python.org
Thu Apr 8 02:04:24 CEST 2010


Author: michael.foord
Date: Thu Apr  8 02:04:24 2010
New Revision: 79899

Log:
Switch regrtest to use StringIO instead of cStringIO for test_multiprocessing on Windows. Issue 8333.

Modified:
   python/trunk/Lib/test/regrtest.py
   python/trunk/Lib/test/test_argparse.py

Modified: python/trunk/Lib/test/regrtest.py
==============================================================================
--- python/trunk/Lib/test/regrtest.py	(original)
+++ python/trunk/Lib/test/regrtest.py	Thu Apr  8 02:04:24 2010
@@ -147,7 +147,7 @@
 option '-uall,-bsddb'.
 """
 
-import cStringIO
+import StringIO
 import getopt
 import json
 import os
@@ -838,7 +838,7 @@
     if verbose:
         capture_stdout = None
     else:
-        capture_stdout = cStringIO.StringIO()
+        capture_stdout = StringIO.StringIO()
 
     test_time = 0.0
     refleak = False  # True if the test leaked references.

Modified: python/trunk/Lib/test/test_argparse.py
==============================================================================
--- python/trunk/Lib/test/test_argparse.py	(original)
+++ python/trunk/Lib/test/test_argparse.py	Thu Apr  8 02:04:24 2010
@@ -11,6 +11,9 @@
 
 from StringIO import StringIO
 
+class StdIOBuffer(StringIO):
+    pass
+
 from test import test_support
 
 class TestCase(unittest.TestCase):
@@ -25,6 +28,7 @@
         super(TestCase, self).assertEqual(obj1, obj2)
 
 
+
 class TempDirMixin(object):
 
     def setUp(self):
@@ -83,15 +87,15 @@
     # if this is being called recursively and stderr or stdout is already being
     # redirected, simply call the function and let the enclosing function
     # catch the exception
-    if isinstance(sys.stderr, StringIO) or isinstance(sys.stdout, StringIO):
+    if isinstance(sys.stderr, StdIOBuffer) or isinstance(sys.stdout, StdIOBuffer):
         return parse_args(*args, **kwargs)
 
     # if this is not being called recursively, redirect stderr and
     # use it as the ArgumentParserError message
     old_stdout = sys.stdout
     old_stderr = sys.stderr
-    sys.stdout = StringIO()
-    sys.stderr = StringIO()
+    sys.stdout = StdIOBuffer()
+    sys.stderr = StdIOBuffer()
     try:
         try:
             result = parse_args(*args, **kwargs)
@@ -2644,7 +2648,7 @@
                 parser = self._get_parser(tester)
                 print_ = getattr(parser, 'print_%s' % self.func_suffix)
                 old_stream = getattr(sys, self.std_name)
-                setattr(sys, self.std_name, StringIO())
+                setattr(sys, self.std_name, StdIOBuffer())
                 try:
                     print_()
                     parser_text = getattr(sys, self.std_name).getvalue()
@@ -2655,7 +2659,7 @@
             def test_print_file(self, tester):
                 parser = self._get_parser(tester)
                 print_ = getattr(parser, 'print_%s' % self.func_suffix)
-                sfile = StringIO()
+                sfile = StdIOBuffer()
                 print_(sfile)
                 parser_text = sfile.getvalue()
                 self._test(tester, parser_text)


More information about the Python-checkins mailing list