Skip to content

Commit 31cde95

Browse files
authored
Merge branch 'master' into PYTHON-5113
2 parents 4726c3c + 7ef18af commit 31cde95

File tree

128 files changed

+4965
-2706
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+4965
-2706
lines changed

.evergreen/config.yml

+40-783
Large diffs are not rendered by default.

.evergreen/generated_configs/tasks.yml

+1,413-495
Large diffs are not rendered by default.

.evergreen/generated_configs/variants.yml

+78-135
Large diffs are not rendered by default.

.evergreen/run-azurekms-fail-test.sh

-11
This file was deleted.

.evergreen/run-azurekms-test.sh

-28
This file was deleted.

.evergreen/run-gcpkms-test.sh

-25
This file was deleted.

.evergreen/run-mongodb-aws-ecs-test.sh

+3-4
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ apt-get -qq update < /dev/null > /dev/null
2626
apt-get -qq install $PYTHON_VER $PYTHON_VER-venv build-essential $PYTHON_VER-dev -y < /dev/null > /dev/null
2727

2828
export PYTHON_BINARY=$PYTHON_VER
29-
export TEST_AUTH_AWS=1
30-
export AUTH="auth"
3129
export SET_XTRACE_ON=1
3230
cd src
3331
rm -rf .venv
34-
bash ./.evergreen/just.sh setup-test
35-
bash .evergreen/just.sh test-eg
32+
rm -f .evergreen/scripts/test-env.sh || true
33+
bash ./.evergreen/just.sh setup-tests auth_aws ecs-remote
34+
bash .evergreen/just.sh run-tests

.evergreen/run-mongodb-oidc-test.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@ else
2929
exit 1
3030
fi
3131

32-
TEST_AUTH_OIDC=1 COVERAGE=1 AUTH="auth" bash ./.evergreen/just.sh setup-test
33-
bash ./.evergreen/just.sh test-eg "${@:1}"
32+
COVERAGE=1 bash ./.evergreen/just.sh setup-tests auth_oidc
33+
bash ./.evergreen/just.sh run-tests "${@:1}"

.evergreen/run-perf-tests.sh

+2-3
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ export TEST_PATH="${PROJECT_DIRECTORY}/specifications/source/benchmarking/data"
1414
export OUTPUT_FILE="${PROJECT_DIRECTORY}/results.json"
1515

1616
export PYTHON_BINARY=/opt/mongodbtoolchain/v4/bin/python3
17-
export PERF_TEST=1
1817

19-
bash ./.evergreen/just.sh setup-test
20-
bash ./.evergreen/just.sh test-eg
18+
bash ./.evergreen/just.sh setup-tests perf
19+
bash ./.evergreen/just.sh run-tests

.evergreen/run-tests.sh

+12-66
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
set -eu
33

44
SCRIPT_DIR=$(dirname ${BASH_SOURCE:-$0})
5-
ROOT_DIR="$(dirname "$(dirname $SCRIPT_DIR)")"
5+
SCRIPT_DIR="$( cd -- "$SCRIPT_DIR" > /dev/null 2>&1 && pwd )"
6+
ROOT_DIR="$(dirname $SCRIPT_DIR)"
67

7-
export PIP_QUIET=1 # Quiet by default
8-
export PIP_PREFER_BINARY=1 # Prefer binary dists by default
9-
export UV_FROZEN=1 # Do not modify lock files
8+
pushd $ROOT_DIR
109

1110
# Try to source the env file.
1211
if [ -f $SCRIPT_DIR/scripts/env.sh ]; then
@@ -16,77 +15,24 @@ else
1615
echo "Not sourcing env inputs"
1716
fi
1817

19-
# Ensure there are test inputs.
18+
# Handle test inputs.
2019
if [ -f $SCRIPT_DIR/scripts/test-env.sh ]; then
2120
echo "Sourcing test inputs"
2221
. $SCRIPT_DIR/scripts/test-env.sh
2322
else
24-
echo "Missing test inputs, please run 'just setup-test'"
23+
echo "Missing test inputs, please run 'just setup-tests'"
24+
exit 1
2525
fi
2626

2727
# Source the local secrets export file if available.
28-
if [ -f "$ROOT_DIR/secrets-export.sh" ]; then
29-
. "$ROOT_DIR/secrets-export.sh"
28+
if [ -f "./secrets-export.sh" ]; then
29+
. "./secrets-export.sh"
3030
fi
3131

32-
PYTHON_IMPL=$(uv run python -c "import platform; print(platform.python_implementation())")
33-
34-
# Ensure C extensions if applicable.
35-
if [ -z "${NO_EXT:-}" ] && [ "$PYTHON_IMPL" = "CPython" ]; then
36-
uv run --frozen tools/fail_if_no_c.py
37-
fi
38-
39-
if [ -n "${PYMONGOCRYPT_LIB:-}" ]; then
40-
# Ensure pymongocrypt is working properly.
41-
# shellcheck disable=SC2048
42-
uv run ${UV_ARGS} python -c "import pymongocrypt; print('pymongocrypt version: '+pymongocrypt.__version__)"
43-
# shellcheck disable=SC2048
44-
uv run ${UV_ARGS} python -c "import pymongocrypt; print('libmongocrypt version: '+pymongocrypt.libmongocrypt_version())"
45-
# PATH is updated by configure-env.sh for access to mongocryptd.
46-
fi
47-
48-
PYTHON_IMPL=$(uv run python -c "import platform; print(platform.python_implementation())")
49-
echo "Running ${AUTH:-noauth} tests over ${SSL:-nossl} with python $(uv python find)"
50-
uv run python -c 'import sys; print(sys.version)'
51-
52-
# Show the installed packages
53-
# shellcheck disable=SC2048
32+
# List the packages.
5433
PIP_QUIET=0 uv run ${UV_ARGS} --with pip pip list
5534

56-
# Record the start time for a perf test.
57-
if [ -n "${PERF_TEST:-}" ]; then
58-
start_time=$(date +%s)
59-
fi
35+
# Start the test runner.
36+
uv run ${UV_ARGS} .evergreen/scripts/run_tests.py "$@"
6037

61-
# Run the tests, and store the results in Evergreen compatible XUnit XML
62-
# files in the xunit-results/ directory.
63-
TEST_ARGS=${TEST_ARGS}
64-
if [ "$#" -ne 0 ]; then
65-
TEST_ARGS="$*"
66-
fi
67-
echo "Running tests with $TEST_ARGS and uv args $UV_ARGS..."
68-
if [ -z "${GREEN_FRAMEWORK:-}" ]; then
69-
# shellcheck disable=SC2048
70-
uv run ${UV_ARGS} pytest $TEST_ARGS
71-
else
72-
# shellcheck disable=SC2048
73-
uv run ${UV_ARGS} green_framework_test.py $GREEN_FRAMEWORK -v $TEST_ARGS
74-
fi
75-
echo "Running tests with $TEST_ARGS... done."
76-
77-
# Handle perf test post actions.
78-
if [ -n "${PERF_TEST:-}" ]; then
79-
end_time=$(date +%s)
80-
elapsed_secs=$((end_time-start_time))
81-
82-
cat results.json
83-
84-
echo "{\"failures\": 0, \"results\": [{\"status\": \"pass\", \"exit_code\": 0, \"test_file\": \"BenchMarkTests\", \"start\": $start_time, \"end\": $end_time, \"elapsed\": $elapsed_secs}]}" > report.json
85-
86-
cat report.json
87-
fi
88-
89-
# Handle coverage post actions.
90-
if [ -n "${COVERAGE:-}" ]; then
91-
rm -rf .pytest_cache
92-
fi
38+
popd

.evergreen/scripts/__init__.py

Whitespace-only changes.

.evergreen/scripts/bootstrap-mongo-orchestration.sh

-46
This file was deleted.

.evergreen/scripts/cleanup.sh

-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
#!/bin/bash
22

3-
if [ -f "$DRIVERS_TOOLS"/.evergreen/csfle/secrets-export.sh ]; then
4-
bash .evergreen/teardown-encryption.sh
5-
fi
63
rm -rf "${DRIVERS_TOOLS}" || true
74
rm -f ./secrets-export.sh || true

.evergreen/scripts/configure-env.sh

+3-20
Original file line numberDiff line numberDiff line change
@@ -55,24 +55,11 @@ export MONGODB_BINARIES="$DRIVERS_TOOLS/mongodb/bin"
5555
cat <<EOT > "$SCRIPT_DIR"/env.sh
5656
export PROJECT_DIRECTORY="$PROJECT_DIRECTORY"
5757
export CURRENT_VERSION="$CURRENT_VERSION"
58-
export SKIP_LEGACY_SHELL=1
5958
export DRIVERS_TOOLS="$DRIVERS_TOOLS"
6059
export MONGO_ORCHESTRATION_HOME="$MONGO_ORCHESTRATION_HOME"
6160
export MONGODB_BINARIES="$MONGODB_BINARIES"
6261
export DRIVERS_TOOLS_BINARIES="$DRIVERS_TOOLS_BINARIES"
6362
export PROJECT_DIRECTORY="$PROJECT_DIRECTORY"
64-
export SETDEFAULTENCODING="${SETDEFAULTENCODING:-}"
65-
export SKIP_CSOT_TESTS="${SKIP_CSOT_TESTS:-}"
66-
export MONGODB_STARTED="${MONGODB_STARTED:-}"
67-
export DISABLE_TEST_COMMANDS="${DISABLE_TEST_COMMANDS:-}"
68-
export GREEN_FRAMEWORK="${GREEN_FRAMEWORK:-}"
69-
export NO_EXT="${NO_EXT:-}"
70-
export COVERAGE="${COVERAGE:-}"
71-
export COMPRESSORS="${COMPRESSORS:-}"
72-
export MONGODB_API_VERSION="${MONGODB_API_VERSION:-}"
73-
export skip_crypt_shared="${skip_crypt_shared:-}"
74-
export STORAGE_ENGINE="${STORAGE_ENGINE:-}"
75-
export REQUIRE_API_VERSION="${REQUIRE_API_VERSION:-}"
7663
export skip_web_identity_auth_test="${skip_web_identity_auth_test:-}"
7764
export skip_ECS_auth_test="${skip_ECS_auth_test:-}"
7865
@@ -89,21 +76,17 @@ EOT
8976

9077
# Write the .env file for drivers-tools.
9178
rm -rf $DRIVERS_TOOLS
92-
git clone https://github.com/mongodb-labs/drivers-evergreen-tools.git $DRIVERS_TOOLS
79+
BRANCH=master
80+
ORG=mongodb-labs
81+
git clone --branch $BRANCH https://github.com/$ORG/drivers-evergreen-tools.git $DRIVERS_TOOLS
9382

9483
cat <<EOT > ${DRIVERS_TOOLS}/.env
9584
SKIP_LEGACY_SHELL=1
9685
DRIVERS_TOOLS="$DRIVERS_TOOLS"
9786
MONGO_ORCHESTRATION_HOME="$MONGO_ORCHESTRATION_HOME"
9887
MONGODB_BINARIES="$MONGODB_BINARIES"
99-
TMPDIR="$MONGO_ORCHESTRATION_HOME/db"
10088
EOT
10189

102-
# Skip CSOT tests on non-linux platforms.
103-
if [ "$(uname -s)" != "Linux" ]; then
104-
echo "export SKIP_CSOT_TESTS=1" >> $SCRIPT_DIR/env.sh
105-
fi
106-
10790
# Add these expansions to make it easier to call out tests scripts from the EVG yaml
10891
cat <<EOT > expansion.yml
10992
DRIVERS_TOOLS: "$DRIVERS_TOOLS"

0 commit comments

Comments
 (0)