@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