summaryrefslogtreecommitdiff
path: root/Lib/test/test_argparse.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_argparse.py')
-rw-r--r--Lib/test/test_argparse.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index 85513a5139..f13c622267 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -12,6 +12,8 @@ import argparse
from io import StringIO
from test import support
+class StdIOBuffer(StringIO):
+ pass
class TestCase(unittest.TestCase):
@@ -25,6 +27,7 @@ class TestCase(unittest.TestCase):
super(TestCase, self).assertEqual(obj1, obj2)
+
class TempDirMixin(object):
def setUp(self):
@@ -81,15 +84,15 @@ def stderr_to_parser_error(parse_args, *args, **kwargs):
# 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)
@@ -2634,7 +2637,7 @@ class TestHelpFormattingMetaclass(type):
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()
@@ -2645,7 +2648,7 @@ class TestHelpFormattingMetaclass(type):
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)