[Python-checkins] cpython: Remove the SSLSocket versions of sendmsg/recvmsg due to lack of proper tests

nick.coghlan python-checkins at python.org
Tue Aug 23 14:26:55 CEST 2011


http://hg.python.org/cpython/rev/fd10d042b41d
changeset:   72046:fd10d042b41d
user:        Nick Coghlan <ncoghlan at gmail.com>
date:        Tue Aug 23 22:26:44 2011 +1000
summary:
  Remove the SSLSocket versions of sendmsg/recvmsg due to lack of proper tests and documentation in conjunction with lack of any known use cases (see issue #6560 for details)

files:
  Lib/ssl.py           |  24 ------------------------
  Lib/test/test_ssl.py |  16 ----------------
  2 files changed, 0 insertions(+), 40 deletions(-)


diff --git a/Lib/ssl.py b/Lib/ssl.py
--- a/Lib/ssl.py
+++ b/Lib/ssl.py
@@ -355,14 +355,6 @@
         else:
             return socket.sendto(self, data, flags_or_addr, addr)
 
-    def sendmsg(self, *args, **kwargs):
-        self._checkClosed()
-        if self._sslobj:
-            raise ValueError("sendmsg not allowed on instances of %s" %
-                             self.__class__)
-        else:
-            return socket.sendmsg(self, *args, **kwargs)
-
     def sendall(self, data, flags=0):
         self._checkClosed()
         if self._sslobj:
@@ -421,22 +413,6 @@
         else:
             return socket.recvfrom_into(self, buffer, nbytes, flags)
 
-    def recvmsg(self, *args, **kwargs):
-        self._checkClosed()
-        if self._sslobj:
-            raise ValueError("recvmsg not allowed on instances of %s" %
-                             self.__class__)
-        else:
-            return socket.recvmsg(self, *args, **kwargs)
-
-    def recvmsg_into(self, *args, **kwargs):
-        self._checkClosed()
-        if self._sslobj:
-            raise ValueError("recvmsg_into not allowed on instances of %s" %
-                             self.__class__)
-        else:
-            return socket.recvmsg_into(self, *args, **kwargs)
-
     def pending(self):
         self._checkClosed()
         if self._sslobj:
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -186,11 +186,8 @@
         self.assertRaises(socket.error, ss.recv_into, bytearray(b'x'))
         self.assertRaises(socket.error, ss.recvfrom, 1)
         self.assertRaises(socket.error, ss.recvfrom_into, bytearray(b'x'), 1)
-        self.assertRaises(socket.error, ss.recvmsg, 1)
-        self.assertRaises(socket.error, ss.recvmsg_into, [bytearray(b'x')])
         self.assertRaises(socket.error, ss.send, b'x')
         self.assertRaises(socket.error, ss.sendto, b'x', ('0.0.0.0', 0))
-        self.assertRaises(socket.error, ss.sendmsg, [b'x'])
 
     def test_timeout(self):
         # Issue #8524: when creating an SSL socket, the timeout of the
@@ -1523,30 +1520,17 @@
                     count, addr = s.recvfrom_into(b)
                     return b[:count]
 
-                def _recvmsg(*args, **kwargs):
-                    return s.recvmsg(*args, **kwargs)[0]
-
-                def _recvmsg_into(bufsize, *args, **kwargs):
-                    b = bytearray(bufsize)
-                    return bytes(b[:s.recvmsg_into([b], *args, **kwargs)[0]])
-
-                def _sendmsg(msg, *args, **kwargs):
-                    return s.sendmsg([msg])
-
                 # (name, method, whether to expect success, *args)
                 send_methods = [
                     ('send', s.send, True, []),
                     ('sendto', s.sendto, False, ["some.address"]),
-                    ('sendmsg', _sendmsg, False, []),
                     ('sendall', s.sendall, True, []),
                 ]
                 recv_methods = [
                     ('recv', s.recv, True, []),
                     ('recvfrom', s.recvfrom, False, ["some.address"]),
-                    ('recvmsg', _recvmsg, False, [100]),
                     ('recv_into', _recv_into, True, []),
                     ('recvfrom_into', _recvfrom_into, False, []),
-                    ('recvmsg_into', _recvmsg_into, False, [100]),
                 ]
                 data_prefix = "PREFIX_"
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list