#!/bin/bash
set -e

echo "1. 正在编译 git-cloak..."
cargo build --quiet

# 获取二进制文件的绝对路径
BINARY_DIR="$(pwd)/target/debug"
export PATH="$BINARY_DIR:$PATH"

echo "2. 验证二进制文件是否存在..."
if ! command -v git-cloak &> /dev/null; then
    echo "错误: git-cloak 不在 PATH 中"
    exit 1
fi

echo "3. 验证 git 是否识别了 cloak 子命令..."
if ! git cloak --version &> /dev/null; then
    echo "错误: git 无法识别 cloak 子命令"
    exit 1
fi
echo "成功: [$(git cloak --version)] 已识别！"

echo "4. 模拟真实仓库进行测试..."
TEST_DIR=$(mktemp -d -t git_cloak_test_XXXX)
cd "$TEST_DIR"
git init -q
touch private_secret.txt

echo "执行测试命令 (目前仅打印占位信息)..."
git cloak track private_secret.txt
git cloak inject

echo "---------------------------------------"
echo "验证结论: git cloak 命令环境已跑通！"
echo "你可以通过输入 'git cloak' 来像使用原生命令一样调用它。"
echo "测试目录将移入回收站: $TEST_DIR"
cd - > /dev/null
trash "$TEST_DIR"
