:: WML_tests.cmd : Run the WML unit tests specified in wml_test_schedule :: preamble: don't spam stdout with commands, don't expand ERRORLEVEL to 0 @echo off setlocal enabledelayedexpansion :: if OMP_WAIT_POLICY isn't set, the process restarts itself and !ERRORLEVEL!=0 set OMP_WAIT_POLICY=PASSIVE :: save file paths and command line arguments cd ..\..\ set LoadFile=wml_test_schedule set binary=%~f1%wesnoth.exe set opt=--log-strict=warning --noaddons echo running WML tests: set tSTART=%time% :: ignore lines beginning with # :: %%G contains whether the test should pass (0), timeout (2) or fail (1,4) :: %%H is the name of the WML unit test to be executed for /f "eol=# tokens=1,2 delims= " %%G in (%LoadFile%) do ( WindowsTimeout.exe "%binary% %opt% -u%%H" 20000 if !ERRORLEVEL! neq %%G ( if !ERRORLEVEL! equ 2 ( echo( echo WML_tests.cmd: Warning WML2: Test '%%H' timed out, expected return value %%G ) else ( echo( echo WML_tests.cmd: Error WML1: Test '%%H' returned !ERRORLEVEL!, expected %%G ) set /a "fail_num+=1" ) :: minimalistic progress bar