diff options
author | Jim Mussared <jim.mussared@gmail.com> | 2022-08-18 16:57:45 +1000 |
---|---|---|
committer | Jim Mussared <jim.mussared@gmail.com> | 2023-06-08 17:54:24 +1000 |
commit | 4216bc7d1351feb8199e4ebbff1a9598aa1c5b02 (patch) | |
tree | 5085738ef65ab377c221f290c7fa90ec2acd4d29 /tests/extmod/ssl_basic.py | |
parent | 5e50975a6dd9466afafbcd012c00078093fe1f57 (diff) |
tests: Replace umodule with module everywhere.
This work was funded through GitHub Sponsors.
Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
Diffstat (limited to 'tests/extmod/ssl_basic.py')
-rw-r--r-- | tests/extmod/ssl_basic.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/extmod/ssl_basic.py b/tests/extmod/ssl_basic.py new file mode 100644 index 000000000..d035798c9 --- /dev/null +++ b/tests/extmod/ssl_basic.py @@ -0,0 +1,69 @@ +# very basic test of ssl module, just to test the methods exist + +try: + import io + import ssl +except ImportError: + print("SKIP") + raise SystemExit + + +class TestSocket(io.IOBase): + def write(self, buf): + return len(buf) + + def readinto(self, buf): + return 0 + + def ioctl(self, cmd, arg): + print("TestSocket.ioctl", cmd, arg) + return 0 + + def setblocking(self, value): + print("TestSocket.setblocking({})".format(value)) + + +# create in client mode +try: + ss = ssl.wrap_socket(TestSocket(), server_hostname="test.example.com") +except OSError as er: + print("OSError: client") + +# create in server mode (can use this object for further tests) +ss = ssl.wrap_socket(TestSocket(), server_side=1, do_handshake=0) + +# print +print(repr(ss)[:12]) + +# setblocking() propagates call to the underlying stream object +ss.setblocking(False) +ss.setblocking(True) + +# write +try: + ss.write(b"aaaa") +except OSError: + pass + +# read (underlying socket has no data) +try: + ss.read(8) +except OSError: + pass + +# close +ss.close() +# close 2nd time +ss.close() + +# read on closed socket +try: + ss.read(10) +except OSError as er: + print("OSError: read") + +# write on closed socket +try: + ss.write(b"aaaa") +except OSError as er: + print("OSError: write") |