51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/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 |