1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
# Ensure that SSLSockets can be allocated sequentially
# without running out of available memory.
try:
import io
import tls
except ImportError:
print("SKIP")
raise SystemExit
import unittest
class TestSocket(io.IOBase):
def write(self, buf):
return len(buf)
def readinto(self, buf):
return 0
def ioctl(self, cmd, arg):
return 0
def setblocking(self, value):
pass
ITERS = 128
class TLSNoLeaks(unittest.TestCase):
def test_unique_context(self):
for n in range(ITERS):
print(n)
s = TestSocket()
ctx = tls.SSLContext(tls.PROTOCOL_TLS_CLIENT)
ctx.verify_mode = tls.CERT_NONE
s = ctx.wrap_socket(s, do_handshake_on_connect=False)
def test_shared_context(self):
# Single SSLContext, multiple sockets
ctx = tls.SSLContext(tls.PROTOCOL_TLS_CLIENT)
ctx.verify_mode = tls.CERT_NONE
for n in range(ITERS):
print(n)
s = TestSocket()
s = ctx.wrap_socket(s, do_handshake_on_connect=False)
if __name__ == "__main__":
unittest.main()
|