mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-13 10:32:57 +01:00
96 lines
1.8 KiB
Batchfile
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!
|