v0.0.3 published
This commit is contained in:
88
test/v0.0.3/linux/start_simple.sh
Normal file
88
test/v0.0.3/linux/start_simple.sh
Normal file
@@ -0,0 +1,88 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Docker Hexo Static Blog v0.0.3 - Linux Complete Test Suite Startup Script (Simplified)
|
||||
# 完整测试套件启动脚本 (简化版)
|
||||
|
||||
# 配置参数
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
DOCKERFILE_DIR="$(cd "$SCRIPT_DIR/../../../" && pwd)"
|
||||
LOG_DIR="$SCRIPT_DIR/logs"
|
||||
|
||||
# 测试脚本数组
|
||||
TESTS=(
|
||||
"build_test.sh"
|
||||
"run_test.sh"
|
||||
"functional_test.sh"
|
||||
"log_rotation_test.sh"
|
||||
"cleanup_test.sh"
|
||||
)
|
||||
|
||||
# 创建日志目录
|
||||
mkdir -p "$LOG_DIR"
|
||||
SUITE_LOG="$LOG_DIR/test_suite_$(date +%Y%m%d_%H%M%S).log"
|
||||
|
||||
echo "=== Docker Hexo Static Blog v0.0.3 - Linux 完整测试套件 ===" | tee "$SUITE_LOG"
|
||||
echo "开始时间: $(date)" | tee -a "$SUITE_LOG"
|
||||
echo "脚本位置: $SCRIPT_DIR" | tee -a "$SUITE_LOG"
|
||||
echo "Dockerfile 位置: $DOCKERFILE_DIR" | tee -a "$SUITE_LOG"
|
||||
echo "日志位置: $LOG_DIR" | tee -a "$SUITE_LOG"
|
||||
echo "" | tee -a "$SUITE_LOG"
|
||||
|
||||
# 清理旧资源(如果指定)
|
||||
if [ "${1:-}" = "--clean-start" ]; then
|
||||
echo "清理旧的测试资源..." | tee -a "$SUITE_LOG"
|
||||
docker stop hexo-test-v003 2>/dev/null || true
|
||||
docker rm hexo-test-v003 2>/dev/null || true
|
||||
docker rmi hexo-test:v0.0.3 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# 设置测试脚本权限
|
||||
chmod +x "$SCRIPT_DIR"/*.sh
|
||||
|
||||
# 运行测试
|
||||
passed_tests=0
|
||||
failed_tests=0
|
||||
total_tests=${#TESTS[@]}
|
||||
|
||||
for i in "${!TESTS[@]}"; do
|
||||
current=$((i + 1))
|
||||
script_name="${TESTS[$i]}"
|
||||
|
||||
echo "[$current/$total_tests] 运行测试: $script_name" | tee -a "$SUITE_LOG"
|
||||
|
||||
test_log="$LOG_DIR/${script_name%.sh}_$(date +%Y%m%d_%H%M%S).log"
|
||||
|
||||
# 运行测试脚本
|
||||
if bash "$SCRIPT_DIR/$script_name" > "$test_log" 2>&1; then
|
||||
echo "✓ $script_name 测试通过" | tee -a "$SUITE_LOG"
|
||||
((passed_tests++))
|
||||
else
|
||||
echo "✗ $script_name 测试失败" | tee -a "$SUITE_LOG"
|
||||
echo " 详细日志: $test_log" | tee -a "$SUITE_LOG"
|
||||
echo " 最后10行错误:" | tee -a "$SUITE_LOG"
|
||||
tail -10 "$test_log" | sed 's/^/ /' | tee -a "$SUITE_LOG"
|
||||
((failed_tests++))
|
||||
|
||||
# 默认继续执行其他测试
|
||||
if [ "${CONTINUE_ON_FAILURE:-true}" != "true" ]; then
|
||||
echo "测试失败,停止执行" | tee -a "$SUITE_LOG"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
echo "" | tee -a "$SUITE_LOG"
|
||||
done
|
||||
|
||||
# 生成最终报告
|
||||
echo "=== 测试套件执行完成 ===" | tee -a "$SUITE_LOG"
|
||||
echo "结束时间: $(date)" | tee -a "$SUITE_LOG"
|
||||
echo "通过测试: $passed_tests/$total_tests" | tee -a "$SUITE_LOG"
|
||||
echo "失败测试: $failed_tests/$total_tests" | tee -a "$SUITE_LOG"
|
||||
|
||||
if [ $failed_tests -eq 0 ]; then
|
||||
echo "🎉 所有测试都通过了!" | tee -a "$SUITE_LOG"
|
||||
exit 0
|
||||
else
|
||||
echo "❌ 有 $failed_tests 个测试失败" | tee -a "$SUITE_LOG"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user