scripts: deduplicate container env args in dev_cli.sh

Extract a common_env_args bash array with the environment
variables shared by both unit and integration test containers
(BUILD_TARGET, RUSTFLAGS, TARGET_CC). The unit test block
uses common_env_args plus its own LLVM_PROFILE_FILE. After
the unit block, common_env_args is extended with the USER
and AUTH_DOWNLOAD_TOKEN variables used by all integration
test groups.

Assisted-by: GitHub Copilot:Claude-Opus-4.6

Signed-off-by: Muminul Islam <muislam@microsoft.com>
This commit is contained in:
Muminul Islam
2026-04-23 12:22:15 -07:00
committed by Rob Bradford
parent afeeeee494
commit 339d0a84f9

View File

@@ -480,6 +480,13 @@ cmd_tests() {
${exported_volumes:+$exported_volumes}
)
# Common base environment variables shared by all test container runs.
common_env_args=(
--env BUILD_TARGET="$target"
--env RUSTFLAGS="$rustflags"
--env TARGET_CC="$target_cc"
)
if [[ "$unit" = true ]]; then
say "Running unit tests for $target..."
run_container "$DOCKER_RUNTIME" run \
@@ -487,9 +494,7 @@ cmd_tests() {
--device $exported_device \
--device /dev/net/tun \
--cap-add net_admin \
--env BUILD_TARGET="$target" \
--env RUSTFLAGS="$rustflags" \
--env TARGET_CC="$target_cc" \
"${common_env_args[@]}" \
--env LLVM_PROFILE_FILE="$LLVM_PROFILE_FILE" \
"$CTR_IMAGE" \
./scripts/run_unit_tests.sh "$@" || fix_dir_perms $? || exit $?
@@ -505,16 +510,18 @@ cmd_tests() {
--volume "$CLH_INTEGRATION_WORKLOADS:$CTR_CLH_INTEGRATION_WORKLOADS"
)
# Extend common_env_args with integration-specific settings.
common_env_args+=(
--env USER="root"
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN"
)
if [ "$integration" = true ]; then
say "Running integration tests for $target..."
run_container "$DOCKER_RUNTIME" run \
"${common_args[@]}" \
--env USER="root" \
--env BUILD_TARGET="$target" \
--env RUSTFLAGS="$rustflags" \
--env TARGET_CC="$target_cc" \
"${common_env_args[@]}" \
--env PARALLEL_INTEGRATION_TESTS_NUM="${PARALLEL_INTEGRATION_TESTS_NUM:-}" \
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN" \
--env LLVM_PROFILE_FILE="$LLVM_PROFILE_FILE" \
--env MIGRATABLE_VERSION="$MIGRATABLE_VERSION" \
"$CTR_IMAGE" \
@@ -528,11 +535,7 @@ cmd_tests() {
run_container "$DOCKER_RUNTIME" run \
"${common_args[@]}" \
--volume "$DEST_IGVM_FILES_PATH:$CTR_IGVM_FILES_PATH" \
--env USER="root" \
--env BUILD_TARGET="$target" \
--env RUSTFLAGS="$rustflags" \
--env TARGET_CC="$target_cc" \
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN" \
"${common_env_args[@]}" \
--env LLVM_PROFILE_FILE="$LLVM_PROFILE_FILE" \
"$CTR_IMAGE" \
./scripts/run_integration_tests_cvm.sh "$@" || fix_dir_perms $? || exit $?
@@ -542,11 +545,7 @@ cmd_tests() {
say "Running VFIO integration tests for $target..."
run_container "$DOCKER_RUNTIME" run \
"${common_args[@]}" \
--env USER="root" \
--env BUILD_TARGET="$target" \
--env RUSTFLAGS="$rustflags" \
--env TARGET_CC="$target_cc" \
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN" \
"${common_env_args[@]}" \
"$CTR_IMAGE" \
./scripts/run_integration_tests_vfio.sh "$@" || fix_dir_perms $? || exit $?
fi
@@ -555,11 +554,7 @@ cmd_tests() {
say "Running Windows integration tests for $target..."
run_container "$DOCKER_RUNTIME" run \
"${common_args[@]}" \
--env USER="root" \
--env BUILD_TARGET="$target" \
--env RUSTFLAGS="$rustflags" \
--env TARGET_CC="$target_cc" \
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN" \
"${common_env_args[@]}" \
"$CTR_IMAGE" \
./scripts/run_integration_tests_windows_"$(uname -m)".sh "$@" || fix_dir_perms $? || exit $?
fi
@@ -568,11 +563,7 @@ cmd_tests() {
say "Running 'rate limiter' integration tests for $target..."
run_container "$DOCKER_RUNTIME" run \
"${common_args[@]}" \
--env USER="root" \
--env BUILD_TARGET="$target" \
--env RUSTFLAGS="$rustflags" \
--env TARGET_CC="$target_cc" \
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN" \
"${common_env_args[@]}" \
"$CTR_IMAGE" \
./scripts/run_integration_tests_rate_limiter.sh "$@" || fix_dir_perms $? || exit $?
fi
@@ -581,12 +572,8 @@ cmd_tests() {
say "Generating performance metrics for $target..."
run_container "$DOCKER_RUNTIME" run \
"${common_args[@]}" \
--env USER="root" \
--env BUILD_TARGET="$target" \
--env RUSTFLAGS="$rustflags" \
--env TARGET_CC="$target_cc" \
"${common_env_args[@]}" \
--env RUST_BACKTRACE="${RUST_BACKTRACE}" \
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN" \
"$CTR_IMAGE" \
./scripts/run_metrics.sh "$@" || fix_dir_perms $? || exit $?
fi
@@ -595,11 +582,7 @@ cmd_tests() {
say "Generating code coverage information for $target..."
run_container "$DOCKER_RUNTIME" run \
"${common_args[@]}" \
--env USER="root" \
--env BUILD_TARGET="$target" \
--env RUSTFLAGS="$rustflags" \
--env TARGET_CC="$target_cc" \
--env AUTH_DOWNLOAD_TOKEN="$AUTH_DOWNLOAD_TOKEN" \
"${common_env_args[@]}" \
"$CTR_IMAGE" \
dbus-run-session ./scripts/run_coverage.sh "$@" || fix_dir_perms $? || exit $?
fi