From 38f063ea72632e395ea59b644552bb98c962393f Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 9 Mar 2017 13:42:34 +1100 Subject: [PATCH] tests/extmod: Add very basic feature test for ussl module. This test just tests that the basic functions/methods can be called with the appropriate arguments. There is no real test of underlying functionality. Thanks to @hosaka for the initial implementation of this test. --- tests/extmod/ussl_basic.py | 52 ++++++++++++++++++++++++++++++++++ tests/extmod/ussl_basic.py.exp | 8 ++++++ 2 files changed, 60 insertions(+) create mode 100644 tests/extmod/ussl_basic.py create mode 100644 tests/extmod/ussl_basic.py.exp diff --git a/tests/extmod/ussl_basic.py b/tests/extmod/ussl_basic.py new file mode 100644 index 0000000000..e9d435bca8 --- /dev/null +++ b/tests/extmod/ussl_basic.py @@ -0,0 +1,52 @@ +# very basic test of ssl module, just to test the methods exist + +try: + import uio as io + import ussl as ssl +except ImportError: + print("SKIP") + import sys + sys.exit() + +# create in client mode +try: + ss = ssl.wrap_socket(io.BytesIO()) +except OSError as er: + print('wrap_socket:', repr(er)) + +# create in server mode (can use this object for further tests) +socket = io.BytesIO() +ss = ssl.wrap_socket(socket, server_side=1) + +# print +print(repr(ss)[:12]) + +# setblocking +try: + ss.setblocking(False) +except NotImplementedError: + print('setblocking: NotImplementedError') +ss.setblocking(True) + +# write +print(ss.write(b'aaaa')) + +# read (underlying socket has no data) +print(ss.read(8)) + +# read (underlying socket has data, but it's bad data) +socket.write(b'aaaaaaaaaaaaaaaa') +socket.seek(0) +try: + ss.read(8) +except OSError as er: + print('read:', repr(er)) + +# close +ss.close() + +# write on closed socket +try: + ss.write(b'aaaa') +except OSError as er: + print('write:', repr(er)) diff --git a/tests/extmod/ussl_basic.py.exp b/tests/extmod/ussl_basic.py.exp new file mode 100644 index 0000000000..b4dd038606 --- /dev/null +++ b/tests/extmod/ussl_basic.py.exp @@ -0,0 +1,8 @@ +ssl_handshake_status: -256 +wrap_socket: OSError(5,) +<_SSLSocket +setblocking: NotImplementedError +4 +b'' +read: OSError(-261,) +write: OSError(-256,)