56 lines
1.5 KiB
Batchfile
56 lines
1.5 KiB
Batchfile
@echo off
|
|
setlocal
|
|
setlocal EnableDelayedExpansion
|
|
|
|
set TEST_ARGS=%*
|
|
|
|
set BUILD_ROOT=%~dp0\..\build
|
|
|
|
:: Unlike building, we don't need to limit ourselves to the Platform of the command window
|
|
set COMPILERS=clang msvc
|
|
set ARCHITECTURES=32 64
|
|
set BUILD_TYPES=debug release relwithdebinfo minsizerel
|
|
|
|
for %%c in (%COMPILERS%) do (
|
|
for %%a in (%ARCHITECTURES%) do (
|
|
for %%b in (%BUILD_TYPES%) do (
|
|
call :execute_tests %%c%%a%%b
|
|
if !ERRORLEVEL! NEQ 0 ( goto :eof )
|
|
)
|
|
)
|
|
)
|
|
|
|
goto :eof
|
|
|
|
:execute_tests
|
|
set BUILD_DIR=%BUILD_ROOT%\%1
|
|
if not exist %BUILD_DIR% ( goto :eof )
|
|
|
|
pushd %BUILD_DIR%
|
|
echo Running tests from %CD%
|
|
call :execute_test app witest.app.exe
|
|
if %ERRORLEVEL% NEQ 0 ( goto :execute_tests_done )
|
|
call :execute_test cpplatest witest.cpplatest.exe
|
|
if %ERRORLEVEL% NEQ 0 ( goto :execute_tests_done )
|
|
call :execute_test noexcept witest.noexcept.exe
|
|
if %ERRORLEVEL% NEQ 0 ( goto :execute_tests_done )
|
|
call :execute_test normal witest.exe
|
|
if %ERRORLEVEL% NEQ 0 ( goto :execute_tests_done )
|
|
call :execute_test sanitize-address witest.asan.exe
|
|
if %ERRORLEVEL% NEQ 0 ( goto :execute_tests_done )
|
|
call :execute_test sanitize-undefined-behavior witest.ubsan.exe
|
|
if %ERRORLEVEL% NEQ 0 ( goto :execute_tests_done )
|
|
call :execute_test win7 witest.win7.exe
|
|
if %ERRORLEVEL% NEQ 0 ( goto :execute_tests_done )
|
|
|
|
:execute_tests_done
|
|
set EXIT_CODE=%ERRORLEVEL%
|
|
popd
|
|
exit /B %EXIT_CODE%
|
|
|
|
:execute_test
|
|
if not exist tests\%1\%2 ( goto :eof )
|
|
echo Running %1 tests...
|
|
tests\%1\%2 %TEST_ARGS%
|
|
goto :eof
|