test(xray-proxy): добавлена полная проверка Python 3.8
- Зачем: - требовалось подтвердить нижнюю версию Python и исключить переполнение /tmp тестовыми данными. - Что: - добавлен полный прогон под системным Python и CPython 3.8 через uv. - исправлены переносимость тестового Xray, уборка временных файлов и документация задачи 05. - добавлен список локальных навыков, исключаемых из Git. - Проверка: - bash tests/test_xray_proxy_full.sh.
This commit is contained in:
1 parent
92cf3397da
commit
fd8210db71
10 files changed
+234
-127
No files matched your search
+16
-16
@@ -3,6 +3,11 @@ set -euo pipefail
|
||||
|
||||
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
|
||||
# Один корневой временный каталог на прогон: тестовые деревья копируют заметную
|
||||
# часть репозитория и без уборки переполняют /tmp за несколько прогонов.
|
||||
TEST_TMP_ROOT="$(mktemp -d /tmp/dotfiles-install-test.XXXXXX)"
|
||||
trap 'rm -rf "$TEST_TMP_ROOT"' EXIT
|
||||
|
||||
fail() {
|
||||
echo "FAIL: $*" >&2
|
||||
exit 1
|
||||
@@ -21,26 +26,21 @@ assert_not_exists() {
|
||||
|
||||
setup_fixture() {
|
||||
local fixture_root repo_root bin_dir
|
||||
fixture_root="$(mktemp -d /tmp/dotfiles-install-test.XXXXXX)"
|
||||
fixture_root="$(mktemp -d "$TEST_TMP_ROOT/fixture.XXXXXX")"
|
||||
repo_root="$fixture_root/repo"
|
||||
bin_dir="$fixture_root/bin"
|
||||
|
||||
mkdir -p "$repo_root" "$bin_dir"
|
||||
cp -a \
|
||||
"$REPO_ROOT/install.sh" \
|
||||
"$REPO_ROOT/bash" \
|
||||
"$REPO_ROOT/tmux" \
|
||||
"$REPO_ROOT/vim" \
|
||||
"$REPO_ROOT/zed" \
|
||||
"$REPO_ROOT/vscode" \
|
||||
"$REPO_ROOT/agents" \
|
||||
"$REPO_ROOT/opencode" \
|
||||
"$REPO_ROOT/codex" \
|
||||
"$REPO_ROOT/gemini" \
|
||||
"$REPO_ROOT/claude" \
|
||||
"$REPO_ROOT/xray-proxy" \
|
||||
"$REPO_ROOT/scripts" \
|
||||
"$repo_root/"
|
||||
# Список файлов соответствует свежему клону: только отслеживаемые Git-файлы
|
||||
# (новые файлы видны после git add). Содержимое берётся из текущего рабочего
|
||||
# дерева. Локальные данные инструментов внутри пакетов (vscode/.vscode-server,
|
||||
# zed/.config/opencode и т.п.) весят гигабайты, переполняют /tmp и ломают
|
||||
# stow конфликтами, поэтому в тестовое дерево не попадает.
|
||||
git -C "$REPO_ROOT" ls-files -z --cached -- \
|
||||
install.sh bash tmux vim zed vscode agents opencode codex gemini \
|
||||
claude xray-proxy scripts \
|
||||
| tar -C "$REPO_ROOT" --null -T - -cf - \
|
||||
| tar -xf - -C "$repo_root"
|
||||
|
||||
cat > "$bin_dir/fake-git" <<'EOF'
|
||||
#!/usr/bin/env bash
|
||||
|
||||
Reference in new issue
Block a user