118 lines
3.3 KiB
Batchfile
118 lines
3.3 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 Python-Umgebung aktivieren
|
|
CALL "%PROJECT_BIN%\manage_interpreter.bat" activate
|
|
if errorlevel 1 (
|
|
echo ERROR: Failed to activate Python environment
|
|
exit /b 1
|
|
)
|
|
|
|
REM Wechsle ins Projektverzeichnis und führe run_tests.py aus
|
|
pushd "%PROJECT%"
|
|
|
|
"%VIRTUAL_ENV%\Scripts\python.exe" -m lib.run_tests %TEST_PARAMS%
|
|
set TEST_RESULT=%ERRORLEVEL%
|
|
|
|
popd
|
|
REM Python-Umgebung deaktivieren
|
|
CALL "%PROJECT_BIN%\manage_interpreter.bat" deactivate
|
|
|
|
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
|