PYTHON-4891 Use shrub.py for c extension tests (#1956)

This commit is contained in:
Steven Silvester 2024-10-21 09:45:14 -05:00 committed by GitHub
parent 5280596141
commit 4003edf267
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 114 additions and 50 deletions

View File

@ -2247,19 +2247,6 @@ axes:
variables:
MOD_WSGI_VERSION: "4"
# Install and use the driver's C-extensions?
- id: c-extensions
display_name: "C Extensions"
values:
- id: "without-c-extensions"
display_name: "Without C Extensions"
variables:
NO_EXT: "1"
- id: "with-c-extensions"
display_name: "With C Extensions"
variables:
NO_EXT: ""
# Run with test commands disabled on server?
- id: disableTestCommands
display_name: Disable test commands
@ -3460,6 +3447,89 @@ buildvariants:
SSL: ssl
PYTHON_BINARY: /opt/python/3.12/bin/python3
# No C Ext tests.
- name: no-c-ext-rhel8-py3.9
tasks:
- name: .standalone
display_name: No C Ext RHEL8 py3.9
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: no-c-ext-rhel8-py3.10
tasks:
- name: .replica_set
display_name: No C Ext RHEL8 py3.10
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.10/bin/python3
- name: no-c-ext-rhel8-py3.11
tasks:
- name: .sharded_cluster
display_name: No C Ext RHEL8 py3.11
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.11/bin/python3
- name: no-c-ext-rhel8-py3.12
tasks:
- name: .standalone
display_name: No C Ext RHEL8 py3.12
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.12/bin/python3
- name: no-c-ext-rhel8-py3.13
tasks:
- name: .replica_set
display_name: No C Ext RHEL8 py3.13
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.13/bin/python3
# Atlas Data Lake tests.
- name: atlas-data-lake-rhel8-py3.9-no-c
tasks:
- name: atlas-data-lake-tests
display_name: Atlas Data Lake RHEL8 py3.9 No C
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: atlas-data-lake-rhel8-py3.9
tasks:
- name: atlas-data-lake-tests
display_name: Atlas Data Lake RHEL8 py3.9
run_on:
- rhel87-small
expansions:
PYTHON_BINARY: /opt/python/3.9/bin/python3
- name: atlas-data-lake-rhel8-py3.13-no-c
tasks:
- name: atlas-data-lake-tests
display_name: Atlas Data Lake RHEL8 py3.13 No C
run_on:
- rhel87-small
expansions:
NO_EXT: "1"
PYTHON_BINARY: /opt/python/3.13/bin/python3
- name: atlas-data-lake-rhel8-py3.13
tasks:
- name: atlas-data-lake-tests
display_name: Atlas Data Lake RHEL8 py3.13
run_on:
- rhel87-small
expansions:
PYTHON_BINARY: /opt/python/3.13/bin/python3
- matrix_name: "tests-fips"
matrix_spec:
platform:
@ -3482,32 +3552,6 @@ buildvariants:
tasks:
- ".6.0"
- matrix_name: "tests-python-version-rhel8-without-c-extensions"
matrix_spec:
platform: rhel8
python-version: "*"
c-extensions: without-c-extensions
auth-ssl: noauth-nossl
coverage: "*"
exclude_spec:
# These interpreters are always tested without extensions.
- platform: rhel8
python-version: ["pypy3.9", "pypy3.10"]
c-extensions: "*"
auth-ssl: "*"
coverage: "*"
display_name: "${c-extensions} ${python-version} ${platform} ${auth} ${ssl} ${coverage}"
tasks: &all-server-versions
- ".rapid"
- ".latest"
- ".8.0"
- ".7.0"
- ".6.0"
- ".5.0"
- ".4.4"
- ".4.2"
- ".4.0"
- matrix_name: "tests-python-version-supports-openssl-102-test-ssl"
matrix_spec:
platform: rhel7
@ -3596,16 +3640,6 @@ buildvariants:
tasks:
- "serverless_task_group"
- matrix_name: "data-lake-spec-tests"
matrix_spec:
platform: ubuntu-22.04
python-version: ["3.9", "3.10"]
auth: "auth"
c-extensions: "*"
display_name: "Atlas Data Lake ${python-version} ${c-extensions}"
tasks:
- name: atlas-data-lake-tests
# OCSP test matrix.
- name: ocsp-test-rhel8-v4.4-py3.9
tasks:

View File

@ -528,10 +528,40 @@ def create_green_framework_variants():
return variants
def generate_no_c_ext_variants():
variants = []
host = "rhel8"
for python, topology in zip_cycle(CPYTHONS, TOPOLOGIES):
tasks = [f".{topology}"]
expansions = dict()
handle_c_ext(C_EXTS[0], expansions)
display_name = get_display_name("No C Ext", host, python=python)
variant = create_variant(
tasks, display_name, host=host, python=python, expansions=expansions
)
variants.append(variant)
return variants
def generate_atlas_data_lake_variants():
variants = []
host = "rhel8"
for python, c_ext in product(MIN_MAX_PYTHON, C_EXTS):
tasks = ["atlas-data-lake-tests"]
expansions = dict()
handle_c_ext(c_ext, expansions)
display_name = get_display_name("Atlas Data Lake", host, python=python, **expansions)
variant = create_variant(
tasks, display_name, host=host, python=python, expansions=expansions
)
variants.append(variant)
return variants
##################
# Generate Config
##################
variants = create_green_framework_variants()
variants = generate_atlas_data_lake_variants()
# print(len(variants))
generate_yaml(variants=variants)