Einzeltest kann zur Prüfung aufgerufen werden
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
@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
|
||||
+111
@@ -0,0 +1,111 @@
|
||||
#!/bin/bash
|
||||
# ============================================================================
|
||||
# run_test.sh - Führt Tests für eine einzelne DXF-Datei aus
|
||||
#
|
||||
# Usage:
|
||||
# run_test.sh <filename> - Führt getexdraw Test aus
|
||||
# run_test.sh <filename> --clean - Führt Test aus und räumt auf
|
||||
# run_test.sh <filename> --ioconverter - Führt ioconverter Test aus
|
||||
# run_test.sh <filename> --translation - Führt translation Test aus
|
||||
#
|
||||
# Der Dateiname kann mit oder ohne .dxf Erweiterung angegeben werden.
|
||||
# Die Datei wird standardmäßig im testdata Ordner gesucht.
|
||||
# ============================================================================
|
||||
|
||||
# Funktion für Usage-Ausgabe
|
||||
usage() {
|
||||
echo ""
|
||||
echo "Usage: $(basename "$0") <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 " $(basename "$0") easy"
|
||||
echo " $(basename "$0") easy.dxf"
|
||||
echo " $(basename "$0") easy --clean"
|
||||
echo " $(basename "$0") easy --ioconverter"
|
||||
echo " $(basename "$0") Erdungsbsp --translation"
|
||||
echo ""
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Prüfe ob Parameter übergeben wurde
|
||||
if [ $# -eq 0 ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
# Bestimme das Skript-Verzeichnis
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Umgebungsvariablen laden
|
||||
source "$SCRIPT_DIR/setenv.sh"
|
||||
|
||||
# Lade lokale Umgebungseinstellungen falls vorhanden
|
||||
if [ -f "$SCRIPT_DIR/_setenv.sh" ]; then
|
||||
echo "Lade lokale Umgebungseinstellungen aus _setenv.sh..."
|
||||
source "$SCRIPT_DIR/_setenv.sh"
|
||||
fi
|
||||
|
||||
# Dateinamen extrahieren (ohne Pfad und ohne .dxf Erweiterung)
|
||||
FILENAME=$(basename "$1" .dxf)
|
||||
|
||||
# Prüfe ob Datei im testdata Ordner existiert
|
||||
if [ ! -f "$PROJECT_TEST/$FILENAME.dxf" ]; then
|
||||
echo "Fehler: Datei $FILENAME.dxf nicht gefunden in $PROJECT_TEST"
|
||||
usage
|
||||
fi
|
||||
|
||||
# Sammle Parameter für run_tests.py
|
||||
TEST_PARAMS="--file $FILENAME"
|
||||
|
||||
# Verarbeite zusätzliche Parameter
|
||||
shift
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
--clean)
|
||||
TEST_PARAMS="$TEST_PARAMS --clean"
|
||||
;;
|
||||
--ioconverter)
|
||||
TEST_PARAMS="$TEST_PARAMS --ioconverter"
|
||||
;;
|
||||
--translation)
|
||||
TEST_PARAMS="$TEST_PARAMS --translation"
|
||||
;;
|
||||
*)
|
||||
# Unbekannte Parameter ignorieren
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "============================================================================"
|
||||
echo "Führe Test aus für: $FILENAME.dxf"
|
||||
echo "Test-Parameter: $TEST_PARAMS"
|
||||
echo "============================================================================"
|
||||
echo ""
|
||||
|
||||
# Wechsle ins Projektverzeichnis und führe run_tests.py aus
|
||||
cd "$PROJECT"
|
||||
python "$PROJECT_LIB/run_tests.py" $TEST_PARAMS
|
||||
|
||||
TEST_RESULT=$?
|
||||
|
||||
echo ""
|
||||
echo "============================================================================"
|
||||
if [ $TEST_RESULT -eq 0 ]; then
|
||||
echo "Test erfolgreich abgeschlossen für: $FILENAME.dxf"
|
||||
else
|
||||
echo "Test fehlgeschlagen für: $FILENAME.dxf"
|
||||
fi
|
||||
echo "============================================================================"
|
||||
echo ""
|
||||
|
||||
exit $TEST_RESULT
|
||||
Reference in New Issue
Block a user