Files
kabellaengen/bin/run_test.bat
T

107 lines
3.1 KiB
Batchfile

@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