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