Files
dxfmakros/bin/run_tests.bat

97 lines
2.6 KiB
Batchfile

@echo off
REM ================================================================
REM run_tests.bat - Testausfuehrung fuer SSG_LIB
REM
REM Schalter:
REM --check Fuehrt pytest-Validierung aus
REM (ohne) Zeigt Hilfe an
REM
REM Beispiele:
REM bin\run_tests.bat --check
REM bin\run_tests.bat --check test_kreisel.py
REM ================================================================
REM Umgebung setzen
call "%~dp0setenv.bat"
REM Virtuelle Umgebung aktivieren
if exist "%DXFMAKRO%\.venv\Scripts\activate.bat" (
call "%DXFMAKRO%\.venv\Scripts\activate.bat"
) else (
echo WARNUNG: .venv nicht gefunden - pytest muss im PATH sein!
)
set DO_CHECK=0
set CHECK_ARG=
REM Argumente parsen
:parse_args
if "%~1"=="" goto :after_args
if "%~1"=="--check" (
set DO_CHECK=1
if not "%~2"=="" (
set "CHECK_ARG=%~2"
shift
)
shift
goto :parse_args
)
echo Unbekannter Schalter: %~1
goto :show_help
:after_args
if %DO_CHECK%==0 goto :show_help
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 --check [testdatei]
echo.
echo Schalter:
echo --check Fuehrt pytest-Validierung fuer alle Module aus
echo --check test_kreisel.py Validiert nur Kreisel-Tests
echo.
echo Workflow:
echo 1. In BricsCAD: SSG_RUN_ALL_TESTS ausfuehren
echo 2. bin\run_tests.bat --check
echo.
exit /b 1