@@ -4042,19 +4042,18 @@ class PyIncrementalNewlineDecoderTest(IncrementalNewlineDecoderTest):
4042
4042
4043
4043
class MiscIOTest (unittest .TestCase ):
4044
4044
4045
+ # for test__all__, actual values are set in subclasses
4046
+ name_of_module = None
4047
+ extra_exported = ()
4048
+ not_exported = ()
4049
+
4045
4050
def tearDown (self ):
4046
4051
os_helper .unlink (os_helper .TESTFN )
4047
4052
4048
4053
def test___all__ (self ):
4049
- for name in self .io .__all__ :
4050
- obj = getattr (self .io , name , None )
4051
- self .assertIsNotNone (obj , name )
4052
- if name in ("open" , "open_code" ):
4053
- continue
4054
- elif "error" in name .lower () or name == "UnsupportedOperation" :
4055
- self .assertTrue (issubclass (obj , Exception ), name )
4056
- elif not name .startswith ("SEEK_" ):
4057
- self .assertTrue (issubclass (obj , self .IOBase ))
4054
+ support .check__all__ (self , self .io , self .name_of_module ,
4055
+ extra = self .extra_exported ,
4056
+ not_exported = self .not_exported )
4058
4057
4059
4058
def test_attributes (self ):
4060
4059
f = self .open (os_helper .TESTFN , "wb" , buffering = 0 )
@@ -4416,6 +4415,8 @@ def test_text_encoding(self):
4416
4415
4417
4416
class CMiscIOTest (MiscIOTest ):
4418
4417
io = io
4418
+ name_of_module = "io" , "_io"
4419
+ extra_exported = "BlockingIOError" ,
4419
4420
4420
4421
def test_readinto_buffer_overflow (self ):
4421
4422
# Issue #18025
@@ -4480,6 +4481,9 @@ def test_daemon_threads_shutdown_stderr_deadlock(self):
4480
4481
4481
4482
class PyMiscIOTest (MiscIOTest ):
4482
4483
io = pyio
4484
+ name_of_module = "_pyio" , "io"
4485
+ extra_exported = "BlockingIOError" , "open_code" ,
4486
+ not_exported = "valid_seek_flags" ,
4483
4487
4484
4488
4485
4489
@unittest .skipIf (os .name == 'nt' , 'POSIX signals required for this test.' )
@@ -4767,7 +4771,7 @@ def load_tests(loader, tests, pattern):
4767
4771
mocks = (MockRawIO , MisbehavedRawIO , MockFileIO , CloseFailureIO ,
4768
4772
MockNonBlockWriterIO , MockUnseekableIO , MockRawIOWithoutRead ,
4769
4773
SlowFlushRawIO )
4770
- all_members = io .__all__ + [ "IncrementalNewlineDecoder" ]
4774
+ all_members = io .__all__
4771
4775
c_io_ns = {name : getattr (io , name ) for name in all_members }
4772
4776
py_io_ns = {name : getattr (pyio , name ) for name in all_members }
4773
4777
globs = globals ()
0 commit comments