Einzeltest kann zur Prüfung aufgerufen werden
This commit is contained in:
+111
@@ -0,0 +1,111 @@
|
||||
#!/bin/bash
|
||||
# ============================================================================
|
||||
# run_test.sh - Führt Tests für eine einzelne DXF-Datei aus
|
||||
#
|
||||
# Usage:
|
||||
# run_test.sh <filename> - Führt getexdraw Test aus
|
||||
# run_test.sh <filename> --clean - Führt Test aus und räumt auf
|
||||
# run_test.sh <filename> --ioconverter - Führt ioconverter Test aus
|
||||
# run_test.sh <filename> --translation - Führt translation Test aus
|
||||
#
|
||||
# Der Dateiname kann mit oder ohne .dxf Erweiterung angegeben werden.
|
||||
# Die Datei wird standardmäßig im testdata Ordner gesucht.
|
||||
# ============================================================================
|
||||
|
||||
# Funktion für Usage-Ausgabe
|
||||
usage() {
|
||||
echo ""
|
||||
echo "Usage: $(basename "$0") <filename> [OPTIONS]"
|
||||
echo ""
|
||||
echo "Argumente:"
|
||||
echo " filename Name der DXF-Datei (mit oder ohne .dxf Erweiterung)"
|
||||
echo " Die Datei wird im testdata Ordner gesucht."
|
||||
echo ""
|
||||
echo "Optionen:"
|
||||
echo " --clean Räumt das work-Verzeichnis nach dem Test auf"
|
||||
echo " --ioconverter Führt ioconverter Test aus (statt getexdraw)"
|
||||
echo " --translation Führt translation Test aus (statt getexdraw)"
|
||||
echo ""
|
||||
echo "Beispiele:"
|
||||
echo " $(basename "$0") easy"
|
||||
echo " $(basename "$0") easy.dxf"
|
||||
echo " $(basename "$0") easy --clean"
|
||||
echo " $(basename "$0") easy --ioconverter"
|
||||
echo " $(basename "$0") Erdungsbsp --translation"
|
||||
echo ""
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Prüfe ob Parameter übergeben wurde
|
||||
if [ $# -eq 0 ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
# Bestimme das Skript-Verzeichnis
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Umgebungsvariablen laden
|
||||
source "$SCRIPT_DIR/setenv.sh"
|
||||
|
||||
# Lade lokale Umgebungseinstellungen falls vorhanden
|
||||
if [ -f "$SCRIPT_DIR/_setenv.sh" ]; then
|
||||
echo "Lade lokale Umgebungseinstellungen aus _setenv.sh..."
|
||||
source "$SCRIPT_DIR/_setenv.sh"
|
||||
fi
|
||||
|
||||
# Dateinamen extrahieren (ohne Pfad und ohne .dxf Erweiterung)
|
||||
FILENAME=$(basename "$1" .dxf)
|
||||
|
||||
# Prüfe ob Datei im testdata Ordner existiert
|
||||
if [ ! -f "$PROJECT_TEST/$FILENAME.dxf" ]; then
|
||||
echo "Fehler: Datei $FILENAME.dxf nicht gefunden in $PROJECT_TEST"
|
||||
usage
|
||||
fi
|
||||
|
||||
# Sammle Parameter für run_tests.py
|
||||
TEST_PARAMS="--file $FILENAME"
|
||||
|
||||
# Verarbeite zusätzliche Parameter
|
||||
shift
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
--clean)
|
||||
TEST_PARAMS="$TEST_PARAMS --clean"
|
||||
;;
|
||||
--ioconverter)
|
||||
TEST_PARAMS="$TEST_PARAMS --ioconverter"
|
||||
;;
|
||||
--translation)
|
||||
TEST_PARAMS="$TEST_PARAMS --translation"
|
||||
;;
|
||||
*)
|
||||
# Unbekannte Parameter ignorieren
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "============================================================================"
|
||||
echo "Führe Test aus für: $FILENAME.dxf"
|
||||
echo "Test-Parameter: $TEST_PARAMS"
|
||||
echo "============================================================================"
|
||||
echo ""
|
||||
|
||||
# Wechsle ins Projektverzeichnis und führe run_tests.py aus
|
||||
cd "$PROJECT"
|
||||
python "$PROJECT_LIB/run_tests.py" $TEST_PARAMS
|
||||
|
||||
TEST_RESULT=$?
|
||||
|
||||
echo ""
|
||||
echo "============================================================================"
|
||||
if [ $TEST_RESULT -eq 0 ]; then
|
||||
echo "Test erfolgreich abgeschlossen für: $FILENAME.dxf"
|
||||
else
|
||||
echo "Test fehlgeschlagen für: $FILENAME.dxf"
|
||||
fi
|
||||
echo "============================================================================"
|
||||
echo ""
|
||||
|
||||
exit $TEST_RESULT
|
||||
Reference in New Issue
Block a user