summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-04-12 04:47:09 +0100
committerSam James <sam@gentoo.org>2023-04-12 04:47:09 +0100
commit12923d672c0285744ae3cf1f47e955581be1c214 (patch)
tree722758839f1e5ab3b6e81189dab4472f385b9c2a /dev-python/uvicorn
parentdev-python/uvicorn: make Rust test dependencies optional (diff)
downloadgentoo-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.patch152
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