同步工作区更新:优化安装脚本与更新脚本,添加文档与测试脚本

This commit is contained in:
Cheng Zhou
2026-06-23 17:18:34 +08:00
parent efc325568d
commit 4bbc234b53
8 changed files with 1998 additions and 19 deletions
+79
View File
@@ -0,0 +1,79 @@
#!/bin/bash
# 测试更新脚本的各个功能模块
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR/.."
echo "=========================================="
echo "CTMS 更新脚本功能测试"
echo "=========================================="
echo ""
# 1. 测试帮助信息
echo "1. 测试帮助信息显示"
bash scripts/update.sh --help >/dev/null 2>&1 && echo " ✓ 帮助信息正常" || echo " ✗ 帮助信息失败"
echo ""
# 2. 测试参数解析
echo "2. 测试参数解析"
bash scripts/update.sh dev --repo-url https://test.git --branch main --yes --skip-backup 2>&1 | grep -q "确认更新参数" && echo " ✓ 参数解析正常" || echo " ✗ 参数解析失败"
echo ""
# 3. 测试 Git 检查
echo "3. 测试 Git 环境检查"
if git rev-parse --git-dir >/dev/null 2>&1; then
echo " ✓ Git 仓库检测正常"
else
echo " ✗ 不是 Git 仓库"
fi
echo ""
# 4. 测试项目身份验证
echo "4. 测试项目特征文件检查"
check_count=0
[[ -f "scripts/install.sh" ]] && ((check_count++))
[[ -f "docker-compose.yaml" ]] && ((check_count++))
[[ -f "backend/app/main.py" ]] && ((check_count++))
[[ -f "README.md" ]] && ((check_count++))
if [[ $check_count -ge 2 ]]; then
echo " ✓ 项目特征文件检测正常(找到 $check_count 个)"
else
echo " ✗ 项目特征文件不足(仅找到 $check_count 个)"
fi
echo ""
# 5. 测试脚本权限
echo "5. 测试脚本执行权限"
if [[ -x "scripts/update.sh" ]]; then
echo " ✓ 更新脚本可执行"
else
echo " ✗ 更新脚本不可执行"
fi
echo ""
# 6. 测试当前分支检测
echo "6. 测试当前分支检测"
current_branch=$(git branch --show-current 2>/dev/null || echo "unknown")
if [[ -n "$current_branch" && "$current_branch" != "unknown" ]]; then
echo " ✓ 当前分支: $current_branch"
else
echo " ✗ 无法检测当前分支"
fi
echo ""
# 7. 测试远程地址检测
echo "7. 测试远程仓库地址检测"
remote_url=$(git config "remote.origin.url" 2>/dev/null || echo "")
if [[ -n "$remote_url" ]]; then
echo " ✓ 远程地址: $remote_url"
else
echo " ✗ 未配置远程仓库"
fi
echo ""
echo "=========================================="
echo "测试完成!"
echo "=========================================="