Skip to content

Commit 6198805

Browse files
authored
PYTHON-4540 Cleaner separation of test lifecycle (mongodb#2082)
1 parent 9a7bac7 commit 6198805

34 files changed

+612
-644
lines changed

.evergreen/config.yml

+11-101
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ functions:
4242
# Make an evergreen expansion file with dynamic values
4343
- command: subprocess.exec
4444
params:
45-
include_expansions_in_env: ["is_patch", "project", "version_id", "AUTH", "SSL", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "SETDEFAULTENCODING", "test_loadbalancer", "test_serverless", "SKIP_CSOT_TESTS", "MONGODB_STARTED", "DISABLE_TEST_COMMANDS", "GREEN_FRAMEWORK", "NO_EXT", "COVERAGE", "COMPRESSORS", "TEST_SUITES", "MONGODB_API_VERSION", "skip_crypt_shared", "VERSION", "TOPOLOGY", "STORAGE_ENGINE", "ORCHESTRATION_FILE", "REQUIRE_API_VERSION", "LOAD_BALANCER", "skip_web_identity_auth_test", "skip_ECS_auth_test"]
45+
include_expansions_in_env: ["is_patch", "project", "version_id", "AUTH", "SSL", "TEST_ENCRYPTION", "TEST_ENCRYPTION_PYOPENSSL", "TEST_CRYPT_SHARED", "TEST_PYOPENSSL", "SETDEFAULTENCODING", "TEST_LOADBALANCER", "TEST_SEVERLESS", "SKIP_CSOT_TESTS", "MONGODB_STARTED", "DISABLE_TEST_COMMANDS", "GREEN_FRAMEWORK", "NO_EXT", "COVERAGE", "COMPRESSORS", "MONGODB_API_VERSION", "skip_crypt_shared", "VERSION", "TOPOLOGY", "STORAGE_ENGINE", "ORCHESTRATION_FILE", "REQUIRE_API_VERSION", "LOAD_BALANCER", "skip_web_identity_auth_test", "skip_ECS_auth_test"]
4646
binary: bash
4747
working_dir: "src"
4848
args:
@@ -274,39 +274,22 @@ functions:
274274

275275
"run tests":
276276
- command: subprocess.exec
277+
type: test
277278
params:
278-
include_expansions_in_env: ["TEST_DATA_LAKE", "PYTHON_BINARY", "AUTH", "SSL", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "test_loadbalancer", "test_serverless", "ORCHESTRATION_FILE"]
279+
include_expansions_in_env: ["TEST_DATA_LAKE", "PYTHON_BINARY", "AUTH", "SSL",
280+
"AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN", "TEST_SUITES",
281+
"TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "TEST_ENCRYPTION", "TEST_ENCRYPTION_PYOPENSSL",
282+
"TEST_CRYPT_SHARED", "TEST_PYOPENSSL", "TEST_LOADBALANCER", "TEST_SEVERLESS", "MONGODB_URI"]
279283
binary: bash
280284
working_dir: "src"
281285
args:
282286
- .evergreen/scripts/setup-tests.sh
283-
- command: subprocess.exec
284-
params:
285-
working_dir: "src"
286-
binary: bash
287-
background: true
288-
include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
289-
args:
290-
- .evergreen/scripts/run-with-env.sh
291-
- .evergreen/scripts/setup-encryption.sh
292-
- command: subprocess.exec
293-
type: test
294-
params:
295-
working_dir: "src"
296-
binary: bash
297-
include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN", "PYTHON_BINARY", "TEST_DATA_LAKE", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "SINGLE_MONGOS_LB_URI", "MULTI_MONGOS_LB_URI", "TEST_SUITES"]
298-
args:
299-
- .evergreen/scripts/run-with-env.sh
300-
- .evergreen/scripts/run-tests.sh
301-
302-
"run direct tests":
303287
- command: subprocess.exec
304288
type: test
305289
params:
306290
working_dir: "src"
307291
binary: bash
308-
include_expansions_in_env: ["PYTHON_BINARY"]
309-
args: [ .evergreen/scripts/run-direct-tests.sh ]
292+
args: [.evergreen/just.sh, test-eg]
310293

311294
"run enterprise auth tests":
312295
- command: subprocess.exec
@@ -340,13 +323,6 @@ functions:
340323
- ${DRIVERS_TOOLS}/.evergreen/auth_aws/setup-secrets.sh
341324

342325
"run aws auth test with regular aws credentials":
343-
- command: subprocess.exec
344-
params:
345-
include_expansions_in_env: ["TEST_DATA_LAKE", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "test_loadbalancer", "test_serverless", "ORCHESTRATION_FILE"]
346-
binary: bash
347-
working_dir: "src"
348-
args:
349-
- .evergreen/scripts/setup-tests.sh
350326
- command: subprocess.exec
351327
type: test
352328
params:
@@ -359,13 +335,6 @@ functions:
359335
- regular
360336

361337
"run aws auth test with assume role credentials":
362-
- command: subprocess.exec
363-
params:
364-
include_expansions_in_env: [ "TEST_DATA_LAKE", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "test_loadbalancer", "test_serverless", "ORCHESTRATION_FILE" ]
365-
binary: bash
366-
working_dir: "src"
367-
args:
368-
- .evergreen/scripts/setup-tests.sh
369338
- command: subprocess.exec
370339
type: test
371340
params:
@@ -378,13 +347,6 @@ functions:
378347
- assume-role
379348

380349
"run aws auth test with aws EC2 credentials":
381-
- command: subprocess.exec
382-
params:
383-
include_expansions_in_env: [ "TEST_DATA_LAKE", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "test_loadbalancer", "test_serverless", "ORCHESTRATION_FILE" ]
384-
binary: bash
385-
working_dir: "src"
386-
args:
387-
- .evergreen/scripts/setup-tests.sh
388350
- command: subprocess.exec
389351
type: test
390352
params:
@@ -397,13 +359,6 @@ functions:
397359
- ec2
398360

399361
"run aws auth test with aws web identity credentials":
400-
- command: subprocess.exec
401-
params:
402-
include_expansions_in_env: [ "TEST_DATA_LAKE", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "test_loadbalancer", "test_serverless", "ORCHESTRATION_FILE" ]
403-
binary: bash
404-
working_dir: "src"
405-
args:
406-
- .evergreen/scripts/setup-tests.sh
407362
- # Test with and without AWS_ROLE_SESSION_NAME set.
408363
- command: subprocess.exec
409364
type: test
@@ -429,13 +384,6 @@ functions:
429384
- web-identity
430385

431386
"run aws auth test with aws credentials as environment variables":
432-
- command: subprocess.exec
433-
params:
434-
include_expansions_in_env: [ "TEST_DATA_LAKE", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "test_loadbalancer", "test_serverless", "ORCHESTRATION_FILE" ]
435-
binary: bash
436-
working_dir: "src"
437-
args:
438-
- .evergreen/scripts/setup-tests.sh
439387
- command: subprocess.exec
440388
type: test
441389
params:
@@ -448,13 +396,6 @@ functions:
448396
- env-creds
449397

450398
"run aws auth test with aws credentials and session token as environment variables":
451-
- command: subprocess.exec
452-
params:
453-
include_expansions_in_env: [ "TEST_DATA_LAKE", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "test_loadbalancer", "test_serverless", "ORCHESTRATION_FILE" ]
454-
binary: bash
455-
working_dir: "src"
456-
args:
457-
- .evergreen/scripts/setup-tests.sh
458399
- command: subprocess.exec
459400
type: test
460401
params:
@@ -467,13 +408,6 @@ functions:
467408
- session-creds
468409

469410
"run oidc auth test with test credentials":
470-
- command: subprocess.exec
471-
params:
472-
include_expansions_in_env: [ "TEST_DATA_LAKE", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "test_loadbalancer", "test_serverless", "ORCHESTRATION_FILE" ]
473-
binary: bash
474-
working_dir: "src"
475-
args:
476-
- .evergreen/scripts/setup-tests.sh
477411
- command: subprocess.exec
478412
type: test
479413
params:
@@ -561,13 +495,6 @@ functions:
561495
file: atlas-expansion.yml
562496

563497
"run-ocsp-test":
564-
- command: subprocess.exec
565-
params:
566-
include_expansions_in_env: [ "TEST_DATA_LAKE", "TEST_INDEX_MANAGEMENT", "CRYPT_SHARED_LIB_PATH", "test_encryption", "test_encryption_pyopenssl", "test_crypt_shared", "test_pyopenssl", "test_loadbalancer", "test_serverless", "ORCHESTRATION_FILE" ]
567-
binary: bash
568-
working_dir: "src"
569-
args:
570-
- .evergreen/scripts/setup-tests.sh
571498
- command: subprocess.exec
572499
type: test
573500
params:
@@ -587,25 +514,6 @@ functions:
587514
args:
588515
- ${DRIVERS_TOOLS}/.evergreen/ocsp/setup.sh
589516

590-
"run load-balancer":
591-
- command: subprocess.exec
592-
params:
593-
binary: bash
594-
include_expansions_in_env: ["MONGODB_URI"]
595-
args:
596-
- src/.evergreen/scripts/run-with-env.sh
597-
- src/.evergreen/scripts/run-load-balancer.sh
598-
- command: expansions.update
599-
params:
600-
file: lb-expansion.yml
601-
602-
"stop load-balancer":
603-
- command: subprocess.exec
604-
params:
605-
binary: bash
606-
args:
607-
- src/.evergreen/scripts/stop-load-balancer.sh
608-
609517
"teardown atlas":
610518
- command: subprocess.exec
611519
params:
@@ -882,6 +790,7 @@ tasks:
882790
- func: "run tests"
883791
vars:
884792
TEST_INDEX_MANAGEMENT: "1"
793+
AUTH: "auth"
885794

886795
- name: "mod-wsgi-standalone"
887796
tags: ["mod_wsgi"]
@@ -935,7 +844,7 @@ tasks:
935844
vars:
936845
VERSION: "8.0"
937846
TOPOLOGY: "replica_set"
938-
- func: "run direct tests"
847+
- func: "run tests"
939848

940849
- name: "atlas-connect"
941850
tags: ["atlas-connect"]
@@ -1503,7 +1412,7 @@ tasks:
15031412
- name: "testgcpkms-task"
15041413
commands:
15051414
- command: subprocess.exec
1506-
type: setup
1415+
type: test
15071416
params:
15081417
working_dir: "src"
15091418
binary: bash
@@ -1531,6 +1440,7 @@ tasks:
15311440
- name: testazurekms-task
15321441
commands:
15331442
- command: subprocess.exec
1443+
type: test
15341444
params:
15351445
binary: bash
15361446
working_dir: src

.evergreen/generated_configs/tasks.yml

+3-6
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@ tasks:
88
AUTH: auth
99
SSL: ssl
1010
LOAD_BALANCER: "true"
11-
- func: run load-balancer
1211
- func: run tests
1312
vars:
1413
AUTH: auth
1514
SSL: ssl
16-
test_loadbalancer: "true"
15+
TEST_LOADBALANCER: "true"
1716
tags: [load-balancer, auth, ssl]
1817
- name: test-load-balancer-noauth-ssl
1918
commands:
@@ -23,12 +22,11 @@ tasks:
2322
AUTH: noauth
2423
SSL: ssl
2524
LOAD_BALANCER: "true"
26-
- func: run load-balancer
2725
- func: run tests
2826
vars:
2927
AUTH: noauth
3028
SSL: ssl
31-
test_loadbalancer: "true"
29+
TEST_LOADBALANCER: "true"
3230
tags: [load-balancer, noauth, ssl]
3331
- name: test-load-balancer-noauth-nossl
3432
commands:
@@ -38,12 +36,11 @@ tasks:
3836
AUTH: noauth
3937
SSL: nossl
4038
LOAD_BALANCER: "true"
41-
- func: run load-balancer
4239
- func: run tests
4340
vars:
4441
AUTH: noauth
4542
SSL: nossl
46-
test_loadbalancer: "true"
43+
TEST_LOADBALANCER: "true"
4744
tags: [load-balancer, noauth, nossl]
4845

4946
# Server tests

0 commit comments

Comments
 (0)