@@ -913,29 +913,6 @@ def requireSocket(*args):
913913
914914class 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-
939916 @unittest .skipUnless (_socket is not None , 'need _socket module' )
940917 def test_socket_type (self ):
941918 self .assertTrue (gc .is_tracked (_socket .socket ))
@@ -2244,6 +2221,29 @@ def test_addressinfo_enum(self):
22442221 lambda C : C .isupper () and C .startswith ('AI_' ),
22452222 source = _socket )
22462223 enum ._test_simple_enum (CheckedAddressInfo , socket .AddressInfo )
2224+
2225+ @unittest .skipUnless (hasattr (socket .socket , "sendmsg" ),"sendmsg not supported" )
2226+ def test_sendmsg_reentrant_ancillary_mutation (self ):
2227+
2228+ class Mut :
2229+ def __index__ (self ):
2230+ seq .clear ()
2231+ return 0
2232+
2233+ seq = [
2234+ (socket .SOL_SOCKET , Mut (), b'x' ),
2235+ (socket .SOL_SOCKET , 0 , b'x' ),
2236+ ]
2237+
2238+ left , right = socket .socketpair ()
2239+ self .addCleanup (left .close )
2240+ self .addCleanup (right .close )
2241+ self .assertRaises (
2242+ (TypeError , OSError ),
2243+ left .sendmsg ,
2244+ [b'x' ],
2245+ seq ,
2246+ )
22472247
22482248
22492249@unittest .skipUnless (HAVE_SOCKET_CAN , 'SocketCan required for this test.' )
0 commit comments