#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ENABLE_GPU=false CLEANUP=true usage() { cat <<'EOF' Usage: 00_e2e_test.sh [options] Options: --enable-gpu 启用 GPU 相关拓扑与测试流程 --no-clean 跳过清理流程(不执行 14 和 09) -h, --help 显示帮助信息 EOF } while [[ $# -gt 0 ]]; do case "$1" in --enable-gpu) ENABLE_GPU=true shift ;; --no-clean) CLEANUP=false shift ;; -h|--help) usage exit 0 ;; *) echo "Unknown argument: $1" >&2 usage exit 1 ;; esac done export ARGUS_SYS_ENABLE_GPU=$ENABLE_GPU # 基础步骤(不包含清理与下线) SCRIPTS=( "01_bootstrap.sh" "02_up.sh" "03_wait_ready.sh" "04_verify_dns_routing.sh" "05_agent_register.sh" "06_write_health_and_assert.sh" "07_logs_send_and_assert.sh" "08_restart_agent_reregister.sh" "10_metric_publish.sh" "11_metric_node_install.sh" "12_metric_gpu_install.sh" "13_metric_verify.sh" ) # 如未禁用清理,则追加清理与下线步骤(保持原有顺序) if [[ "$CLEANUP" == "true" ]]; then SCRIPTS+=( "14_metric_cleanup.sh" "09_down.sh" ) fi for script in "${SCRIPTS[@]}"; do echo "[SYS-E2E] Running $script" "$SCRIPT_DIR/$script" echo "[SYS-E2E] $script completed" echo done if [[ "$CLEANUP" == "true" ]]; then echo "[SYS-E2E] All tests completed" else echo "[SYS-E2E] All tests completed (cleanup skipped)" fi