Einzeltest kann zur Prüfung aufgerufen werden

This commit is contained in:
2025-12-16 16:32:51 +01:00
parent b89525556b
commit 57765706f7
2 changed files with 217 additions and 0 deletions
+106
View File
@@ -0,0 +1,106 @@
@echo off
REM ============================================================================
REM run_test.bat - Führt Tests für eine einzelne DXF-Datei aus
REM
REM Usage:
REM run_test.bat <filename> - Führt getexdraw Test aus
REM run_test.bat <filename> --clean - Führt Test aus und räumt auf
REM run_test.bat <filename> --ioconverter - Führt ioconverter Test aus
REM run_test.bat <filename> --translation - Führt translation Test aus
REM
REM Der Dateiname kann mit oder ohne .dxf Erweiterung angegeben werden.
REM Die Datei wird standardmäßig im testdata Ordner gesucht.
REM ============================================================================
if [%1]==[] goto usage
REM Umgebungsvariablen laden
call "%~dp0setenv.bat"
if exist "%~dp0_setenv.bat" (
echo Lade lokale Umgebungseinstellungen aus _setenv.bat...
call "%~dp0_setenv.bat"
)
REM Dateinamen extrahieren (ohne Pfad und ohne .dxf Erweiterung)
set "FILENAME=%~n1"
REM Prüfe ob Datei im testdata Ordner existiert
if not exist "%PROJECT_TEST%\%FILENAME%.dxf" (
echo Fehler: Datei %FILENAME%.dxf nicht gefunden in %PROJECT_TEST%
echo.
goto usage
)
REM Sammle zusätzliche Parameter für run_tests.py
set "TEST_PARAMS=--file %FILENAME%"
REM Prüfe auf zusätzliche Flags
:parse_args
if "%2"=="" goto run_test
if /i "%2"=="--clean" (
set "TEST_PARAMS=%TEST_PARAMS% --clean"
shift
goto parse_args
)
if /i "%2"=="--ioconverter" (
set "TEST_PARAMS=%TEST_PARAMS% --ioconverter"
shift
goto parse_args
)
if /i "%2"=="--translation" (
set "TEST_PARAMS=%TEST_PARAMS% --translation"
shift
goto parse_args
)
REM Unbekannte Parameter ignorieren oder durchreichen
shift
goto parse_args
:run_test
echo.
echo ============================================================================
echo Führe Test aus für: %FILENAME%.dxf
echo Test-Parameter: %TEST_PARAMS%
echo ============================================================================
echo.
REM Wechsle ins Projektverzeichnis und führe run_tests.py aus
cd /d "%PROJECT%"
python "%PROJECT_LIB%\run_tests.py" %TEST_PARAMS%
set TEST_RESULT=%ERRORLEVEL%
echo.
echo ============================================================================
if %TEST_RESULT% EQU 0 (
echo Test erfolgreich abgeschlossen für: %FILENAME%.dxf
) else (
echo Test fehlgeschlagen für: %FILENAME%.dxf
)
echo ============================================================================
echo.
exit /B %TEST_RESULT%
:usage
echo.
echo Usage: %~nx0 ^<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 %~nx0 easy
echo %~nx0 easy.dxf
echo %~nx0 easy --clean
echo %~nx0 easy --ioconverter
echo %~nx0 Erdungsbsp --translation
echo.
exit /B 1
+111
View File
@@ -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