]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/runtests.bat
carbon sdk must be 10.7 max, 10.8 is not supported anymore
[wxWidgets.git] / tests / runtests.bat
index 3af08c67a638f99d0ec888fe66c7a25dda34c2a6..57aa7042342262a6ce9d2f7d0447ece371443c1a 100644 (file)
@@ -3,7 +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 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 $Id$
+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 set the path for running the tests if they use DLL build of wx
 for /d %%x in ("..\lib\*_dll") do @set PATH=%%x;%PATH%
 
 rem set the path for running the tests if they use DLL build of wx
 for /d %%x in ("..\lib\*_dll") do @set PATH=%%x;%PATH%
@@ -12,20 +19,64 @@ set failure=0
 
 for /d %%x in (*) do @(
     if exist %%x\test.exe (
 
 for /d %%x in (*) do @(
     if exist %%x\test.exe (
-        %%x\test.exe
-        if %errorlevel% GEQ 1 set failure=1
+        echo.
+        echo ========================================================================
+        echo Running non-GUI unit test
+        echo ========================================================================
+        echo.
+        %%x\test.exe -t >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.
+        echo ========================================================================
+        echo Non-GUI test done
+        echo ========================================================================
+        echo.
     )
     )
+    
     if exist %%x\test_gui.exe (
     if exist %%x\test_gui.exe (
-        %%x\test_gui.exe
-        if %errorlevel% GEQ 1 set failure=1
+        echo.
+        echo ========================================================================
+        echo Running GUI unit test
+        echo ========================================================================
+        echo.
+        %%x\test_gui.exe -t >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
+
+        echo.
+        echo ========================================================================
+        echo GUI test done
+        echo ========================================================================
+        echo.
     )
 )
 
 REM exit with code 1 if any of the test failed
     )
 )
 
 REM exit with code 1 if any of the test failed
-if %failure% EQU 1 exit /b 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=
 
 REM exit with code 0 (all tests passed successfully)
 
 REM remove the failure env var:
 set failure=
 
 REM exit with code 0 (all tests passed successfully)
-exit /b 0
+exit 0