@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
REM setup all paths
PUSHD %~dp0\..\..\..
SET WORKSPACE=%CD%
POPD
cd %WORKSPACE%\kodi-build
SET builddeps_dir=%WORKSPACE%\project\BuildDependencies
SET msys_dir=%builddeps_dir%\msys64
IF NOT EXIST %msys_dir% (SET msys_dir=%builddeps_dir%\msys32)
SET awk_exe=%msys_dir%\usr\bin\awk.exe
SET sed_exe=%msys_dir%\usr\bin\sed.exe
REM read the version values from version.txt
FOR /f %%i IN ('%awk_exe% "/APP_NAME/ {print $2}" %WORKSPACE%\version.txt') DO SET APP_NAME=%%i
CLS
COLOR 1B
TITLE %APP_NAME% testsuite Build-/Runscript
rem -------------------------------------------------------------
rem CONFIG START
SET exitcode=0
SET useshell=sh
SET buildconfig=Release
SET PreferredToolArchitecture=x64
rem CONFIG END
rem -------------------------------------------------------------
echo Building %buildconfig%
IF EXIST buildlog.html del buildlog.html /q
ECHO Compiling testsuite...
cmake.exe --build . --config "%buildconfig%" --target %APP_NAME%-test
IF %errorlevel%==1 (
set DIETEXT="%APP_NAME%-test.exe failed to build! See %CD%\..\vs2010express\XBMC\%buildconfig%\objs\XBMC.log"
type "%CD%\..\vs2010express\XBMC\%buildconfig%\objs\XBMC.log"
goto DIE
)
ECHO Done building!
ECHO ------------------------------------------------------------
:RUNTESTSUITE
ECHO Running testsuite...
"%buildconfig%\%APP_NAME%-test.exe" --gtest_output=xml:%WORKSPACE%\gtestresults.xml
rem Adapt gtest xml output to be conform with junit xml
rem this basically looks for lines which have "notrun" in the tag
rem and adds a subtag into it. For example:
rem
rem becomes
rem
%sed_exe% "s/$/<\/testcase>/" %WORKSPACE%\gtestresults.xml > %WORKSPACE%\gtestresults-skipped.xml
del %WORKSPACE%\gtestresults.xml
move %WORKSPACE%\gtestresults-skipped.xml %WORKSPACE%\gtestresults.xml
ECHO Done running testsuite!
ECHO ------------------------------------------------------------
GOTO END
:DIE
ECHO ------------------------------------------------------------
ECHO !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-
ECHO ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR
ECHO !-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-
set DIETEXT=ERROR: %DIETEXT%
echo %DIETEXT%
SET exitcode=1
ECHO ------------------------------------------------------------
:END
EXIT /B %exitcode%