poco/build/script/runtests2.cmd
2019-12-19 04:06:42 +01:00

96 lines
1.8 KiB
Batchfile

@echo off
rem
rem $Id$
rem
rem A script for running the POCO testsuites.
rem
rem usage: runtests2 [-64] [-d ] [component [test]]
rem
rem component : the component under test
rem test : the test as part of the component
rem If the environment variable EXCLUDE_TESTS is set, containing
rem a space-separated list of project names (as found in the
rem components file), these tests will be skipped.
rem
setlocal EnableDelayedExpansion
set TESTRUNNERARGS=-all
set TESTCOMPONENTS='C:\Windows\System32\findstr.exe /R "." components'
set BINDIR=bin
if "%1"=="-64" (
set BINDIR=bin64
shift
)
if "%1" =="-d" (
set DEBUG=d
shift
)
set PATH=%POCO_BASE%\%BINDIR%;%PATH%
set IGNORE=-ignore %POCO_BASE%\cppignore.win
if not "%1" == "" (
set TESTCOMPONENTS="%1"
if not "%2" == "" (
set TESTRUNNERARGS=%2
)
)
set TESTRUNNER=TestSuite%DEBUG%.exe
set runs=0
set failures=0
set failedTests=
set status=0
for /f %%C in ( %TESTCOMPONENTS% ) do (
set excluded=0
for %%X in (%EXCLUDE_TESTS%) do (
if "%%X"=="%%C" (
set excluded=1
)
)
if !excluded!==0 (
if exist %%C (
if exist %%C\testsuite (
if exist %%C\testsuite\%BINDIR%\%TESTRUNNER% (
echo.
echo.
echo ****************************************
echo *** %%C
echo ****************************************
echo.
set /a runs=!runs! + 1
set dir=%CD%
cd %%C\testsuite
echo %BINDIR%\%TESTRUNNER% %IGNORE% %TESTRUNNERARGS%
%BINDIR%\%TESTRUNNER% %IGNORE% %TESTRUNNERARGS%
if !ERRORLEVEL! neq 0 (
set /a failures=!failures! + 1
set failedTests=!failedTests! %%C
set status=1
)
cd !dir!
)
)
)
)
)
echo.
echo.
echo !runs! runs, !failures! failed.
echo.
for %%F in (!failedTests!) do (
echo Failed: %%F
)
echo.
exit /b !status!