@echo off REM ================================================================ REM run_tests.bat - Testausfuehrung fuer SSG_LIB REM REM Schalter: REM --create Erzeugt Basis-DXF-Dateien (Testgrundlage) REM --check Fuehrt pytest-Validierung aus REM (ohne) Zeigt Hilfe an REM REM Beispiele: REM bin\run_tests.bat --create REM bin\run_tests.bat --create kreisel REM bin\run_tests.bat --check REM bin\run_tests.bat --check test_kreisel.py REM bin\run_tests.bat --create --check REM ================================================================ REM Umgebung setzen call "%~dp0setenv.bat" set DO_CREATE=0 set DO_CHECK=0 set CREATE_ARG= set CHECK_ARG= REM Argumente parsen :parse_args if "%~1"=="" goto :after_args if "%~1"=="--create" ( set DO_CREATE=1 if not "%~2"=="" if not "%~2"=="--check" ( set "CREATE_ARG=%~2" shift ) shift goto :parse_args ) if "%~1"=="--check" ( set DO_CHECK=1 if not "%~2"=="" if not "%~2"=="--create" ( set "CHECK_ARG=%~2" shift ) shift goto :parse_args ) echo Unbekannter Schalter: %~1 goto :show_help :after_args if %DO_CREATE%==0 if %DO_CHECK%==0 goto :show_help REM ================================================================ REM --create: Basis-DXF erzeugen REM ================================================================ if %DO_CREATE%==1 ( echo. echo ================================================================ echo TESTBASE ERZEUGEN echo ================================================================ if not "%CREATE_ARG%"=="" ( echo Modul: %CREATE_ARG% python "%DXFM_TESTS%\create_testbase.py" %CREATE_ARG% ) else ( echo Alle Module python "%DXFM_TESTS%\create_testbase.py" ) if errorlevel 1 ( echo. echo FEHLER: create_testbase.py fehlgeschlagen! exit /b 1 ) echo. echo Basis-DXF erfolgreich erstellt. echo Naechster Schritt: BricsCAD oeffnen und TESTRUN ausfuehren. ) REM ================================================================ REM --check: pytest-Validierung REM ================================================================ if %DO_CHECK%==1 ( echo. echo ================================================================ echo PYTEST VALIDIERUNG echo ================================================================ REM Pruefen ob output-Verzeichnis Ergebnisse enthaelt if not exist "%DXFM_TESTOUT%\*.json" ( echo. echo WARNUNG: Keine Ergebnisse in %DXFM_TESTOUT% echo Zuerst TESTRUN in BricsCAD ausfuehren! echo. ) if not "%CHECK_ARG%"=="" ( echo Teste: %CHECK_ARG% pytest "%DXFM_TESTS%\%CHECK_ARG%" -v ) else ( echo Teste: alle Module pytest "%DXFM_TESTS%" -v ) if errorlevel 1 ( echo. echo ================================================================ echo ERGEBNIS: TESTS FEHLGESCHLAGEN echo ================================================================ exit /b 1 ) echo. echo ================================================================ echo ERGEBNIS: ALLE TESTS BESTANDEN echo ================================================================ ) exit /b 0 :show_help echo. echo Aufruf: bin\run_tests.bat [--create [modul]] [--check [testdatei]] echo. echo Schalter: echo --create Erzeugt Basis-DXF-Dateien fuer alle Module echo --create kreisel Erzeugt nur Kreisel-Basis-DXF echo --check Fuehrt pytest-Validierung fuer alle Module aus echo --check test_kreisel.py Validiert nur Kreisel-Tests echo --create --check Beides nacheinander echo. echo Workflow: echo 1. bin\run_tests.bat --create echo 2. In BricsCAD: TESTRUN "kreisel" echo 3. bin\run_tests.bat --check echo. exit /b 1