]> granicus.if.org Git - python/commitdiff
Issue #16923: Fix ResourceWarnings in test_ssl.
authorAntoine Pitrou <solipsis@pitrou.net>
Sat, 12 Jan 2013 20:56:56 +0000 (21:56 +0100)
committerAntoine Pitrou <solipsis@pitrou.net>
Sat, 12 Jan 2013 20:56:56 +0000 (21:56 +0100)
1  2 
Lib/test/test_ssl.py
Misc/NEWS

index 7b72209bb7b6766aeceb9fac1a112c8a7f318135,7fbc30d4c840617978ec8a251d5499834208fac6..58ea9cdbb5cf426c48ca2459a4e899d43917c138
@@@ -222,15 -214,15 +223,15 @@@ class BasicSocketTests(unittest.TestCas
  
      def test_wrapped_unconnected(self):
          # Methods on an unconnected SSLSocket propagate the original
 -        # socket.error raise by the underlying socket object.
 +        # OSError raise by the underlying socket object.
          s = socket.socket(socket.AF_INET)
-         ss = ssl.wrap_socket(s)
-         self.assertRaises(OSError, ss.recv, 1)
-         self.assertRaises(OSError, ss.recv_into, bytearray(b'x'))
-         self.assertRaises(OSError, ss.recvfrom, 1)
-         self.assertRaises(OSError, ss.recvfrom_into, bytearray(b'x'), 1)
-         self.assertRaises(OSError, ss.send, b'x')
-         self.assertRaises(OSError, ss.sendto, b'x', ('0.0.0.0', 0))
+         with ssl.wrap_socket(s) as ss:
 -            self.assertRaises(socket.error, ss.recv, 1)
 -            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.send, b'x')
 -            self.assertRaises(socket.error, ss.sendto, b'x', ('0.0.0.0', 0))
++            self.assertRaises(OSError, ss.recv, 1)
++            self.assertRaises(OSError, ss.recv_into, bytearray(b'x'))
++            self.assertRaises(OSError, ss.recvfrom, 1)
++            self.assertRaises(OSError, ss.recvfrom_into, bytearray(b'x'), 1)
++            self.assertRaises(OSError, ss.send, b'x')
++            self.assertRaises(OSError, ss.sendto, b'x', ('0.0.0.0', 0))
  
      def test_timeout(self):
          # Issue #8524: when creating an SSL socket, the timeout of the
          self.assertRaisesRegex(ValueError,
                          "certfile must be specified for server-side operations",
                          ssl.wrap_socket, sock, server_side=True, certfile="")
-         s = ssl.wrap_socket(sock, server_side=True, certfile=CERTFILE)
-         self.assertRaisesRegex(ValueError, "can't connect in server-side mode",
-                                 s.connect, (HOST, 8080))
+         with ssl.wrap_socket(sock, server_side=True, certfile=CERTFILE) as s:
+             self.assertRaisesRegex(ValueError, "can't connect in server-side mode",
+                                     s.connect, (HOST, 8080))
 -        with self.assertRaises(IOError) as cm:
 +        with self.assertRaises(OSError) as cm:
              with socket.socket() as sock:
                  ssl.wrap_socket(sock, certfile=WRONGCERT)
          self.assertEqual(cm.exception.errno, errno.ENOENT)
@@@ -1900,9 -1864,8 +1903,8 @@@ else
              with ThreadedEchoServer(CERTFILE,
                                      ssl_version=ssl.PROTOCOL_SSLv23,
                                      chatty=False) as server:
-                 with socket.socket() as sock:
-                     s = context.wrap_socket(sock)
+                 with context.wrap_socket(socket.socket()) as s:
 -                    with self.assertRaises((OSError, ssl.SSLError)):
 +                    with self.assertRaises(OSError):
                          s.connect((HOST, server.port))
              self.assertIn("no shared cipher", str(server.conn_errors[0]))
  
diff --cc Misc/NEWS
index 6d82a76e1666272241bed8f80cc4dfb0747dbe5d,d09406bb155ba36be9eb79e169084b45c81a97cb..2a261f4e897620d79eb0484c242e48d46b2f5ffa
+++ b/Misc/NEWS
@@@ -635,10 -434,10 +635,12 @@@ Extension Module
  Tests
  -----
  
+ - Issue #16923: Fix ResourceWarnings in test_ssl.
  - Issue #15539: Added regression tests for Tools/scripts/pindent.py.
  
 +- Issue #16836: Enable IPv6 support even if IPv6 is disabled on the build host.
 +
  - Issue #16925: test_configparser now works with unittest test discovery.
    Patch by Zachary Ware.