diff options
Diffstat (limited to 'tools/buildsteps/win32/run-tests.bat')
-rw-r--r-- | tools/buildsteps/win32/run-tests.bat | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/tools/buildsteps/win32/run-tests.bat b/tools/buildsteps/win32/run-tests.bat new file mode 100644 index 0000000000..1db6a50f2c --- /dev/null +++ b/tools/buildsteps/win32/run-tests.bat @@ -0,0 +1,99 @@ +@ECHO OFF +SETLOCAL ENABLEDELAYEDEXPANSION +REM setup all paths +SET cur_dir=%WORKSPACE%\project\Win32BuildSetup +cd %cur_dir% +SET base_dir=%cur_dir%\..\.. +SET builddeps_dir=%cur_dir%\..\..\project\BuildDependencies +SET bin_dir=%builddeps_dir%\bin +SET msys_bin_dir=%builddeps_dir%\msys\bin +REM read the version values from version.txt +FOR /f %%i IN ('%msys_bin_dir%\awk.exe "/APP_NAME/ {print $2}" %base_dir%\version.txt') DO SET APP_NAME=%%i +FOR /f %%i IN ('%msys_bin_dir%\awk.exe "/COMPANY_NAME/ {print $2}" %base_dir%\version.txt') DO SET COMPANY=%%i +FOR /f %%i IN ('%msys_bin_dir%\awk.exe "/WEBSITE/ {print $2}" %base_dir%\version.txt') DO SET WEBSITE=%%i + +CLS +COLOR 1B +TITLE %APP_NAME% testsuite Build-/Runscript + +rem ------------------------------------------------------------- +rem CONFIG START +SET exitcode=0 +SET useshell=sh +SET BRANCH=na +SET buildconfig=Debug Testsuite +set WORKSPACE=%CD%\..\.. + + + REM look for MSBuild.exe delivered with Visual Studio 2013 + FOR /F "tokens=2,* delims= " %%A IN ('REG QUERY HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions\12.0 /v MSBuildToolsRoot') DO SET MSBUILDROOT=%%B + SET NET="%MSBUILDROOT%12.0\bin\MSBuild.exe" + + IF EXIST "!NET!" ( + set msbuildemitsolution=1 + set OPTS_EXE="..\VS2010Express\XBMC for Windows.sln" /t:Build /p:Configuration="%buildconfig%" /property:VCTargetsPath="%MSBUILDROOT%Microsoft.Cpp\v4.0\V120" /m + set CLEAN_EXE="..\VS2010Express\XBMC for Windows.sln" /t:Clean /p:Configuration="%buildconfig%" /property:VCTargetsPath="%MSBUILDROOT%Microsoft.Cpp\v4.0\V120" + ) + + IF NOT EXIST %NET% ( + set DIETEXT=MSBuild was not found. + goto DIE + ) + + set EXE= "..\VS2010Express\XBMC\%buildconfig%\%APP_NAME%-test.exe" + set PDB= "..\VS2010Express\XBMC\%buildconfig%\%APP_NAME%.pdb" + + :: sets the BRANCH env var + call getbranch.bat + + rem CONFIG END + rem ------------------------------------------------------------- + +echo Building %buildconfig% +IF EXIST buildlog.html del buildlog.html /q + +ECHO Compiling testsuite... +%NET% %OPTS_EXE% + +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... + cd %WORKSPACE%\project\vs2010express\ + set KODI_HOME=%WORKSPACE% + set PATH=%WORKSPACE%\project\Win32BuildSetup\dependencies;%PATH% + rem exclude TestWebServer tests for now as those last 120 secs per test + rem not for some reason (maybe timeout?!? firewall?!? whatever...) + %EXE% --gtest_output=xml:%WORKSPACE%\gtestresults.xml --gtest_filter=-TestWebServer.* + + rem Adapt gtest xml output to be conform with junit xml + rem this basically looks for lines which have "notrun" in the <testcase /> tag + rem and adds a <skipped/> subtag into it. For example: + rem <testcase name="IsStarted" status="notrun" time="0" classname="TestWebServer"/> + rem becomes + rem <testcase name="IsStarted" status="notrun" time="0" classname="TestWebServer"><skipped/></testcase> + %msys_bin_dir%\sed.exe "s/<testcase\(.*\)\"notrun\"\(.*\)\/>$/<testcase\1\"notrun\"\2><skipped\/><\/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%
\ No newline at end of file |