circuitpython/tests/extmod/tls_noleak.py
Angus Gratton 79abdad9e9 tests/extmod: Rename ssl tests that only use the tls module.
Signed-off-by: Angus Gratton <angus@redyak.com.au>
2025-05-02 17:24:58 +10:00

50 lines
1.1 KiB
Python

# 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()