summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/asynchat.py9
-rw-r--r--Lib/gzip.py2
-rw-r--r--Lib/tempfile.py2
-rw-r--r--Lib/test/pickletester.py4
-rw-r--r--Lib/test/test_httplib.py8
-rw-r--r--Lib/test/test_logging.py7
-rw-r--r--Misc/NEWS2
-rw-r--r--Tools/gdb/libpython.py2
8 files changed, 15 insertions, 21 deletions
diff --git a/Lib/asynchat.py b/Lib/asynchat.py
index 4e26bb5..eea3418 100644
--- a/Lib/asynchat.py
+++ b/Lib/asynchat.py
@@ -69,12 +69,9 @@ class async_chat (asyncore.dispatcher):
# for string terminator matching
self.ac_in_buffer = b''
- # we use a list here rather than cStringIO for a few reasons...
- # del lst[:] is faster than sio.truncate(0)
- # lst = [] is faster than sio.truncate(0)
- # cStringIO will be gaining unicode support in py3k, which
- # will negatively affect the performance of bytes compared to
- # a ''.join() equivalent
+ # we use a list here rather than io.BytesIO for a few reasons...
+ # del lst[:] is faster than bio.truncate(0)
+ # lst = [] is faster than bio.truncate(0)
self.incoming = []
# we toss the use of the "simple producer" and replace it with
diff --git a/Lib/gzip.py b/Lib/gzip.py
index 67fe1d4..2fd03fa 100644
--- a/Lib/gzip.py
+++ b/Lib/gzip.py
@@ -144,7 +144,7 @@ class GzipFile(io.BufferedIOBase):
non-trivial value.
The new class instance is based on fileobj, which can be a regular
- file, a StringIO object, or any other object which simulates a file.
+ file, an io.BytesIO object, or any other object which simulates a file.
It defaults to None, in which case filename is opened to provide
a file object.
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index ed5c857..8a165ed 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -521,7 +521,7 @@ class SpooledTemporaryFile:
# The method caching trick from NamedTemporaryFile
# won't work here, because _file may change from a
- # _StringIO instance to a real file. So we list
+ # BytesIO/StringIO instance to a real file. So we list
# all the methods directly.
# Context management protocol
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index 3423462..052290d 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -1547,14 +1547,14 @@ class AbstractPicklerUnpicklerObjectTests(unittest.TestCase):
pickler.dump(data)
first_pickled = f.getvalue()
- # Reset StringIO object.
+ # Reset BytesIO object.
f.seek(0)
f.truncate()
pickler.dump(data)
second_pickled = f.getvalue()
- # Reset the Pickler and StringIO objects.
+ # Reset the Pickler and BytesIO objects.
pickler.clear_memo()
f.seek(0)
f.truncate()
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index 863e4bc..769ab13 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -51,8 +51,8 @@ class EPipeSocket(FakeSocket):
def close(self):
pass
-class NoEOFStringIO(io.BytesIO):
- """Like StringIO, but raises AssertionError on EOF.
+class NoEOFBytesIO(io.BytesIO):
+ """Like BytesIO, but raises AssertionError on EOF.
This is used below to test that http.client doesn't try to read
more from the underlying file than it should.
@@ -324,7 +324,7 @@ class BasicTest(TestCase):
'HTTP/1.1 200 OK\r\n'
'Content-Length: 14432\r\n'
'\r\n',
- NoEOFStringIO)
+ NoEOFBytesIO)
resp = client.HTTPResponse(sock, method="HEAD")
resp.begin()
if resp.read():
@@ -337,7 +337,7 @@ class BasicTest(TestCase):
'HTTP/1.1 200 OK\r\n'
'Content-Length: 14432\r\n'
'\r\n',
- NoEOFStringIO)
+ NoEOFBytesIO)
resp = client.HTTPResponse(sock, method="HEAD")
resp.begin()
b = bytearray(5)
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index c9a051a..ae4ca18 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -156,12 +156,7 @@ class BaseTest(unittest.TestCase):
the expected_values list of tuples."""
stream = stream or self.stream
pat = re.compile(self.expected_log_pat)
- try:
- stream.reset()
- actual_lines = stream.readlines()
- except AttributeError:
- # StringIO.StringIO lacks a reset() method.
- actual_lines = stream.getvalue().splitlines()
+ actual_lines = stream.getvalue().splitlines()
self.assertEqual(len(actual_lines), len(expected_values))
for actual, expected in zip(actual_lines, expected_values):
match = pat.search(actual)
diff --git a/Misc/NEWS b/Misc/NEWS
index ea44b00..be2dc9d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -360,6 +360,8 @@ Tests
Documentation
-------------
+- Issue #18743: Fix references to non-existant "StringIO" module.
+
- Issue #18783: Removed existing mentions of Python long type in docstrings,
error messages and comments.
diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py
index 9f5e8b4..a85f505 100644
--- a/Tools/gdb/libpython.py
+++ b/Tools/gdb/libpython.py
@@ -121,7 +121,7 @@ class StringTruncated(RuntimeError):
pass
class TruncatedStringIO(object):
- '''Similar to cStringIO, but can truncate the output by raising a
+ '''Similar to io.StringIO, but can truncate the output by raising a
StringTruncated exception'''
def __init__(self, maxlen=None):
self._val = ''