SDL/premake/MinGW/build-scripts/run.tests.bat
Ryan C. Gordon b72938c861 Windows: Always set the system timer resolution to 1ms by default.
An existing hint lets apps that don't need the timer resolution changed avoid
this, to save battery, etc, but this fixes several problems in timing, audio
callbacks not firing fast enough, etc.

Fixes Bugzilla #2944.
2015-04-20 12:22:44 -04:00

108 lines
2.3 KiB
Batchfile
Executable file

@echo off
cd ..\tests
call :pass checkkeys
call :pass loopwave
call :pass testatomic
call :pass testaudioinfo
call :pass testautomation
call :pass testdraw2
call :pass testdrawchessboard
call :pass testerror
call :pass testfile
call :pass testfilesystem
call :pass testgamecontroller
call :pass testgesture
call :pass testgl2
call :pass testgles
call :pass testhaptic
call :pass testiconv
call :pass testime
call :pass testintersection
call :pass testjoystick
call :pass testkeys
::call :pass testloadso
call :pass testlock
call :pass testmessage
call :pass testmultiaudio
call :pass testnative
call :pass testoverlay2
call :pass testplatform
call :pass testpower
call :pass testrelative
call :pass testrendercopyex
call :pass testrendertarget
call :pass testresample sample.wav newsample.wav 44100
call :pass testrumble
call :pass testscale
call :pass testsem 1
call :pass testshader
call :testspecial testshape .\shapes
call :testspecial testshape .\shapes
call :testspecial testshape .\shapes
call :pass testsprite2
call :pass testspriteminimal
call :pass teststreaming
call :pass testthread
call :pass testtimer
call :pass testver
call :pass testwm2
call :pass torturethread
:: leave the tests directory
cd ..
:: exit batch
goto :eof
:testspecial
if not exist %1\Win32\Debug goto :eof
cd %1\Win32\Debug
call :randomfile %2
cd ..\..\..
call :pass testshape %RETURN%
goto :eof
:: pass label (similar to pass function in the Xcode tests command script)
:pass
setlocal enabledelayedexpansion
set args=
set /A count=0
for %%x IN (%*) DO (
if NOT !count! EQU 0 set args=!args! %%x
set /A count=%count% + 1
)
endlocal & set callargs=%args%
:: if it does not exist, break procedure
if not exist %1\Win32\Debug goto endfunc
:: goto directory
echo Testing: %1
title Testing: %1
cd %1\Win32\Debug
:: execute test
".\%1.exe"%callargs%
cd ..\..\..
pause
:endfunc
goto :eof
:randomfile
setlocal enabledelayedexpansion
set count=0
if not exist %1 goto :eof
for %%d in (%1\*.*) DO (
set /A count=count + 1
)
set /A count=%RANDOM% %% %count%
for %%d in (%1\*.*) DO (
if !count! EQU 0 (
set rfile=%%d
goto endrfile
)
set /A count=count-1
)
:endrfile
set tmprfile=!rfile!
endlocal & set RETURN=%tmprfile%
goto :eof