refactor(proxy-client): упростить установщик пакета и shell-тесты

- install.sh ставит три прямые ссылки без Stow; чужие файлы не трогает
  и перечисляет все конфликты сразу; ~/.local и ~/.config могут быть
  ссылками; блок в ~/.bashrc дописывается, если нет маркера.
- proxy_on читает вывод proxy-client env без временного файла.
- Тесты Bash-функций работают через поддельный PROXY_CLIENT_BIN.
- test_proxy_client_full.sh запускает только тесты proxy-client,
  прогон под Python 3.8 — если есть uv.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
ddadminandClaude Opus 5.5 committed 2026-09-28 09:28:07 -04:00
1 parent 502f828c6f
commit 06ca4ab0c6
5 files changed
+281 -698

No files matched your search

+10 -12
View File
@@ -1,19 +1,17 @@
#!/usr/bin/env bash
# Все тесты proxy-client: Python-тесты (текущий python3 и, если есть uv,
# Python 3.8 — минимальная поддерживаемая версия) и shell-тесты.
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$REPO_ROOT"
if ! command -v uv >/dev/null 2>&1; then
echo "Ошибка: для полной проверки требуется uv" >&2
exit 1
fi
cd "$(dirname "${BASH_SOURCE[0]}")/.."
export PYTHONDONTWRITEBYTECODE=1
python3 -m unittest discover -s tests
python3 -m unittest discover -s tests -p 'test_proxy_*.py'
if command -v uv >/dev/null 2>&1; then
uv run --python 3.8 --no-project \
python -m unittest discover -s tests -p 'test_proxy_*.py'
else
echo "Предупреждение: uv не найден, прогон под Python 3.8 пропущен" >&2
fi
bash tests/test_proxy_launchers.sh
bash tests/test_chatgpt_proxy_launcher.sh
bash tests/test_proxy_client_install.sh
bash tests/test_install.sh
uv run --python 3.8 --no-project python -m unittest discover -s tests