From 11e09b5efeebd9249c8436f3a8f9013488f7f1dd Mon Sep 17 00:00:00 2001 From: Michael Barroco Date: Wed, 7 Oct 2026 12:05:19 +0200 Subject: [PATCH] [benchmarker] Fix unit test and add to CI --- monitoring/Makefile | 1 + monitoring/benchmarker/Makefile | 3 ++ .../loads/user_search/test_user_search.py | 2 +- .../scripts/in_container/run_unit_tests.sh | 19 +++++++++++++ .../benchmarker/scripts/run_unit_tests.sh | 28 +++++++++++++++++++ 5 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 monitoring/benchmarker/Makefile create mode 100755 monitoring/benchmarker/scripts/in_container/run_unit_tests.sh create mode 100755 monitoring/benchmarker/scripts/run_unit_tests.sh diff --git a/monitoring/Makefile b/monitoring/Makefile index ca81bd495f0..94eee51ab10 100644 --- a/monitoring/Makefile +++ b/monitoring/Makefile @@ -10,6 +10,7 @@ format: unit-test: cd uss_qualifier && make unit_test cd monitorlib && make unit_test + cd benchmarker && make unit_test image: ../uv.lock ../pyproject.toml $(shell find . -type f ! -path "*/output/*" ! -path "*/.*" ! -path "*/__pycache__/*" ! -name image ! -name image-dev ! -name "*.pyc") $(shell find ../interfaces -type f) ./build.sh diff --git a/monitoring/benchmarker/Makefile b/monitoring/benchmarker/Makefile new file mode 100644 index 00000000000..fe42ad0f5f5 --- /dev/null +++ b/monitoring/benchmarker/Makefile @@ -0,0 +1,3 @@ +.PHONY: unit_test +unit_test: + ./scripts/run_unit_tests.sh diff --git a/monitoring/benchmarker/engine/loads/user_search/test_user_search.py b/monitoring/benchmarker/engine/loads/user_search/test_user_search.py index 69d26fb565a..e2c4bd586d9 100644 --- a/monitoring/benchmarker/engine/loads/user_search/test_user_search.py +++ b/monitoring/benchmarker/engine/loads/user_search/test_user_search.py @@ -412,7 +412,7 @@ def fake_create_vu( with ( patch( - "monitoring.benchmarker.engine.loads.user_search.user_search.create_virtual_user", + "monitoring.benchmarker.engine.loads.step_execution.create_virtual_user", side_effect=fake_create_vu, ), ThreadPoolExecutor(max_workers=4) as executor, diff --git a/monitoring/benchmarker/scripts/in_container/run_unit_tests.sh b/monitoring/benchmarker/scripts/in_container/run_unit_tests.sh new file mode 100755 index 00000000000..4165994b17a --- /dev/null +++ b/monitoring/benchmarker/scripts/in_container/run_unit_tests.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +set -eo pipefail + +# This script is intended to be called from within a Docker container running +# the interuss/monitoring-dev image. In that context, this script runs the +# benchmarker unit tests. + +# Ensure benchmarker is the working directory +OS=$(uname) +if [[ $OS == "Darwin" ]]; then + # OSX uses BSD readlink + BASEDIR="$(dirname "$0")" +else + BASEDIR=$(readlink -e "$(dirname "$0")") +fi +cd "${BASEDIR}/../.." || exit 1 + +uv run pytest diff --git a/monitoring/benchmarker/scripts/run_unit_tests.sh b/monitoring/benchmarker/scripts/run_unit_tests.sh new file mode 100755 index 00000000000..c37cae1c983 --- /dev/null +++ b/monitoring/benchmarker/scripts/run_unit_tests.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +set -eo pipefail +set -o xtrace + +# Find and change to repo root directory +OS=$(uname) +if [[ "$OS" == "Darwin" ]]; then + # OSX uses BSD readlink + BASEDIR="$(dirname "$0")" +else + BASEDIR=$(readlink -e "$(dirname "$0")") +fi +cd "${BASEDIR}/../../.." || exit 1 + +( +cd monitoring || exit 1 +make image-dev +) + +# shellcheck disable=SC2086 +docker run --name benchmarker_unit_test \ + --rm \ + -e MONITORING_GITHUB_ROOT=${MONITORING_GITHUB_ROOT:-} \ + -v "$(pwd):/app" \ + -v /var/run/docker.sock:/var/run/docker.sock \ + interuss/monitoring-dev \ + benchmarker/scripts/in_container/run_unit_tests.sh