Merged revisions 80423 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r80423 | antoine.pitrou | 2010-04-24 00:54:59 +0200 (sam., 24 avril 2010) | 4 lines

  Issue #7943: Fix circular reference created when instantiating an SSL
  socket.  Initial patch by Péter Szabó.
........
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 12373d1..ef82ed3 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -14,6 +14,7 @@
 import urllib, urlparse
 import shutil
 import traceback
+import weakref
 
 from BaseHTTPServer import HTTPServer
 from SimpleHTTPServer import SimpleHTTPRequestHandler
@@ -113,6 +114,15 @@
         if (d1 != d2):
             raise test_support.TestFailed("PEM-to-DER or DER-to-PEM translation failed")
 
+    def test_refcycle(self):
+        # Issue #7943: an SSL object doesn't create reference cycles with
+        # itself.
+        s = socket.socket(socket.AF_INET)
+        ss = ssl.wrap_socket(s)
+        wr = weakref.ref(ss)
+        del ss
+        self.assertEqual(wr(), None)
+
 class NetworkedTests(unittest.TestCase):
 
     def testConnect(self):