Skip to content

Commit b8c1364

Browse files
authored
PYTHON-3884 Replace uses of run-test.sh with tox (#1333)
1 parent e0b8b36 commit b8c1364

File tree

11 files changed

+153
-175
lines changed

11 files changed

+153
-175
lines changed

.evergreen/config.yml

Lines changed: 62 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,8 @@ functions:
359359
script: |
360360
set -o xtrace
361361
${PREPARE_SHELL}
362-
bash ${PROJECT_DIRECTORY}/.evergreen/tox.sh ${PYTHON_BINARY} -m test-mockupdb
362+
export PYTHON_BINARY=${PYTHON_BINARY}
363+
bash ${PROJECT_DIRECTORY}/.evergreen/tox.sh -m test-mockupdb
363364
364365
"run doctests":
365366
- command: shell.exec
@@ -379,7 +380,7 @@ functions:
379380
if [ -n "${test_encryption}" ]; then
380381
${PREPARE_SHELL}
381382
cd ${DRIVERS_TOOLS}/.evergreen/csfle
382-
. ./activate_venv.sh
383+
. ./activate-kmstlsvenv.sh
383384
fi
384385
# Run in the background so the mock servers don't block the EVG task.
385386
- command: shell.exec
@@ -389,7 +390,7 @@ functions:
389390
if [ -n "${test_encryption}" ]; then
390391
${PREPARE_SHELL}
391392
cd ${DRIVERS_TOOLS}/.evergreen/csfle
392-
. ./activate_venv.sh
393+
. ./activate-kmstlsvenv.sh
393394
# The -u options forces the stdout and stderr streams to be unbuffered.
394395
# TMPDIR is required to avoid "AF_UNIX path too long" errors.
395396
TMPDIR="$(dirname $DRIVERS_TOOLS)" python -u kms_kmip_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/server.pem --port 5698 &
@@ -404,7 +405,7 @@ functions:
404405
if [ -n "${test_encryption}" ]; then
405406
${PREPARE_SHELL}
406407
cd ${DRIVERS_TOOLS}/.evergreen/csfle
407-
. ./activate_venv.sh
408+
. ./activate-kmstlsvenv.sh
408409
for i in $(seq 1 1 10); do
409410
sleep 1
410411
if python -u kms_kmip_client.py; then
@@ -441,8 +442,8 @@ functions:
441442
params:
442443
working_dir: "src"
443444
script: |
445+
set -o xtrace
444446
if [ -n "${set_xtrace_on}" ]; then
445-
set -o xtrace
446447
export SET_XTRACE_ON="${set_xtrace_on}"
447448
fi
448449
${PREPARE_SHELL}
@@ -488,17 +489,20 @@ functions:
488489
export MULTI_MONGOS_LB_URI="${MONGODB_URI}"
489490
fi
490491
491-
MONGODB_VERSION=${VERSION} \
492-
PYTHON_BINARY=${PYTHON_BINARY} \
493-
GREEN_FRAMEWORK=${GREEN_FRAMEWORK} \
492+
export PYTHON_BINARY=${PYTHON_BINARY}
493+
if [ -z "$PYTHON_BINARY" ]; then
494+
export PYTHON_BINARY=${python3_binary}
495+
fi
496+
497+
GREEN_FRAMEWORK=${GREEN_FRAMEWORK} \
494498
C_EXTENSIONS=${C_EXTENSIONS} \
495499
COVERAGE=${COVERAGE} \
496500
COMPRESSORS=${COMPRESSORS} \
497501
AUTH=${AUTH} \
498502
SSL=${SSL} \
499-
DATA_LAKE=${DATA_LAKE} \
503+
TEST_DATA_LAKE=${TEST_DATA_LAKE} \
500504
MONGODB_API_VERSION=${MONGODB_API_VERSION} \
501-
bash ${PROJECT_DIRECTORY}/.evergreen/run-tests.sh
505+
bash ${PROJECT_DIRECTORY}/.evergreen/tox.sh -m test-eg
502506
503507
"run enterprise auth tests":
504508
- command: shell.exec
@@ -1198,6 +1202,7 @@ task_groups:
11981202
SERVERLESS_API_PRIVATE_KEY=${SERVERLESS_API_PRIVATE_KEY} \
11991203
SERVERLESS_INSTANCE_NAME=${SERVERLESS_INSTANCE_NAME} \
12001204
bash ${DRIVERS_TOOLS}/.evergreen/serverless/delete-instance.sh
1205+
- func: "upload test results"
12011206
tasks:
12021207
- ".serverless"
12031208

@@ -1235,52 +1240,54 @@ task_groups:
12351240
export GCPKMS_ZONE=${GCPKMS_ZONE}
12361241
export GCPKMS_INSTANCENAME=${GCPKMS_INSTANCENAME}
12371242
$DRIVERS_TOOLS/.evergreen/csfle/gcpkms/delete-instance.sh
1243+
- func: "upload test results"
12381244
tasks:
12391245
- testgcpkms-task
12401246

12411247
- name: testazurekms_task_group
12421248
setup_group:
1243-
- func: fetch source
1244-
- func: prepare resources
1245-
- func: fix absolute paths
1246-
- func: make files executable
1247-
- command: shell.exec
1248-
params:
1249-
silent: true
1250-
shell: bash
1251-
script: |-
1252-
set -o errexit
1253-
${PREPARE_SHELL}
1254-
echo '${testazurekms_publickey}' > /tmp/testazurekms_publickey
1255-
echo '${testazurekms_privatekey}' > /tmp/testazurekms_privatekey
1256-
# Set 600 permissions on private key file. Otherwise ssh / scp may error with permissions "are too open".
1257-
chmod 600 /tmp/testazurekms_privatekey
1258-
export AZUREKMS_CLIENTID="${testazurekms_clientid}"
1259-
export AZUREKMS_TENANTID="${testazurekms_tenantid}"
1260-
export AZUREKMS_SECRET="${testazurekms_secret}"
1261-
export AZUREKMS_DRIVERS_TOOLS="$DRIVERS_TOOLS"
1262-
export AZUREKMS_RESOURCEGROUP="${testazurekms_resourcegroup}"
1263-
export AZUREKMS_PUBLICKEYPATH="/tmp/testazurekms_publickey"
1264-
export AZUREKMS_PRIVATEKEYPATH="/tmp/testazurekms_privatekey"
1265-
export AZUREKMS_SCOPE="${testazurekms_scope}"
1266-
export AZUREKMS_VMNAME_PREFIX="PYTHON_DRIVER"
1267-
$DRIVERS_TOOLS/.evergreen/csfle/azurekms/create-and-setup-vm.sh
1268-
- command: expansions.update
1269-
params:
1270-
file: testazurekms-expansions.yml
1249+
- func: fetch source
1250+
- func: prepare resources
1251+
- func: fix absolute paths
1252+
- func: make files executable
1253+
- command: shell.exec
1254+
params:
1255+
silent: true
1256+
shell: bash
1257+
script: |-
1258+
set -o errexit
1259+
${PREPARE_SHELL}
1260+
echo '${testazurekms_publickey}' > /tmp/testazurekms_publickey
1261+
echo '${testazurekms_privatekey}' > /tmp/testazurekms_privatekey
1262+
# Set 600 permissions on private key file. Otherwise ssh / scp may error with permissions "are too open".
1263+
chmod 600 /tmp/testazurekms_privatekey
1264+
export AZUREKMS_CLIENTID="${testazurekms_clientid}"
1265+
export AZUREKMS_TENANTID="${testazurekms_tenantid}"
1266+
export AZUREKMS_SECRET="${testazurekms_secret}"
1267+
export AZUREKMS_DRIVERS_TOOLS="$DRIVERS_TOOLS"
1268+
export AZUREKMS_RESOURCEGROUP="${testazurekms_resourcegroup}"
1269+
export AZUREKMS_PUBLICKEYPATH="/tmp/testazurekms_publickey"
1270+
export AZUREKMS_PRIVATEKEYPATH="/tmp/testazurekms_privatekey"
1271+
export AZUREKMS_SCOPE="${testazurekms_scope}"
1272+
export AZUREKMS_VMNAME_PREFIX="PYTHON_DRIVER"
1273+
$DRIVERS_TOOLS/.evergreen/csfle/azurekms/create-and-setup-vm.sh
1274+
- command: expansions.update
1275+
params:
1276+
file: testazurekms-expansions.yml
12711277
teardown_group:
1272-
# Load expansions again. The setup task may have failed before running `expansions.update`.
1273-
- command: expansions.update
1274-
params:
1275-
file: testazurekms-expansions.yml
1276-
- command: shell.exec
1277-
params:
1278-
shell: bash
1279-
script: |-
1280-
${PREPARE_SHELL}
1281-
export AZUREKMS_VMNAME=${AZUREKMS_VMNAME}
1282-
export AZUREKMS_RESOURCEGROUP=${testazurekms_resourcegroup}
1283-
$DRIVERS_TOOLS/.evergreen/csfle/azurekms/delete-vm.sh
1278+
# Load expansions again. The setup task may have failed before running `expansions.update`.
1279+
- command: expansions.update
1280+
params:
1281+
file: testazurekms-expansions.yml
1282+
- command: shell.exec
1283+
params:
1284+
shell: bash
1285+
script: |-
1286+
${PREPARE_SHELL}
1287+
export AZUREKMS_VMNAME=${AZUREKMS_VMNAME}
1288+
export AZUREKMS_RESOURCEGROUP=${testazurekms_resourcegroup}
1289+
$DRIVERS_TOOLS/.evergreen/csfle/azurekms/delete-vm.sh
1290+
- func: "upload test results"
12841291
setup_group_can_fail_task: true
12851292
setup_group_timeout_secs: 1800
12861293
tasks:
@@ -1716,7 +1723,7 @@ tasks:
17161723
- func: "bootstrap data lake"
17171724
- func: "run tests"
17181725
vars:
1719-
DATA_LAKE: "true"
1726+
TEST_DATA_LAKE: "true"
17201727

17211728
- name: test-ocsp-rsa-valid-cert-server-staples
17221729
tags: ["ocsp", "ocsp-rsa", "ocsp-staple"]
@@ -2229,7 +2236,7 @@ tasks:
22292236
export GCPKMS_PROJECT=${GCPKMS_PROJECT}
22302237
export GCPKMS_ZONE=${GCPKMS_ZONE}
22312238
export GCPKMS_INSTANCENAME=${GCPKMS_INSTANCENAME}
2232-
GCPKMS_CMD="SUCCESS=true TEST_FLE_GCP_AUTO=1 LIBMONGOCRYPT_URL=https://s3.amazonaws.com/mciuploads/libmongocrypt/debian10/master/latest/libmongocrypt.tar.gz ./.evergreen/run-tests.sh" $DRIVERS_TOOLS/.evergreen/csfle/gcpkms/run-command.sh
2239+
GCPKMS_CMD="SUCCESS=true TEST_FLE_GCP_AUTO=1 LIBMONGOCRYPT_URL=https://s3.amazonaws.com/mciuploads/libmongocrypt/debian10/master/latest/libmongocrypt.tar.gz ./.evergreen/tox.sh -m test-eg" $DRIVERS_TOOLS/.evergreen/csfle/gcpkms/run-command.sh
22332240
22342241
- name: "testgcpkms-fail-task"
22352242
# testgcpkms-fail-task runs in a non-GCE environment.
@@ -2248,7 +2255,7 @@ tasks:
22482255
${PREPARE_SHELL}
22492256
export PYTHON_BINARY=/opt/mongodbtoolchain/v4/bin/python3
22502257
export LIBMONGOCRYPT_URL=https://s3.amazonaws.com/mciuploads/libmongocrypt/debian10/master/latest/libmongocrypt.tar.gz
2251-
SUCCESS=false TEST_FLE_GCP_AUTO=1 ./.evergreen/run-tests.sh
2258+
SUCCESS=false TEST_FLE_GCP_AUTO=1 ./.evergreen/tox.sh -m test-eg
22522259
22532260
- name: testazurekms-task
22542261
commands:
@@ -2282,7 +2289,7 @@ tasks:
22822289
export AZUREKMS_RESOURCEGROUP=${testazurekms_resourcegroup}
22832290
export AZUREKMS_VMNAME=${AZUREKMS_VMNAME}
22842291
export AZUREKMS_PRIVATEKEYPATH=/tmp/testazurekms_privatekey
2285-
AZUREKMS_CMD="KEY_NAME='${testazurekms_keyname}' KEY_VAULT_ENDPOINT='${testazurekms_keyvaultendpoint}' LIBMONGOCRYPT_URL=https://s3.amazonaws.com/mciuploads/libmongocrypt/debian10/master/latest/libmongocrypt.tar.gz SUCCESS=true TEST_FLE_AZURE_AUTO=1 ./.evergreen/run-tests.sh" \
2292+
AZUREKMS_CMD="KEY_NAME='${testazurekms_keyname}' KEY_VAULT_ENDPOINT='${testazurekms_keyvaultendpoint}' LIBMONGOCRYPT_URL=https://s3.amazonaws.com/mciuploads/libmongocrypt/debian10/master/latest/libmongocrypt.tar.gz SUCCESS=true TEST_FLE_AZURE_AUTO=1 ./.evergreen/tox.sh -m test-eg" \
22862293
$DRIVERS_TOOLS/.evergreen/csfle/azurekms/run-command.sh
22872294
22882295
- name: testazurekms-fail-task
@@ -2306,7 +2313,7 @@ tasks:
23062313
KEY_VAULT_ENDPOINT='${testazurekms_keyvaultendpoint}' \
23072314
LIBMONGOCRYPT_URL=https://s3.amazonaws.com/mciuploads/libmongocrypt/debian10/master/latest/libmongocrypt.tar.gz \
23082315
SUCCESS=false TEST_FLE_AZURE_AUTO=1 \
2309-
./.evergreen/run-tests.sh
2316+
./.evergreen/tox.sh -m test-eg
23102317
23112318
axes:
23122319
# Choice of distro

0 commit comments

Comments
 (0)