test runner dazu
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
@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
|
||||
Reference in New Issue
Block a user