sethmlarson / truststore

Verify certificates using OS trust stores
https://truststore.readthedocs.io
MIT License
151 stars 18 forks source link

pypy3.10: AttributeError: 'SSLContext' object has no attribute '_ctx'. Did you mean: 'ctx'? #112

Closed mgorny closed 1 year ago

mgorny commented 1 year ago

When running the test suite on pypy3.10 7.3.12, every test fails with the following error:

_____________________________________________________ test_verify_mode_cert_none ______________________________________________________

    def test_verify_mode_cert_none():
>       ctx = truststore.SSLContext(ssl.PROTOCOL_TLS_CLIENT)

tests/test_sslcontext.py:39: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/pypy3.10/ssl.py:496: in __new__
    self = _SSLContext.__new__(cls, protocol)
/usr/lib/pypy3.10/_cffi_ssl/_stdssl/__init__.py:1221: in __new__
    lib.SSL_CTX_set_post_handshake_auth(self.ctx, self.post_handshake_auth)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <truststore._api.SSLContext object at 0x00005599f6700138>

    @property
    def post_handshake_auth(self) -> bool:
>       return self._ctx.post_handshake_auth
E       AttributeError: 'SSLContext' object has no attribute '_ctx'. Did you mean: 'ctx'?

.nox/test/lib/pypy3.10/site-packages/truststore/_api.py:232: AttributeError
sethmlarson commented 1 year ago

Thanks for testing with PyPy, we should get PyPy added to our CI.

mgorny commented 12 months ago

Thank you, I can confirm that all tests pass for me now.