80 lines
2.3 KiB
Bash
Executable File
80 lines
2.3 KiB
Bash
Executable File
#!/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 "=========================================="
|