- Adicionado estrutura completa do projeto - Configurado MCP server para Premiere Pro - Adicionado documentação e skills - Configurado Gitignore para o projeto
68 lines
2.1 KiB
Bash
Executable File
68 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Doza Assist - Testes automatizados (macOS)
|
|
# Sobe um nivel: o script vive em admin/, o projeto e a pasta pai
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
APP_DIR="$PROJECT_DIR/code"
|
|
VENV_PY="$APP_DIR/.venv/bin/python3"
|
|
|
|
# Cores (so quando a saida e um terminal)
|
|
if [ -t 1 ]; then
|
|
C_CYAN=$'\033[36m'; C_GREEN=$'\033[32m'; C_RED=$'\033[31m'
|
|
C_YELLOW=$'\033[33m'; C_OFF=$'\033[0m'
|
|
else
|
|
C_CYAN=''; C_GREEN=''; C_RED=''; C_YELLOW=''; C_OFF=''
|
|
fi
|
|
|
|
echo
|
|
echo "${C_CYAN}============================================================${C_OFF}"
|
|
echo "${C_CYAN} DOZA ASSIST - TESTES AUTOMATIZADOS${C_OFF}"
|
|
echo "${C_CYAN}============================================================${C_OFF}"
|
|
echo
|
|
|
|
if [ ! -x "$VENV_PY" ]; then
|
|
echo "${C_RED}ERRO: ambiente Python nao encontrado:${C_OFF}"
|
|
echo "${C_YELLOW}$VENV_PY${C_OFF}"
|
|
echo
|
|
echo "Execute primeiro a instalacao do projeto para criar a pasta .venv:"
|
|
echo " admin/install.command"
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
cd "$APP_DIR" || exit 1
|
|
export PYTHONUTF8=1
|
|
|
|
# pytest nao consta em requirements.txt; instala sob demanda no venv do projeto
|
|
if ! "$VENV_PY" -c "import pytest" >/dev/null 2>&1; then
|
|
echo "${C_YELLOW}pytest nao encontrado no venv. Instalando...${C_OFF}"
|
|
if ! "$VENV_PY" -m pip install -q pytest; then
|
|
echo "${C_RED}ERRO: falha ao instalar o pytest.${C_OFF}"
|
|
exit 1
|
|
fi
|
|
echo "${C_GREEN}pytest instalado.${C_OFF}"
|
|
echo
|
|
fi
|
|
|
|
echo "${C_CYAN}Cada teste aprovado aparecera abaixo como PASSED em verde.${C_OFF}"
|
|
echo "${C_CYAN}Falhas aparecerao como FAILED em vermelho, com o motivo resumido.${C_OFF}"
|
|
echo
|
|
|
|
"$VENV_PY" -m pytest -vv --tb=short -ra --color=yes "$@"
|
|
TEST_EXIT=$?
|
|
|
|
echo
|
|
echo "============================================================"
|
|
if [ "$TEST_EXIT" -eq 0 ]; then
|
|
echo "${C_GREEN} TODOS OS TESTES FORAM APROVADOS.${C_OFF}"
|
|
echo "============================================================"
|
|
echo
|
|
exit 0
|
|
fi
|
|
|
|
echo "${C_RED} EXISTEM TESTES COM FALHA. Veja os itens FAILED acima.${C_OFF}"
|
|
echo "============================================================"
|
|
echo
|
|
exit "$TEST_EXIT"
|