adds proper detection of tests success/failure; clear that "error level" != "return code"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
c8551c294d
commit
7749be1236
@ -3,6 +3,14 @@
|
||||
REM Runs wxWidgets CppUnit tests
|
||||
REM This script is used to return the correct return value to the caller
|
||||
REM which is required by Buildbot to recognize failures.
|
||||
REM Note that in DOS error level is not the return code of the previous
|
||||
REM command; it is for (some!) built-in DOS commands like FIND but
|
||||
REM in general it's not. Thus to get the return code of the test utility
|
||||
REM we need some hack; see the guide:
|
||||
REM http://www.infionline.net/~wtnewton/batch/batguide.html
|
||||
REM for general info about DOS batch files.
|
||||
|
||||
REM Author: Francesco Montorsi
|
||||
REM $Id$
|
||||
|
||||
rem set the path for running the tests if they use DLL build of wx
|
||||
@ -12,8 +20,15 @@ set failure=0
|
||||
|
||||
for /d %%x in (*) do @(
|
||||
if exist %%x\test.exe (
|
||||
%%x\test.exe
|
||||
if %errorlevel% GEQ 1 set failure=1
|
||||
%%x\test.exe >tmp
|
||||
|
||||
REM show the output of the test in the buildbot log:
|
||||
type tmp
|
||||
|
||||
REM hack to understand if the tests succeeded or not
|
||||
REM (failure=1 is set if "OK" does not appear in the test output)
|
||||
type tmp | find "OK" >NUL
|
||||
if ERRORLEVEL 1 set failure=1
|
||||
|
||||
REM separe the output of the test we just executed from the next one
|
||||
echo.
|
||||
@ -25,13 +40,26 @@ for /d %%x in (*) do @(
|
||||
)
|
||||
|
||||
if exist %%x\test_gui.exe (
|
||||
%%x\test_gui.exe
|
||||
if %errorlevel% GEQ 1 set failure=1
|
||||
%%x\test_gui.exe >tmp
|
||||
|
||||
REM show the output of the test in the buildbot log:
|
||||
type tmp
|
||||
|
||||
REM hack to understand if the tests succeeded or not
|
||||
REM (failure=1 is set if "OK" does not appear in the test output)
|
||||
type tmp | find "OK" >NUL
|
||||
if ERRORLEVEL 1 set failure=1
|
||||
)
|
||||
)
|
||||
|
||||
REM exit with code 1 if any of the test failed
|
||||
if %failure% EQU 1 exit 1
|
||||
del tmp
|
||||
if %failure% EQU 1 (
|
||||
echo.
|
||||
echo One or more test failed
|
||||
echo.
|
||||
exit 1
|
||||
)
|
||||
|
||||
REM remove the failure env var:
|
||||
set failure=
|
||||
|
Loading…
Reference in New Issue
Block a user