blob: 1db6a50f2c23344c69be818016a67f8c51953908 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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%
|