diff options
author | Felix Dörre <felix@dogcraft.de> | 2024-02-01 12:07:06 +0000 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2024-02-07 12:58:52 +1100 |
commit | b802f0f8abf3c198d4d373d934f4ab13ec1552f9 (patch) | |
tree | de1e689a592646a3f321a0a9a452cb455822ded2 /tests/extmod/tls_sslcontext_micropython.py | |
parent | f8f1f29ac0b5ef837e7c277b2777080c1d82e080 (diff) |
extmod/modtls: Move the native ssl module to tls.
The current `ssl` module has quite a few differences to the CPython
implementation. This change moves the MicroPython variant to a new `tls`
module and provides a wrapper module for `ssl` (in micropython-lib).
Users who only rely on implemented comparible behavior can continue to use
`ssl`, while users that rely on non-compatible behavior should switch to
`tls`. Then we can make the facade in `ssl` more strictly adhere to
CPython.
Signed-off-by: Felix Dörre <felix@dogcraft.de>
Diffstat (limited to 'tests/extmod/tls_sslcontext_micropython.py')
-rw-r--r-- | tests/extmod/tls_sslcontext_micropython.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/extmod/tls_sslcontext_micropython.py b/tests/extmod/tls_sslcontext_micropython.py new file mode 100644 index 000000000..e188f89b8 --- /dev/null +++ b/tests/extmod/tls_sslcontext_micropython.py @@ -0,0 +1,29 @@ +# Test MicroPython-specific behaviour of tls.SSLContext. + +try: + import tls +except ImportError: + print("SKIP") + raise SystemExit + +# Test constructing without any arguments (in CPython it's a DeprecationWarning). +try: + tls.SSLContext() +except TypeError: + print("TypeError") + +# Test attributes that don't exist (in CPython new attributes can be added). +# This test is needed for coverage because SSLContext implements a custom attr handler. +ctx = tls.SSLContext(tls.PROTOCOL_TLS_CLIENT) +try: + ctx.does_not_exist +except AttributeError: + print("AttributeError on load") +try: + ctx.does_not_exist = None +except AttributeError: + print("AttributeError on store") +try: + del ctx.does_not_exist +except AttributeError: + print("AttributeError on delete") |