Skip to content

Commit 57b33f1

Browse files
Move test to GeneralModuleTests
1 parent 7ec2dd6 commit 57b33f1

File tree

1 file changed

+23
-26
lines changed

1 file changed

+23
-26
lines changed

Lib/test/test_socket.py

Lines changed: 23 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,29 @@ def requireSocket(*args):
913913

914914
class GeneralModuleTests(unittest.TestCase):
915915

916+
@unittest.skipUnless(hasattr(socket.socket, "sendmsg"),"sendmsg not supported")
917+
def test_sendmsg_reentrant_ancillary_mutation(self):
918+
919+
class Mut:
920+
def __index__(self):
921+
seq.clear()
922+
return 0
923+
924+
seq = [
925+
(socket.SOL_SOCKET, Mut(), b'x'),
926+
(socket.SOL_SOCKET, 0, b'x'),
927+
]
928+
929+
left, right = socket.socketpair()
930+
self.addCleanup(left.close)
931+
self.addCleanup(right.close)
932+
self.assertRaises(
933+
(TypeError, OSError),
934+
left.sendmsg,
935+
[b'x'],
936+
seq,
937+
)
938+
916939
@unittest.skipUnless(_socket is not None, 'need _socket module')
917940
def test_socket_type(self):
918941
self.assertTrue(gc.is_tracked(_socket.socket))
@@ -7491,32 +7514,6 @@ def detach():
74917514
pass
74927515

74937516

7494-
class SendmsgReentrancyTests(unittest.TestCase):
7495-
7496-
@unittest.skipUnless(hasattr(socket.socket, "sendmsg"),
7497-
"sendmsg not supported")
7498-
def test_sendmsg_reentrant_ancillary_mutation(self):
7499-
7500-
class Mut:
7501-
def __index__(self):
7502-
seq.clear()
7503-
return 0
7504-
7505-
seq = [
7506-
(socket.SOL_SOCKET, Mut(), b'x'),
7507-
(socket.SOL_SOCKET, 0, b'x'),
7508-
]
7509-
7510-
left, right = socket.socketpair()
7511-
self.addCleanup(left.close)
7512-
self.addCleanup(right.close)
7513-
self.assertRaises(
7514-
(TypeError, OSError),
7515-
left.sendmsg,
7516-
[b'x'],
7517-
seq,
7518-
)
7519-
75207517
def setUpModule():
75217518
thread_info = threading_helper.threading_setup()
75227519
unittest.addModuleCleanup(threading_helper.threading_cleanup, *thread_info)

0 commit comments

Comments
 (0)