PYTHON-5333 Update encryption and pyopenssl variants (#2328)
This commit is contained in:
parent
0ec57781d1
commit
000391c440
File diff suppressed because it is too large
Load Diff
@ -154,7 +154,7 @@ buildvariants:
|
||||
# Disable test commands tests
|
||||
- name: disable-test-commands-rhel8-python3.9
|
||||
tasks:
|
||||
- name: .latest .sync_async
|
||||
- name: .test-standard .server-latest
|
||||
display_name: Disable test commands RHEL8 Python3.9
|
||||
run_on:
|
||||
- rhel87-small
|
||||
@ -175,248 +175,79 @@ buildvariants:
|
||||
TEST_NAME: doctest
|
||||
|
||||
# Encryption tests
|
||||
- name: encryption-rhel8-python3.9
|
||||
- name: encryption-rhel8
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync_async
|
||||
- name: .replica_set .noauth .ssl .sync_async
|
||||
- name: .standalone .noauth .nossl .sync_async
|
||||
display_name: Encryption RHEL8 Python3.9
|
||||
- name: .test-non-standard
|
||||
display_name: Encryption RHEL8
|
||||
run_on:
|
||||
- rhel87-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
PYTHON_BINARY: /opt/python/3.9/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-rhel8-python3.13
|
||||
- name: encryption-macos
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync_async
|
||||
- name: .replica_set .noauth .ssl .sync_async
|
||||
- name: .standalone .noauth .nossl .sync_async
|
||||
display_name: Encryption RHEL8 Python3.13
|
||||
- name: .test-non-standard !.pypy
|
||||
display_name: Encryption macOS
|
||||
run_on:
|
||||
- rhel87-small
|
||||
- macos-14
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
PYTHON_BINARY: /opt/python/3.13/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-rhel8-pypy3.10
|
||||
- name: encryption-win64
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync_async
|
||||
- name: .replica_set .noauth .ssl .sync_async
|
||||
- name: .standalone .noauth .nossl .sync_async
|
||||
display_name: Encryption RHEL8 PyPy3.10
|
||||
- name: .test-non-standard !.pypy
|
||||
display_name: Encryption Win64
|
||||
run_on:
|
||||
- rhel87-small
|
||||
- windows-64-vsMulti-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
PYTHON_BINARY: /opt/python/pypy3.10/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-crypt_shared-rhel8-python3.9
|
||||
- name: encryption-crypt_shared-rhel8
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync_async
|
||||
- name: .replica_set .noauth .ssl .sync_async
|
||||
- name: .standalone .noauth .nossl .sync_async
|
||||
display_name: Encryption crypt_shared RHEL8 Python3.9
|
||||
- name: .test-non-standard
|
||||
display_name: Encryption crypt_shared RHEL8
|
||||
run_on:
|
||||
- rhel87-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
TEST_CRYPT_SHARED: "true"
|
||||
PYTHON_BINARY: /opt/python/3.9/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-crypt_shared-rhel8-python3.13
|
||||
- name: encryption-crypt_shared-macos
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync_async
|
||||
- name: .replica_set .noauth .ssl .sync_async
|
||||
- name: .standalone .noauth .nossl .sync_async
|
||||
display_name: Encryption crypt_shared RHEL8 Python3.13
|
||||
- name: .test-non-standard !.pypy
|
||||
display_name: Encryption crypt_shared macOS
|
||||
run_on:
|
||||
- rhel87-small
|
||||
- macos-14
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
TEST_CRYPT_SHARED: "true"
|
||||
PYTHON_BINARY: /opt/python/3.13/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-crypt_shared-rhel8-pypy3.10
|
||||
- name: encryption-crypt_shared-win64
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync_async
|
||||
- name: .replica_set .noauth .ssl .sync_async
|
||||
- name: .standalone .noauth .nossl .sync_async
|
||||
display_name: Encryption crypt_shared RHEL8 PyPy3.10
|
||||
- name: .test-non-standard !.pypy
|
||||
display_name: Encryption crypt_shared Win64
|
||||
run_on:
|
||||
- rhel87-small
|
||||
- windows-64-vsMulti-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
TEST_CRYPT_SHARED: "true"
|
||||
PYTHON_BINARY: /opt/python/pypy3.10/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-pyopenssl-rhel8-python3.9
|
||||
- name: encryption-pyopenssl-rhel8
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync
|
||||
- name: .replica_set .noauth .ssl .sync
|
||||
- name: .standalone .noauth .nossl .sync
|
||||
display_name: Encryption PyOpenSSL RHEL8 Python3.9
|
||||
- name: .test-non-standard
|
||||
display_name: Encryption PyOpenSSL RHEL8
|
||||
run_on:
|
||||
- rhel87-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
SUB_TEST_NAME: pyopenssl
|
||||
PYTHON_BINARY: /opt/python/3.9/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-pyopenssl-rhel8-python3.13
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync
|
||||
- name: .replica_set .noauth .ssl .sync
|
||||
- name: .standalone .noauth .nossl .sync
|
||||
display_name: Encryption PyOpenSSL RHEL8 Python3.13
|
||||
run_on:
|
||||
- rhel87-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
SUB_TEST_NAME: pyopenssl
|
||||
PYTHON_BINARY: /opt/python/3.13/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-pyopenssl-rhel8-pypy3.10
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync
|
||||
- name: .replica_set .noauth .ssl .sync
|
||||
- name: .standalone .noauth .nossl .sync
|
||||
display_name: Encryption PyOpenSSL RHEL8 PyPy3.10
|
||||
run_on:
|
||||
- rhel87-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
SUB_TEST_NAME: pyopenssl
|
||||
PYTHON_BINARY: /opt/python/pypy3.10/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-rhel8-python3.10
|
||||
tasks:
|
||||
- name: .sharded_cluster .auth .ssl .sync_async
|
||||
display_name: Encryption RHEL8 Python3.10
|
||||
run_on:
|
||||
- rhel87-small
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
PYTHON_BINARY: /opt/python/3.10/bin/python3
|
||||
- name: encryption-crypt_shared-rhel8-python3.11
|
||||
tasks:
|
||||
- name: .replica_set .noauth .ssl .sync_async
|
||||
display_name: Encryption crypt_shared RHEL8 Python3.11
|
||||
run_on:
|
||||
- rhel87-small
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
TEST_CRYPT_SHARED: "true"
|
||||
PYTHON_BINARY: /opt/python/3.11/bin/python3
|
||||
- name: encryption-rhel8-python3.12
|
||||
tasks:
|
||||
- name: .standalone .noauth .nossl .sync_async
|
||||
display_name: Encryption RHEL8 Python3.12
|
||||
run_on:
|
||||
- rhel87-small
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
PYTHON_BINARY: /opt/python/3.12/bin/python3
|
||||
- name: encryption-macos-python3.9
|
||||
tasks:
|
||||
- name: .latest .replica_set .sync_async
|
||||
display_name: Encryption macOS Python3.9
|
||||
run_on:
|
||||
- macos-14
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-macos-python3.13
|
||||
tasks:
|
||||
- name: .latest .replica_set .sync_async
|
||||
display_name: Encryption macOS Python3.13
|
||||
run_on:
|
||||
- macos-14
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-crypt_shared-macos-python3.9
|
||||
tasks:
|
||||
- name: .latest .replica_set .sync_async
|
||||
display_name: Encryption crypt_shared macOS Python3.9
|
||||
run_on:
|
||||
- macos-14
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
TEST_CRYPT_SHARED: "true"
|
||||
PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-crypt_shared-macos-python3.13
|
||||
tasks:
|
||||
- name: .latest .replica_set .sync_async
|
||||
display_name: Encryption crypt_shared macOS Python3.13
|
||||
run_on:
|
||||
- macos-14
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
TEST_CRYPT_SHARED: "true"
|
||||
PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.13/bin/python3
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-win64-python3.9
|
||||
tasks:
|
||||
- name: .latest .replica_set .sync_async
|
||||
display_name: Encryption Win64 Python3.9
|
||||
run_on:
|
||||
- windows-64-vsMulti-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
PYTHON_BINARY: C:/python/Python39/python.exe
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-win64-python3.13
|
||||
tasks:
|
||||
- name: .latest .replica_set .sync_async
|
||||
display_name: Encryption Win64 Python3.13
|
||||
run_on:
|
||||
- windows-64-vsMulti-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
PYTHON_BINARY: C:/python/Python313/python.exe
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-crypt_shared-win64-python3.9
|
||||
tasks:
|
||||
- name: .latest .replica_set .sync_async
|
||||
display_name: Encryption crypt_shared Win64 Python3.9
|
||||
run_on:
|
||||
- windows-64-vsMulti-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
TEST_CRYPT_SHARED: "true"
|
||||
PYTHON_BINARY: C:/python/Python39/python.exe
|
||||
tags: [encryption_tag]
|
||||
- name: encryption-crypt_shared-win64-python3.13
|
||||
tasks:
|
||||
- name: .latest .replica_set .sync_async
|
||||
display_name: Encryption crypt_shared Win64 Python3.13
|
||||
run_on:
|
||||
- windows-64-vsMulti-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: encryption
|
||||
TEST_CRYPT_SHARED: "true"
|
||||
PYTHON_BINARY: C:/python/Python313/python.exe
|
||||
tags: [encryption_tag]
|
||||
|
||||
# Enterprise auth tests
|
||||
@ -617,78 +448,36 @@ buildvariants:
|
||||
batchtime: 10080
|
||||
|
||||
# Pyopenssl tests
|
||||
- name: pyopenssl-macos-python3.9
|
||||
- name: pyopenssl-rhel8
|
||||
tasks:
|
||||
- name: .replica_set .noauth .nossl .sync
|
||||
- name: .7.0 .noauth .nossl .sync
|
||||
display_name: PyOpenSSL macOS Python3.9
|
||||
run_on:
|
||||
- macos-14
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: default
|
||||
SUB_TEST_NAME: pyopenssl
|
||||
PYTHON_BINARY: /Library/Frameworks/Python.Framework/Versions/3.9/bin/python3
|
||||
- name: pyopenssl-rhel8-python3.10
|
||||
tasks:
|
||||
- name: .replica_set .auth .ssl .sync_async
|
||||
- name: .7.0 .auth .ssl .sync_async
|
||||
display_name: PyOpenSSL RHEL8 Python3.10
|
||||
- name: .test-standard .sync
|
||||
- name: .test-standard .async .replica_set-noauth-ssl
|
||||
display_name: PyOpenSSL RHEL8
|
||||
run_on:
|
||||
- rhel87-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: default
|
||||
SUB_TEST_NAME: pyopenssl
|
||||
PYTHON_BINARY: /opt/python/3.10/bin/python3
|
||||
- name: pyopenssl-rhel8-python3.11
|
||||
- name: pyopenssl-macos
|
||||
tasks:
|
||||
- name: .replica_set .auth .ssl .sync
|
||||
- name: .7.0 .auth .ssl .sync
|
||||
display_name: PyOpenSSL RHEL8 Python3.11
|
||||
- name: .test-standard !.pypy .sync
|
||||
- name: .test-standard !.pypy .async .replica_set-noauth-ssl
|
||||
display_name: PyOpenSSL macOS
|
||||
run_on:
|
||||
- rhel87-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: default
|
||||
SUB_TEST_NAME: pyopenssl
|
||||
PYTHON_BINARY: /opt/python/3.11/bin/python3
|
||||
- name: pyopenssl-rhel8-python3.12
|
||||
- name: pyopenssl-win64
|
||||
tasks:
|
||||
- name: .replica_set .auth .ssl .sync
|
||||
- name: .7.0 .auth .ssl .sync
|
||||
display_name: PyOpenSSL RHEL8 Python3.12
|
||||
- name: .test-standard !.pypy .sync
|
||||
- name: .test-standard !.pypy .async .replica_set-noauth-ssl
|
||||
display_name: PyOpenSSL Win64
|
||||
run_on:
|
||||
- rhel87-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: default
|
||||
SUB_TEST_NAME: pyopenssl
|
||||
PYTHON_BINARY: /opt/python/3.12/bin/python3
|
||||
- name: pyopenssl-win64-python3.13
|
||||
tasks:
|
||||
- name: .replica_set .auth .ssl .sync_async
|
||||
- name: .7.0 .auth .ssl .sync_async
|
||||
display_name: PyOpenSSL Win64 Python3.13
|
||||
run_on:
|
||||
- windows-64-vsMulti-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: default
|
||||
SUB_TEST_NAME: pyopenssl
|
||||
PYTHON_BINARY: C:/python/Python313/python.exe
|
||||
- name: pyopenssl-rhel8-pypy3.10
|
||||
tasks:
|
||||
- name: .replica_set .auth .ssl .sync
|
||||
- name: .7.0 .auth .ssl .sync
|
||||
display_name: PyOpenSSL RHEL8 PyPy3.10
|
||||
run_on:
|
||||
- rhel87-small
|
||||
batchtime: 10080
|
||||
expansions:
|
||||
TEST_NAME: default
|
||||
SUB_TEST_NAME: pyopenssl
|
||||
PYTHON_BINARY: /opt/python/pypy3.10/bin/python3
|
||||
|
||||
# Search index tests
|
||||
- name: search-index-helpers-rhel8-python3.9
|
||||
|
||||
@ -7,7 +7,6 @@ from itertools import product
|
||||
from generate_config_utils import (
|
||||
ALL_PYTHONS,
|
||||
ALL_VERSIONS,
|
||||
AUTH_SSLS,
|
||||
BATCHTIME_WEEK,
|
||||
C_EXTS,
|
||||
CPYTHONS,
|
||||
@ -16,7 +15,6 @@ from generate_config_utils import (
|
||||
MIN_MAX_PYTHON,
|
||||
OTHER_HOSTS,
|
||||
PYPYS,
|
||||
SUB_TASKS,
|
||||
SYNCS,
|
||||
TOPOLOGIES,
|
||||
create_variant,
|
||||
@ -136,69 +134,39 @@ def create_encryption_variants() -> list[BuildVariant]:
|
||||
expansions["SUB_TEST_NAME"] = "pyopenssl"
|
||||
return expansions
|
||||
|
||||
# Test encryption on all hosts.
|
||||
for encryption, host in product(
|
||||
["Encryption", "Encryption crypt_shared"], ["rhel8", "macos", "win64"]
|
||||
):
|
||||
expansions = get_encryption_expansions(encryption)
|
||||
display_name = get_variant_name(encryption, host, **expansions)
|
||||
tasks = [".test-non-standard"]
|
||||
if host != "rhel8":
|
||||
tasks = [".test-non-standard !.pypy"]
|
||||
variant = create_variant(
|
||||
tasks,
|
||||
display_name,
|
||||
host=host,
|
||||
expansions=expansions,
|
||||
batchtime=batchtime,
|
||||
tags=tags,
|
||||
)
|
||||
variants.append(variant)
|
||||
|
||||
# Test PyOpenSSL on linux.
|
||||
host = DEFAULT_HOST
|
||||
|
||||
# Test against all server versions for the three main python versions.
|
||||
encryptions = ["Encryption", "Encryption crypt_shared"]
|
||||
for encryption, python in product(encryptions, [*MIN_MAX_PYTHON, PYPYS[-1]]):
|
||||
expansions = get_encryption_expansions(encryption)
|
||||
display_name = get_variant_name(encryption, host, python=python, **expansions)
|
||||
variant = create_variant(
|
||||
[f"{t} .sync_async" for t in SUB_TASKS],
|
||||
display_name,
|
||||
python=python,
|
||||
host=host,
|
||||
expansions=expansions,
|
||||
batchtime=batchtime,
|
||||
tags=tags,
|
||||
)
|
||||
variants.append(variant)
|
||||
|
||||
# Test PyOpenSSL against on all server versions for all python versions.
|
||||
for encryption, python in product(["Encryption PyOpenSSL"], [*MIN_MAX_PYTHON, PYPYS[-1]]):
|
||||
expansions = get_encryption_expansions(encryption)
|
||||
display_name = get_variant_name(encryption, host, python=python, **expansions)
|
||||
variant = create_variant(
|
||||
[f"{t} .sync" for t in SUB_TASKS],
|
||||
display_name,
|
||||
python=python,
|
||||
host=host,
|
||||
expansions=expansions,
|
||||
batchtime=batchtime,
|
||||
tags=tags,
|
||||
)
|
||||
variants.append(variant)
|
||||
|
||||
# Test the rest of the pythons on linux for all server versions.
|
||||
for encryption, python, task in zip_cycle(encryptions, CPYTHONS[1:-1] + PYPYS[:-1], SUB_TASKS):
|
||||
expansions = get_encryption_expansions(encryption)
|
||||
display_name = get_variant_name(encryption, host, python=python, **expansions)
|
||||
variant = create_variant(
|
||||
[f"{task} .sync_async"],
|
||||
display_name,
|
||||
python=python,
|
||||
host=host,
|
||||
expansions=expansions,
|
||||
)
|
||||
variants.append(variant)
|
||||
|
||||
# Test on macos and linux on one server version and topology for min and max python.
|
||||
encryptions = ["Encryption", "Encryption crypt_shared"]
|
||||
task_names = [".latest .replica_set .sync_async"]
|
||||
for host_name, encryption, python in product(["macos", "win64"], encryptions, MIN_MAX_PYTHON):
|
||||
host = HOSTS[host_name]
|
||||
expansions = get_encryption_expansions(encryption)
|
||||
display_name = get_variant_name(encryption, host, python=python, **expansions)
|
||||
variant = create_variant(
|
||||
task_names,
|
||||
display_name,
|
||||
python=python,
|
||||
host=host,
|
||||
expansions=expansions,
|
||||
batchtime=batchtime,
|
||||
tags=tags,
|
||||
)
|
||||
variants.append(variant)
|
||||
encryption = "Encryption PyOpenSSL"
|
||||
expansions = get_encryption_expansions(encryption)
|
||||
display_name = get_variant_name(encryption, host, **expansions)
|
||||
variant = create_variant(
|
||||
[".test-non-standard"],
|
||||
display_name,
|
||||
host=host,
|
||||
expansions=expansions,
|
||||
batchtime=batchtime,
|
||||
tags=tags,
|
||||
)
|
||||
variants.append(variant)
|
||||
return variants
|
||||
|
||||
|
||||
@ -258,41 +226,22 @@ def create_enterprise_auth_variants():
|
||||
def create_pyopenssl_variants():
|
||||
base_name = "PyOpenSSL"
|
||||
batchtime = BATCHTIME_WEEK
|
||||
expansions = dict(TEST_NAME="default", SUB_TEST_NAME="pyopenssl")
|
||||
expansions = dict(SUB_TEST_NAME="pyopenssl")
|
||||
variants = []
|
||||
|
||||
for python in ALL_PYTHONS:
|
||||
# Only test "noauth" with min python.
|
||||
auth = "noauth" if python == CPYTHONS[0] else "auth"
|
||||
ssl = "nossl" if auth == "noauth" else "ssl"
|
||||
if python == CPYTHONS[0]:
|
||||
host = HOSTS["macos"]
|
||||
elif python == CPYTHONS[-1]:
|
||||
host = HOSTS["win64"]
|
||||
else:
|
||||
host = DEFAULT_HOST
|
||||
|
||||
display_name = get_variant_name(base_name, host, python=python)
|
||||
# only need to run some on async
|
||||
if python in (CPYTHONS[1], CPYTHONS[-1]):
|
||||
variant = create_variant(
|
||||
[f".replica_set .{auth} .{ssl} .sync_async", f".7.0 .{auth} .{ssl} .sync_async"],
|
||||
for host in ["rhel8", "macos", "win64"]:
|
||||
display_name = get_variant_name(base_name, host)
|
||||
base_task = ".test-standard" if host == "rhel8" else ".test-standard !.pypy"
|
||||
# We only need to run a subset on async.
|
||||
tasks = [f"{base_task} .sync", f"{base_task} .async .replica_set-noauth-ssl"]
|
||||
variants.append(
|
||||
create_variant(
|
||||
tasks,
|
||||
display_name,
|
||||
python=python,
|
||||
host=host,
|
||||
expansions=expansions,
|
||||
batchtime=batchtime,
|
||||
)
|
||||
else:
|
||||
variant = create_variant(
|
||||
[f".replica_set .{auth} .{ssl} .sync", f".7.0 .{auth} .{ssl} .sync"],
|
||||
display_name,
|
||||
python=python,
|
||||
host=host,
|
||||
expansions=expansions,
|
||||
batchtime=batchtime,
|
||||
)
|
||||
variants.append(variant)
|
||||
)
|
||||
|
||||
return variants
|
||||
|
||||
@ -398,7 +347,7 @@ def create_disable_test_commands_variants():
|
||||
expansions = dict(AUTH="auth", SSL="ssl", DISABLE_TEST_COMMANDS="1")
|
||||
python = CPYTHONS[0]
|
||||
display_name = get_variant_name("Disable test commands", host, python=python)
|
||||
tasks = [".latest .sync_async"]
|
||||
tasks = [".test-standard .server-latest"]
|
||||
return [create_variant(tasks, display_name, host=host, python=python, expansions=expansions)]
|
||||
|
||||
|
||||
@ -706,30 +655,6 @@ def create_standard_tasks():
|
||||
return tasks
|
||||
|
||||
|
||||
def create_server_tasks():
|
||||
tasks = []
|
||||
for topo, version, (auth, ssl), sync in product(
|
||||
TOPOLOGIES, ALL_VERSIONS, AUTH_SSLS, [*SYNCS, "sync_async"]
|
||||
):
|
||||
name = f"test-{version}-{topo}-{auth}-{ssl}-{sync}".lower()
|
||||
tags = [version, topo, auth, ssl, sync]
|
||||
server_vars = dict(
|
||||
VERSION=version,
|
||||
TOPOLOGY=topo if topo != "standalone" else "server",
|
||||
AUTH=auth,
|
||||
SSL=ssl,
|
||||
)
|
||||
server_func = FunctionCall(func="run server", vars=server_vars)
|
||||
test_vars = dict(AUTH=auth, SSL=ssl, SYNC=sync)
|
||||
if sync == "sync":
|
||||
test_vars["TEST_NAME"] = "default_sync"
|
||||
elif sync == "async":
|
||||
test_vars["TEST_NAME"] = "default_async"
|
||||
test_func = FunctionCall(func="run tests", vars=test_vars)
|
||||
tasks.append(EvgTask(name=name, tags=tags, commands=[server_func, test_func]))
|
||||
return tasks
|
||||
|
||||
|
||||
def create_no_orchestration_tasks():
|
||||
tasks = []
|
||||
for python in [*MIN_MAX_PYTHON, PYPYS[-1]]:
|
||||
|
||||
@ -30,12 +30,6 @@ BATCHTIME_WEEK = 10080
|
||||
AUTH_SSLS = [("auth", "ssl"), ("noauth", "ssl"), ("noauth", "nossl")]
|
||||
TOPOLOGIES = ["standalone", "replica_set", "sharded_cluster"]
|
||||
C_EXTS = ["without_ext", "with_ext"]
|
||||
# By default test each of the topologies with a subset of auth/ssl.
|
||||
SUB_TASKS = [
|
||||
".sharded_cluster .auth .ssl",
|
||||
".replica_set .noauth .ssl",
|
||||
".standalone .noauth .nossl",
|
||||
]
|
||||
SYNCS = ["sync", "async"]
|
||||
DISPLAY_LOOKUP = dict(
|
||||
ssl=dict(ssl="SSL", nossl="NoSSL"),
|
||||
@ -95,13 +89,15 @@ def create_variant_generic(
|
||||
tasks: list[str | EvgTaskRef],
|
||||
display_name: str,
|
||||
*,
|
||||
host: Host | None = None,
|
||||
host: Host | str | None = None,
|
||||
default_run_on="rhel87-small",
|
||||
expansions: dict | None = None,
|
||||
**kwargs: Any,
|
||||
) -> BuildVariant:
|
||||
"""Create a build variant for the given inputs."""
|
||||
task_refs = []
|
||||
if isinstance(host, str):
|
||||
host = HOSTS[host]
|
||||
for t in tasks:
|
||||
if isinstance(t, EvgTaskRef):
|
||||
task_refs.append(t)
|
||||
@ -134,7 +130,7 @@ def create_variant(
|
||||
display_name: str,
|
||||
*,
|
||||
version: str | None = None,
|
||||
host: Host | None = None,
|
||||
host: Host | str | None = None,
|
||||
python: str | None = None,
|
||||
expansions: dict | None = None,
|
||||
**kwargs: Any,
|
||||
@ -214,9 +210,11 @@ def get_common_name(base: str, sep: str, **kwargs) -> str:
|
||||
return display_name
|
||||
|
||||
|
||||
def get_variant_name(base: str, host: Host | None = None, **kwargs) -> str:
|
||||
def get_variant_name(base: str, host: str | Host | None = None, **kwargs) -> str:
|
||||
"""Get the display name of a variant."""
|
||||
display_name = base
|
||||
if isinstance(host, str):
|
||||
host = HOSTS[host]
|
||||
if host is not None:
|
||||
display_name += f" {host.display_name}"
|
||||
return get_common_name(display_name, " ", **kwargs)
|
||||
|
||||
@ -231,6 +231,17 @@ the pages will re-render and the browser will automatically refresh.
|
||||
- Run `just setup-tests encryption`.
|
||||
- Run the tests with `just run-tests`.
|
||||
|
||||
To test with `encryption` and `PyOpenSSL`, use `just setup-tests encryption pyopenssl`.
|
||||
|
||||
### PyOpenSSL tests
|
||||
|
||||
- Run `just run-server` to start the server.
|
||||
- Run `just setup-tests default_sync pyopenssl`.
|
||||
- Run the tests with `just run-tests`.
|
||||
|
||||
Note: `PyOpenSSL` is not used in async tests, but you can use `just setup-tests default_async pyopenssl`
|
||||
to verify that PyMongo falls back to the standard library `OpenSSL`.
|
||||
|
||||
### Load balancer tests
|
||||
|
||||
- Install `haproxy` (available as `brew install haproxy` on macOS).
|
||||
|
||||
Loading…
Reference in New Issue
Block a user