From c2aae63825492c81d65406884db9c42e9fd5ac25 Mon Sep 17 00:00:00 2001 From: Steven Silvester <steve.silvester@mongodb.com> Date: Wed, 12 Mar 2025 13:18:48 -0500 Subject: [PATCH] PYTHON-5204 Convert Serverless tests to use new test scripts --- .evergreen/config.yml | 30 ----------------------- .evergreen/generated_configs/tasks.yml | 10 ++++++++ .evergreen/generated_configs/variants.yml | 10 ++------ .evergreen/scripts/generate_config.py | 12 ++++++--- .evergreen/scripts/setup_tests.py | 1 + .evergreen/scripts/teardown_tests.py | 6 ++++- 6 files changed, 27 insertions(+), 42 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 54931dcb48..0626ac590c 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -394,29 +394,6 @@ post: - func: "cleanup" task_groups: - - name: serverless_task_group - setup_group_can_fail_task: true - setup_group_timeout_secs: 1800 # 30 minutes - setup_group: - - func: "fetch source" - - func: "setup system" - - command: subprocess.exec - params: - binary: bash - env: - VAULT_NAME: ${VAULT_NAME} - args: - - ${DRIVERS_TOOLS}/.evergreen/serverless/create-instance.sh - teardown_task: - - command: subprocess.exec - params: - binary: bash - args: - - ${DRIVERS_TOOLS}/.evergreen/serverless/delete-instance.sh - - func: "upload test results" - tasks: - - ".serverless" - - name: testazureoidc_task_group setup_group: - func: fetch source @@ -557,13 +534,6 @@ tasks: - func: "run server" - func: "run doctests" - - name: "test-serverless" - tags: ["serverless"] - commands: - - func: "run tests" - vars: - TEST_NAME: serverless - - name: "test-enterprise-auth" tags: ["enterprise-auth"] commands: diff --git a/.evergreen/generated_configs/tasks.yml b/.evergreen/generated_configs/tasks.yml index 02ee29e6ed..889608d207 100644 --- a/.evergreen/generated_configs/tasks.yml +++ b/.evergreen/generated_configs/tasks.yml @@ -5822,3 +5822,13 @@ tasks: - noauth - nossl - sync_async + + # Serverless tests + - name: test-serverless + commands: + - func: run tests + vars: + TEST_NAME: serverless + AUTH: auth + SSL: ssl + tags: [serverless] diff --git a/.evergreen/generated_configs/variants.yml b/.evergreen/generated_configs/variants.yml index 80f08bc7a4..3d21a91794 100644 --- a/.evergreen/generated_configs/variants.yml +++ b/.evergreen/generated_configs/variants.yml @@ -1238,27 +1238,21 @@ buildvariants: # Serverless tests - name: serverless-rhel8-python3.9 tasks: - - name: serverless_task_group + - name: .serverless display_name: Serverless RHEL8 Python3.9 run_on: - rhel87-small batchtime: 10080 expansions: - TEST_NAME: serverless - AUTH: auth - SSL: ssl PYTHON_BINARY: /opt/python/3.9/bin/python3 - name: serverless-rhel8-python3.13 tasks: - - name: serverless_task_group + - name: .serverless display_name: Serverless RHEL8 Python3.13 run_on: - rhel87-small batchtime: 10080 expansions: - TEST_NAME: serverless - AUTH: auth - SSL: ssl PYTHON_BINARY: /opt/python/3.13/bin/python3 # Stable api tests diff --git a/.evergreen/scripts/generate_config.py b/.evergreen/scripts/generate_config.py index 505c6de060..1020bd089f 100644 --- a/.evergreen/scripts/generate_config.py +++ b/.evergreen/scripts/generate_config.py @@ -645,8 +645,7 @@ def create_disable_test_commands_variants(): def create_serverless_variants(): host = DEFAULT_HOST batchtime = BATCHTIME_WEEK - expansions = dict(TEST_NAME="serverless", AUTH="auth", SSL="ssl") - tasks = ["serverless_task_group"] + tasks = [".serverless"] base_name = "Serverless" return [ create_variant( @@ -654,7 +653,6 @@ def create_serverless_variants(): get_display_name(base_name, host, python=python), host=host, python=python, - expansions=expansions, batchtime=batchtime, ) for python in MIN_MAX_PYTHON @@ -938,6 +936,14 @@ def create_ocsp_tasks(): return tasks +def create_serverless_tasks(): + vars = dict(TEST_NAME="serverless", AUTH="auth", SSL="ssl") + test_func = FunctionCall(func="run tests", vars=vars) + tags = ["serverless"] + task_name = "test-serverless" + return [EvgTask(name=task_name, tags=tags, commands=[test_func])] + + ################## # Generate Config ################## diff --git a/.evergreen/scripts/setup_tests.py b/.evergreen/scripts/setup_tests.py index b75a821c3a..5ffa935d31 100644 --- a/.evergreen/scripts/setup_tests.py +++ b/.evergreen/scripts/setup_tests.py @@ -167,6 +167,7 @@ def handle_test_env() -> None: DB_USER = config["ADL_USERNAME"] DB_PASSWORD = config["ADL_PASSWORD"] elif test_name == "serverless": + run_command(f"bash {DRIVERS_TOOLS}/.evergreen/serverless/setup.sh") config = read_env(f"{DRIVERS_TOOLS}/.evergreen/serverless/secrets-export.sh") DB_USER = config["SERVERLESS_ATLAS_USER"] DB_PASSWORD = config["SERVERLESS_ATLAS_PASSWORD"] diff --git a/.evergreen/scripts/teardown_tests.py b/.evergreen/scripts/teardown_tests.py index fedbdc2fe8..1be8327b69 100644 --- a/.evergreen/scripts/teardown_tests.py +++ b/.evergreen/scripts/teardown_tests.py @@ -26,7 +26,11 @@ # Tear down ocsp if applicable. elif TEST_NAME == "ocsp": - run_command(f"bash {DRIVERS_TOOLS}/.evergreen/teardown.sh") + run_command(f"bash {DRIVERS_TOOLS}/.evergreen/ocsp/teardown.sh") + +# Tear down serverless if applicable. +elif TEST_NAME == "serverless": + run_command(f"bash {DRIVERS_TOOLS}/.evergreen/serverless/teardown.sh") # Tear down auth_aws if applicable. # We do not run web-identity hosts on macos, because the hosts lack permissions,