diff options
author | Sam James <sam@gentoo.org> | 2023-04-12 04:47:09 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-04-12 04:47:09 +0100 |
commit | 12923d672c0285744ae3cf1f47e955581be1c214 (patch) | |
tree | 722758839f1e5ab3b6e81189dab4472f385b9c2a /dev-python/uvicorn | |
parent | dev-python/uvicorn: make Rust test dependencies optional (diff) | |
download | gentoo-12923d672c0285744ae3cf1f47e955581be1c214.tar.gz gentoo-12923d672c0285744ae3cf1f47e955581be1c214.tar.bz2 gentoo-12923d672c0285744ae3cf1f47e955581be1c214.zip |
dev-python/uvicorn: improve optional Rust test deps patch
Followup to 5de4c34f3962d77d3cb9a53a5d50c5ff75bdd2fa, thanks to mgorny
for the suggestion. This lets us make it much smaller.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/uvicorn')
-rw-r--r-- | dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch | 152 |
1 files changed, 44 insertions, 108 deletions
diff --git a/dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch b/dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch index 405eb5325ad9..dddeda158252 100644 --- a/dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch +++ b/dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch @@ -1,6 +1,6 @@ --- a/tests/conftest.py +++ b/tests/conftest.py -@@ -11,9 +11,15 @@ from time import sleep +@@ -11,9 +11,13 @@ from time import sleep from uuid import uuid4 import pytest @@ -8,137 +8,73 @@ -from cryptography.hazmat.backends import default_backend -from cryptography.hazmat.primitives import serialization + -+gentoo_got_rust_deps = True -+ +try: + import trustme + from cryptography.hazmat.backends import default_backend + from cryptography.hazmat.primitives import serialization +except ImportError: -+ gentoo_got_rust_deps = False ++ pass from uvicorn.config import LOGGING_CONFIG -@@ -28,72 +34,72 @@ from uvicorn.config import LOGGING_CONFIG - # See also: https://github.com/pytest-dev/pytest/issues/3697 - LOGGING_CONFIG["loggers"]["uvicorn"]["propagate"] = True +@@ -30,12 +34,12 @@ LOGGING_CONFIG["loggers"]["uvicorn"]["propagate"] = True + -- --@pytest.fixture + @pytest.fixture -def tls_certificate_authority() -> trustme.CA: -- return trustme.CA() -+if gentoo_got_rust_deps: -+ @pytest.fixture -+ def tls_certificate_authority() -> trustme.CA: -+ return trustme.CA() ++def tls_certificate_authority() -> "trustme.CA": + return trustme.CA() --@pytest.fixture + @pytest.fixture -def tls_certificate(tls_certificate_authority: trustme.CA) -> trustme.LeafCert: -- return tls_certificate_authority.issue_cert( -- "localhost", -- "127.0.0.1", -- "::1", -- ) -+ @pytest.fixture -+ def tls_certificate(tls_certificate_authority: trustme.CA) -> trustme.LeafCert: -+ return tls_certificate_authority.issue_cert( -+ "localhost", -+ "127.0.0.1", -+ "::1", -+ ) - - --@pytest.fixture ++def tls_certificate(tls_certificate_authority: "trustme.CA") -> "trustme.LeafCert": + return tls_certificate_authority.issue_cert( + "localhost", + "127.0.0.1", +@@ -44,13 +48,13 @@ def tls_certificate(tls_certificate_authority: trustme.CA) -> trustme.LeafCert: + + + @pytest.fixture -def tls_ca_certificate_pem_path(tls_certificate_authority: trustme.CA): -- with tls_certificate_authority.cert_pem.tempfile() as ca_cert_pem: -- yield ca_cert_pem -+ @pytest.fixture -+ def tls_ca_certificate_pem_path(tls_certificate_authority: trustme.CA): -+ with tls_certificate_authority.cert_pem.tempfile() as ca_cert_pem: -+ yield ca_cert_pem ++def tls_ca_certificate_pem_path(tls_certificate_authority: "trustme.CA"): + with tls_certificate_authority.cert_pem.tempfile() as ca_cert_pem: + yield ca_cert_pem --@pytest.fixture + @pytest.fixture -def tls_ca_certificate_private_key_path(tls_certificate_authority: trustme.CA): -- with tls_certificate_authority.private_key_pem.tempfile() as private_key: -- yield private_key -+ @pytest.fixture -+ def tls_ca_certificate_private_key_path(tls_certificate_authority: trustme.CA): -+ with tls_certificate_authority.private_key_pem.tempfile() as private_key: -+ yield private_key - - --@pytest.fixture --def tls_certificate_private_key_encrypted_path(tls_certificate): -- private_key = serialization.load_pem_private_key( -- tls_certificate.private_key_pem.bytes(), -- password=None, -- backend=default_backend(), -- ) -- encrypted_key = private_key.private_bytes( -- serialization.Encoding.PEM, -- serialization.PrivateFormat.TraditionalOpenSSL, -- serialization.BestAvailableEncryption(b"uvicorn password for the win"), -- ) -- with trustme.Blob(encrypted_key).tempfile() as private_encrypted_key: -- yield private_encrypted_key -+ @pytest.fixture -+ def tls_certificate_private_key_encrypted_path(tls_certificate): -+ private_key = serialization.load_pem_private_key( -+ tls_certificate.private_key_pem.bytes(), -+ password=None, -+ backend=default_backend(), -+ ) -+ encrypted_key = private_key.private_bytes( -+ serialization.Encoding.PEM, -+ serialization.PrivateFormat.TraditionalOpenSSL, -+ serialization.BestAvailableEncryption(b"uvicorn password for the win"), -+ ) -+ with trustme.Blob(encrypted_key).tempfile() as private_encrypted_key: -+ yield private_encrypted_key - - --@pytest.fixture ++def tls_ca_certificate_private_key_path(tls_certificate_authority: "trustme.CA"): + with tls_certificate_authority.private_key_pem.tempfile() as private_key: + yield private_key + +@@ -72,25 +76,25 @@ def tls_certificate_private_key_encrypted_path(tls_certificate): + + + @pytest.fixture -def tls_certificate_private_key_path(tls_certificate: trustme.CA): -- with tls_certificate.private_key_pem.tempfile() as private_key: -- yield private_key -+ @pytest.fixture -+ def tls_certificate_private_key_path(tls_certificate: trustme.CA): -+ with tls_certificate.private_key_pem.tempfile() as private_key: -+ yield private_key ++def tls_certificate_private_key_path(tls_certificate: "trustme.CA"): + with tls_certificate.private_key_pem.tempfile() as private_key: + yield private_key --@pytest.fixture + @pytest.fixture -def tls_certificate_key_and_chain_path(tls_certificate: trustme.LeafCert): -- with tls_certificate.private_key_and_cert_chain_pem.tempfile() as cert_pem: -- yield cert_pem -+ @pytest.fixture -+ def tls_certificate_key_and_chain_path(tls_certificate: trustme.LeafCert): -+ with tls_certificate.private_key_and_cert_chain_pem.tempfile() as cert_pem: -+ yield cert_pem ++def tls_certificate_key_and_chain_path(tls_certificate: "trustme.LeafCert"): + with tls_certificate.private_key_and_cert_chain_pem.tempfile() as cert_pem: + yield cert_pem --@pytest.fixture + @pytest.fixture -def tls_certificate_server_cert_path(tls_certificate: trustme.LeafCert): -- with tls_certificate.cert_chain_pems[0].tempfile() as cert_pem: -- yield cert_pem -+ @pytest.fixture -+ def tls_certificate_server_cert_path(tls_certificate: trustme.LeafCert): -+ with tls_certificate.cert_chain_pems[0].tempfile() as cert_pem: -+ yield cert_pem ++def tls_certificate_server_cert_path(tls_certificate: "trustme.LeafCert"): + with tls_certificate.cert_chain_pems[0].tempfile() as cert_pem: + yield cert_pem --@pytest.fixture + @pytest.fixture -def tls_ca_ssl_context(tls_certificate_authority: trustme.CA) -> ssl.SSLContext: -- ssl_ctx = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) -- tls_certificate_authority.configure_trust(ssl_ctx) -- return ssl_ctx -+ @pytest.fixture -+ def tls_ca_ssl_context(tls_certificate_authority: trustme.CA) -> ssl.SSLContext: -+ ssl_ctx = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) -+ tls_certificate_authority.configure_trust(ssl_ctx) -+ return ssl_ctx - - - @pytest.fixture(scope="package") ++def tls_ca_ssl_context(tls_certificate_authority: "trustme.CA") -> ssl.SSLContext: + ssl_ctx = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) + tls_certificate_authority.configure_trust(ssl_ctx) + return ssl_ctx |