#!/bin/bash # Test-Runner für Logseq-Installer Tests set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" TEST_DIR="${SCRIPT_DIR}/test" # Farben RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color echo -e "${GREEN}========================================${NC}" echo -e "${GREEN} Logseq-Installer Test Suite${NC}" echo -e "${GREEN}========================================${NC}" echo # Prüfen ob bats installiert ist if ! command -v bats &> /dev/null; then echo -e "${RED}Fehler: bats (Bash Automated Testing System) ist nicht installiert.${NC}" echo "Installation: sudo apt-get install bats # Debian/Ubuntu" echo " sudo dnf install bats # Fedora" echo " brew install bats-core # macOS" exit 1 fi # Mocks ausführbar machen chmod +x "${TEST_DIR}/mocks/"* # Test-Fixtures werden on-the-fly in den Tests erstellt (über VERSION_* Variablen) # Daher ist hier keine statische Vorbereitung mehr nötig. echo -e "${YELLOW}Führe Tests aus...${NC}" echo # Bats ausführen if bats "${TEST_DIR}/logseq-installer.bats"; then echo echo -e "${GREEN}========================================${NC}" echo -e "${GREEN} Alle Tests erfolgreich!${NC}" echo -e "${GREEN}========================================${NC}" exit 0 else echo echo -e "${RED}========================================${NC}" echo -e "${RED} Einige Tests fehlgeschlagen${NC}" echo -e "${RED}========================================${NC}" exit 1 fi