Skip to content

Commit

Permalink
pythongh-111356: io: Add missing documented objects to io.__all__ (py…
Browse files Browse the repository at this point in the history
…thon#111370)

Add DEFAULT_BUFFER_SIZE, text_encoding, and IncrementalNewlineDecoder.
  • Loading branch information
ntessore authored and Glyphack committed Jan 27, 2024
1 parent 97032d5 commit e734d54
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 11 deletions.
3 changes: 2 additions & 1 deletion Lib/io.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@
"FileIO", "BytesIO", "StringIO", "BufferedIOBase",
"BufferedReader", "BufferedWriter", "BufferedRWPair",
"BufferedRandom", "TextIOBase", "TextIOWrapper",
"UnsupportedOperation", "SEEK_SET", "SEEK_CUR", "SEEK_END"]
"UnsupportedOperation", "SEEK_SET", "SEEK_CUR", "SEEK_END",
"DEFAULT_BUFFER_SIZE", "text_encoding", "IncrementalNewlineDecoder"]


import _io
Expand Down
24 changes: 14 additions & 10 deletions Lib/test/test_io.py
Original file line number Diff line number Diff line change
Expand Up @@ -4042,19 +4042,18 @@ class PyIncrementalNewlineDecoderTest(IncrementalNewlineDecoderTest):

class MiscIOTest(unittest.TestCase):

# for test__all__, actual values are set in subclasses
name_of_module = None
extra_exported = ()
not_exported = ()

def tearDown(self):
os_helper.unlink(os_helper.TESTFN)

def test___all__(self):
for name in self.io.__all__:
obj = getattr(self.io, name, None)
self.assertIsNotNone(obj, name)
if name in ("open", "open_code"):
continue
elif "error" in name.lower() or name == "UnsupportedOperation":
self.assertTrue(issubclass(obj, Exception), name)
elif not name.startswith("SEEK_"):
self.assertTrue(issubclass(obj, self.IOBase))
support.check__all__(self, self.io, self.name_of_module,
extra=self.extra_exported,
not_exported=self.not_exported)

def test_attributes(self):
f = self.open(os_helper.TESTFN, "wb", buffering=0)
Expand Down Expand Up @@ -4416,6 +4415,8 @@ def test_text_encoding(self):

class CMiscIOTest(MiscIOTest):
io = io
name_of_module = "io", "_io"
extra_exported = "BlockingIOError",

def test_readinto_buffer_overflow(self):
# Issue #18025
Expand Down Expand Up @@ -4480,6 +4481,9 @@ def test_daemon_threads_shutdown_stderr_deadlock(self):

class PyMiscIOTest(MiscIOTest):
io = pyio
name_of_module = "_pyio", "io"
extra_exported = "BlockingIOError", "open_code",
not_exported = "valid_seek_flags",


@unittest.skipIf(os.name == 'nt', 'POSIX signals required for this test.')
Expand Down Expand Up @@ -4767,7 +4771,7 @@ def load_tests(loader, tests, pattern):
mocks = (MockRawIO, MisbehavedRawIO, MockFileIO, CloseFailureIO,
MockNonBlockWriterIO, MockUnseekableIO, MockRawIOWithoutRead,
SlowFlushRawIO)
all_members = io.__all__ + ["IncrementalNewlineDecoder"]
all_members = io.__all__
c_io_ns = {name : getattr(io, name) for name in all_members}
py_io_ns = {name : getattr(pyio, name) for name in all_members}
globs = globals()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added :func:`io.text_encoding()`, :data:`io.DEFAULT_BUFFER_SIZE`, and :class:`io.IncrementalNewlineDecoder` to ``io.__all__``.

0 comments on commit e734d54

Please sign in to comment.