1
0
mirror of https://github.com/Relintai/sdl2_frt.git synced 2024-12-20 22:16:49 +01:00
sdl2_frt/premake/MinGW/build-scripts/run.tests.bat
Philipp Wiesemann 0e45984fa0 Fixed crash if initialization of EGL failed but was tried again later.
The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly
uninitialized data structure if loading the library first failed. A later try to
use EGL then skipped initialization and assumed it was previously successful
because the data structure now already existed. This led to at least one crash
in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was
dereferenced to make a call to eglBindAPI().
2015-06-21 17:33:46 +02: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