run -> run_tests

This commit is contained in:
Ryan Fleury
2026-06-02 12:11:07 -07:00
parent 4dd22c9e51
commit c746fadcaa
2 changed files with 90 additions and 90 deletions
+90 -90
View File
@@ -1,90 +1,90 @@
@echo off @echo off
setlocal enabledelayedexpansion setlocal enabledelayedexpansion
set TARGET_VALUES=radlink radbin mule_main mule_module torture set TARGET_VALUES=radlink radbin mule_main mule_module torture
set CC_VALUES=msvc clang set CC_VALUES=msvc clang
set MODE_VALUES=debug release set MODE_VALUES=debug release
set RAW_ARGS=%* set RAW_ARGS=%*
set TORTURE_ARGS= set TORTURE_ARGS=
set RUN_TORTURE=1 set RUN_TORTURE=1
:parse_args :parse_args
if "%~1" == "" goto parse_done if "%~1" == "" goto parse_done
if "%~1" == "--" goto parse_torture_args if "%~1" == "--" goto parse_torture_args
if /i "%~1" == "msvc" set CC_VALUES=msvc && shift /1 && goto parse_args if /i "%~1" == "msvc" set CC_VALUES=msvc && shift /1 && goto parse_args
if /i "%~1" == "clang" set CC_VALUES=clang && shift /1 && goto parse_args if /i "%~1" == "clang" set CC_VALUES=clang && shift /1 && goto parse_args
if /i "%~1" == "debug" set MODE_VALUES=debug && shift /1 && goto parse_args if /i "%~1" == "debug" set MODE_VALUES=debug && shift /1 && goto parse_args
if /i "%~1" == "release" set MODE_VALUES=release && shift /1 && goto parse_args if /i "%~1" == "release" set MODE_VALUES=release && shift /1 && goto parse_args
if /i "%~1" == "no_torture" set RUN_TORTURE=0 && shift /1 && goto parse_args if /i "%~1" == "no_torture" set RUN_TORTURE=0 && shift /1 && goto parse_args
echo usage: %~nx0 [msvc^|clang] [debug^|release] [no_torture] [-- torture-args] echo usage: %~nx0 [msvc^|clang] [debug^|release] [no_torture] [-- torture-args]
exit /b 1 exit /b 1
:parse_torture_args :parse_torture_args
shift /1 shift /1
if "%~1" == "" set "TORTURE_ARGS=" && goto parse_done if "%~1" == "" set "TORTURE_ARGS=" && goto parse_done
set "TORTURE_ARGS=%RAW_ARGS%" set "TORTURE_ARGS=%RAW_ARGS%"
if "%TORTURE_ARGS:~0,3%" == "-- " set "TORTURE_ARGS=%TORTURE_ARGS:~3%" && goto parse_done if "%TORTURE_ARGS:~0,3%" == "-- " set "TORTURE_ARGS=%TORTURE_ARGS:~3%" && goto parse_done
set "TORTURE_ARGS=%TORTURE_ARGS:* -- =%" set "TORTURE_ARGS=%TORTURE_ARGS:* -- =%"
:parse_done :parse_done
if not defined TORTURE_ARGS set "TORTURE_ARGS=* if not defined TORTURE_ARGS set "TORTURE_ARGS=*
for %%m in (%MODE_VALUES%) do for %%c in (%CC_VALUES%) do ( for %%m in (%MODE_VALUES%) do for %%c in (%CC_VALUES%) do (
setlocal setlocal
:: nuke artifacts from last run :: nuke artifacts from last run
if exist build/torture_artifacts rmdir /s /q build\torture_artifacts if exist build/torture_artifacts rmdir /s /q build\torture_artifacts
if exist build\metagen.exe del /q build\metagen.exe if exist build\metagen.exe del /q build\metagen.exe
for %%t in (%TARGET_VALUES%) do ( for %%t in (%TARGET_VALUES%) do (
if exist build\%%t.exe del /q build\%%t.exe if exist build\%%t.exe del /q build\%%t.exe
if exist build\%%t.pdb del /q build\%%t.pdb if exist build\%%t.pdb del /q build\%%t.pdb
) )
if "%%c" == "clang" ( if "%%c" == "clang" (
:: Prefer standalone LLVM clang over Visual Studio clang so ASAN runtime files match the compiler. :: Prefer standalone LLVM clang over Visual Studio clang so ASAN runtime files match the compiler.
set "clang_path=" set "clang_path="
for /f "tokens=*" %%i in ('where clang') do ( for /f "tokens=*" %%i in ('where clang') do (
set "candidate_clang_path=%%~dpi" set "candidate_clang_path=%%~dpi"
if "!candidate_clang_path:Microsoft Visual Studio=!"=="!candidate_clang_path!" ( if "!candidate_clang_path:Microsoft Visual Studio=!"=="!candidate_clang_path!" (
if not defined clang_path set "clang_path=!candidate_clang_path!" if not defined clang_path set "clang_path=!candidate_clang_path!"
) )
) )
if not defined clang_path ( if not defined clang_path (
echo ERROR: standalone LLVM clang not found in PATH echo ERROR: standalone LLVM clang not found in PATH
exit /b 1 exit /b 1
) )
set PATH=!clang_path!;!PATH! set PATH=!clang_path!;!PATH!
for /f "tokens=3 delims=. " %%v in ('clang -v 2^>^&1 ^| findstr version') do set clang_version=%%v for /f "tokens=3 delims=. " %%v in ('clang -v 2^>^&1 ^| findstr version') do set clang_version=%%v
if not defined clang_version ( if not defined clang_version (
echo ERROR: failed to detect clang version echo ERROR: failed to detect clang version
exit /b 1 exit /b 1
) )
set PATH=!clang_path!..\lib\clang\!clang_version!\lib\windows;!PATH! set PATH=!clang_path!..\lib\clang\!clang_version!\lib\windows;!PATH!
) )
:: TODO: unblock asan :: TODO: unblock asan
call build.bat meta %%c %%m raddbg raddbg_non_graphical || (endlocal exit /b 1) call build.bat meta %%c %%m raddbg raddbg_non_graphical || (endlocal exit /b 1)
:: clang does not compile with asan in release mode because it runs out of memory :: clang does not compile with asan in release mode because it runs out of memory
if "%%c" equ "clang" ( if "%%c" equ "clang" (
if /i "%%m" equ "release" ( if /i "%%m" equ "release" (
call build.bat no_meta %%c %%m !TARGET_VALUES! || (endlocal exit /b 1) call build.bat no_meta %%c %%m !TARGET_VALUES! || (endlocal exit /b 1)
) else ( ) else (
call build.bat asan no_meta %%c %%m !TARGET_VALUES! || (endlocal exit /b 1) call build.bat asan no_meta %%c %%m !TARGET_VALUES! || (endlocal exit /b 1)
) )
) else ( ) else (
call build.bat asan no_meta %%c %%m !TARGET_VALUES! || (endlocal exit /b 1) call build.bat asan no_meta %%c %%m !TARGET_VALUES! || (endlocal exit /b 1)
) )
if "%RUN_TORTURE%" equ "1" ( if "%RUN_TORTURE%" equ "1" (
pushd build pushd build
torture %TORTURE_ARGS% torture %TORTURE_ARGS%
popd popd
if errorlevel 1 ( if errorlevel 1 (
endlocal endlocal
exit /b 1 exit /b 1
) )
) )
endlocal endlocal
) )
Executable → Regular
View File