From 87cb95406230003d43042a2d78694023ad99f170 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Wed, 8 Oct 2025 12:50:58 -0500 Subject: [PATCH 1/7] debug --- .evergreen/scripts/setup_tests.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index 3f0a8cc7f9..e4db320dd8 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -152,6 +152,11 @@ def handle_test_env() -> None: SSL = "ssl" if opts.ssl else "nossl" TEST_ARGS = "" + import sys + + print(os.environ["UV_PYTHON"]) + sys.exit(1) + # Start compiling the args we'll pass to uv. UV_ARGS = ["--extra test --no-group dev"] From d1007ec2eff833a624964e27e688fdb326dc78ee Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Wed, 8 Oct 2025 12:54:53 -0500 Subject: [PATCH 2/7] try a workaround --- .evergreen/scripts/setup_tests.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index e4db320dd8..9faadc818d 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -6,6 +6,7 @@ import platform import shutil import stat +import sys import tarfile from pathlib import Path from urllib import request @@ -152,14 +153,13 @@ def handle_test_env() -> None: SSL = "ssl" if opts.ssl else "nossl" TEST_ARGS = "" - import sys - - print(os.environ["UV_PYTHON"]) - sys.exit(1) - # Start compiling the args we'll pass to uv. UV_ARGS = ["--extra test --no-group dev"] + # TODO: remove as part of PYTHON-5561 + if sys.implementation.name.lower() == "pypy" and sys.version_info < (3, 11): + UV_ARGS.append("--with cryptography<46") + test_title = test_name if sub_test_name: test_title += f" {sub_test_name}" From 3a8957748c49853b26695e427c3333ef23ef3906 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Wed, 8 Oct 2025 12:55:54 -0500 Subject: [PATCH 3/7] fix workaround --- .evergreen/scripts/setup_tests.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index 9faadc818d..5629528071 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -157,8 +157,9 @@ def handle_test_env() -> None: UV_ARGS = ["--extra test --no-group dev"] # TODO: remove as part of PYTHON-5561 - if sys.implementation.name.lower() == "pypy" and sys.version_info < (3, 11): - UV_ARGS.append("--with cryptography<46") + if test_name in ["encryption", "oscp"]: + if sys.implementation.name.lower() == "pypy" and sys.version_info < (3, 11): + UV_ARGS.append("--with cryptography<46") test_title = test_name if sub_test_name: From 58d7d371e5d892c88a6e869ce83aab34110dd6f3 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Wed, 8 Oct 2025 14:42:58 -0500 Subject: [PATCH 4/7] debug --- .evergreen/run-tests.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.evergreen/run-tests.sh b/.evergreen/run-tests.sh index c14215244e..1eb7fc7a74 100755 --- a/.evergreen/run-tests.sh +++ b/.evergreen/run-tests.sh @@ -37,6 +37,7 @@ cleanup_tests() { trap "cleanup_tests" SIGINT ERR # Start the test runner. +echo "Hello $UV_ARGS" uv run ${UV_ARGS} --reinstall-package pymongo .evergreen/scripts/run_tests.py "$@" cleanup_tests From 717173b4927117f4c53b4b8eef1beebe34363767 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Wed, 8 Oct 2025 14:53:20 -0500 Subject: [PATCH 5/7] try again --- .evergreen/scripts/setup_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index 5629528071..a3ddb64031 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -159,7 +159,7 @@ def handle_test_env() -> None: # TODO: remove as part of PYTHON-5561 if test_name in ["encryption", "oscp"]: if sys.implementation.name.lower() == "pypy" and sys.version_info < (3, 11): - UV_ARGS.append("--with cryptography<46") + UV_ARGS.append("--with 'cryptography<46'") test_title = test_name if sub_test_name: From d0de3ed21fab0d59279ee01d8f09c65a4d61b1a8 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Wed, 8 Oct 2025 14:57:45 -0500 Subject: [PATCH 6/7] put it later --- .evergreen/scripts/setup_tests.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index a3ddb64031..284aaf840e 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -156,11 +156,6 @@ def handle_test_env() -> None: # Start compiling the args we'll pass to uv. UV_ARGS = ["--extra test --no-group dev"] - # TODO: remove as part of PYTHON-5561 - if test_name in ["encryption", "oscp"]: - if sys.implementation.name.lower() == "pypy" and sys.version_info < (3, 11): - UV_ARGS.append("--with 'cryptography<46'") - test_title = test_name if sub_test_name: test_title += f" {sub_test_name}" @@ -469,6 +464,11 @@ def handle_test_env() -> None: TEST_ARGS = f"{TEST_ARGS} --cov" write_env("COVERAGE") + # TODO: remove as part of PYTHON-5561 + if test_name in ["encryption", "oscp"]: + if sys.implementation.name.lower() == "pypy" and sys.version_info < (3, 11): + UV_ARGS.append("--with cryptography<46") + if opts.green_framework: framework = opts.green_framework or os.environ["GREEN_FRAMEWORK"] UV_ARGS.append(f"--group {framework}") From a34633f1149b873af15e18bc29fa22cede577105 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Wed, 8 Oct 2025 15:17:56 -0500 Subject: [PATCH 7/7] skip pypy with encryption for now --- .evergreen/generated_configs/variants.yml | 6 +++--- .evergreen/run-tests.sh | 1 - .evergreen/scripts/generate_config.py | 5 +++-- .evergreen/scripts/setup_tests.py | 6 ------ 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 9bae5f4680..2fe233e087 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -167,7 +167,7 @@ buildvariants: # Encryption tests - name: encryption-rhel8 tasks: - - name: .test-non-standard + - name: .test-non-standard !.pypy - name: .test-min-deps display_name: Encryption RHEL8 run_on: @@ -198,7 +198,7 @@ buildvariants: tags: [encryption_tag] - name: encryption-crypt_shared-rhel8 tasks: - - name: .test-non-standard + - name: .test-non-standard !.pypy - name: .test-min-deps display_name: Encryption crypt_shared RHEL8 run_on: @@ -232,7 +232,7 @@ buildvariants: tags: [encryption_tag] - name: encryption-pyopenssl-rhel8 tasks: - - name: .test-non-standard + - name: .test-non-standard !.pypy display_name: Encryption PyOpenSSL RHEL8 run_on: - rhel87-small diff --git a/.evergreen/run-tests.sh b/.evergreen/run-tests.sh index 1eb7fc7a74..c14215244e 100755 --- a/.evergreen/run-tests.sh +++ b/.evergreen/run-tests.sh @@ -37,7 +37,6 @@ cleanup_tests() { trap "cleanup_tests" SIGINT ERR # Start the test runner. -echo "Hello $UV_ARGS" uv run ${UV_ARGS} --reinstall-package pymongo .evergreen/scripts/run_tests.py "$@" cleanup_tests diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index daec0841d5..de9600a782 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -128,7 +128,8 @@ def get_encryption_expansions(encryption): ): expansions = get_encryption_expansions(encryption) display_name = get_variant_name(encryption, host, **expansions) - tasks = [".test-non-standard", ".test-min-deps"] + # TODO: PYTHON-5612 + tasks = [".test-non-standard !.pypy", ".test-min-deps"] if host != "rhel8": tasks = [".test-non-standard !.pypy"] variant = create_variant( @@ -147,7 +148,7 @@ def get_encryption_expansions(encryption): expansions = get_encryption_expansions(encryption) display_name = get_variant_name(encryption, host, **expansions) variant = create_variant( - [".test-non-standard"], + [".test-non-standard !.pypy"], # TODO: PYTHON-5612 display_name, host=host, expansions=expansions, diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index 284aaf840e..3f0a8cc7f9 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -6,7 +6,6 @@ import platform import shutil import stat -import sys import tarfile from pathlib import Path from urllib import request @@ -464,11 +463,6 @@ def handle_test_env() -> None: TEST_ARGS = f"{TEST_ARGS} --cov" write_env("COVERAGE") - # TODO: remove as part of PYTHON-5561 - if test_name in ["encryption", "oscp"]: - if sys.implementation.name.lower() == "pypy" and sys.version_info < (3, 11): - UV_ARGS.append("--with cryptography<46") - if opts.green_framework: framework = opts.green_framework or os.environ["GREEN_FRAMEWORK"] UV_ARGS.append(f"--group {framework}")