@echo off REM ============================================================================ REM Tekton Dash — GUT Test Runner with Report Generation REM Usage: run_tests.cmd [test_file] REM No args = run ALL tests in tests/ REM With arg = run specific test, e.g. run_tests.cmd test_gauntlet_registration REM ============================================================================ setlocal EnableDelayedExpansion REM --- Config --- set GODOT_PATH=godot set PROJECT_PATH=%~dp0 set REPORT_DIR=%PROJECT_PATH%test_reports set TIMESTAMP=%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2% set TIMESTAMP=%TIMESTAMP: =0% set REPORT_FILE=%REPORT_DIR%\test_report_%TIMESTAMP%.txt REM --- Create report directory --- if not exist "%REPORT_DIR%" mkdir "%REPORT_DIR%" REM --- Determine test target --- set TEST_ARG= if not "%~1"=="" ( set TEST_ARG=-gtest=res://tests/%~1.gd echo Running specific test: %~1 ) else ( set TEST_ARG=-gdir=res://tests/ echo Running ALL tests in tests/ ) REM --- Header --- echo ============================================================================ > "%REPORT_FILE%" echo TEKTON DASH — Test Report >> "%REPORT_FILE%" echo Generated: %DATE% %TIME% >> "%REPORT_FILE%" echo Project: Tekton Dash Armageddon >> "%REPORT_FILE%" echo ============================================================================ >> "%REPORT_FILE%" echo. >> "%REPORT_FILE%" REM --- Run GUT tests via Godot headless --- echo Running tests... %GODOT_PATH% --headless --path "%PROJECT_PATH%" -s res://addons/gut/gut_cmdln.gd %TEST_ARG% -gexit 2>&1 | tee -a "%REPORT_FILE%" 2>nul REM Fallback if tee is not available (most Windows systems) if %ERRORLEVEL% neq 0 ( %GODOT_PATH% --headless --path "%PROJECT_PATH%" -s res://addons/gut/gut_cmdln.gd %TEST_ARG% -gexit >> "%REPORT_FILE%" 2>&1 ) REM --- Footer --- echo. >> "%REPORT_FILE%" echo ============================================================================ >> "%REPORT_FILE%" echo End of Report >> "%REPORT_FILE%" echo ============================================================================ >> "%REPORT_FILE%" echo. echo ============================================ echo Report saved to: %REPORT_FILE% echo ============================================ echo. REM --- Open report --- type "%REPORT_FILE%" endlocal