Add a test for the positive case of Context.set_mode
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index dfe804d..4c58345 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -26,6 +26,7 @@
 from OpenSSL.SSL import OP_NO_SSLv2, OP_NO_SSLv3, OP_SINGLE_DH_USE
 from OpenSSL.SSL import (
     VERIFY_PEER, VERIFY_FAIL_IF_NO_PEER_CERT, VERIFY_CLIENT_ONCE, VERIFY_NONE)
+
 from OpenSSL.SSL import (
     Error, SysCallError, WantReadError, ZeroReturnError, SSLeay_version)
 from OpenSSL.SSL import Context, ContextType, Connection, ConnectionType
@@ -50,6 +51,11 @@
 except ImportError:
     OP_NO_TICKET = None
 
+try:
+    from OpenSSL.SSL import MODE_RELEASE_BUFFERS
+except ImportError:
+    MODE_RELEASE_BUFFERS = None
+
 from OpenSSL.SSL import (
     SSL_ST_CONNECT, SSL_ST_ACCEPT, SSL_ST_MASK, SSL_ST_INIT, SSL_ST_BEFORE,
     SSL_ST_OK, SSL_ST_RENEGOTIATE,
@@ -363,6 +369,19 @@
         self.assertRaises(TypeError, context.set_mode, 1, None)
 
 
+    if MODE_RELEASE_BUFFERS is not None:
+        def test_set_mode(self):
+            """
+            L{Context.set_mode} accepts a mode bitvector and returns the newly
+            set mode.
+            """
+            context = Context(TLSv1_METHOD)
+            self.assertTrue(
+                MODE_RELEASE_BUFFERS & context.set_mode(MODE_RELEASE_BUFFERS))
+    else:
+        "MODE_RELEASE_BUFFERS unavailable - OpenSSL version may be too old"
+
+
     def test_set_timeout_wrong_args(self):
         """
         L{Context.set_timeout} raises L{TypeError} if called with the wrong