2007-04-13 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / run-mono-tests.bat
1 @echo off\r
2 REM ********************************************************\r
3 REM This batch file receives the follwing parameters:\r
4 REM build/rebuild (optional): should the solution file be rebuilded \r
5 REM                             or just builded before test run (default is rebuild)\r
6 REM example run-tests build \r
7 REM will cause to build (and not rebuild) test solutions,\r
8 REM ********************************************************\r
9 \r
10 IF "%VMW_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION\r
11 \r
12 \r
13 \r
14 IF "%1"=="" (\r
15         set BUILD_OPTION=build\r
16 ) ELSE (\r
17         set BUILD_OPTION=%1\r
18 )\r
19 \r
20 REM ********************************************************\r
21 REM Set parameters\r
22 REM ********************************************************\r
23 \r
24 set OUTPUT_FILE_PREFIX=System_Web\r
25 set RUNNING_FIXTURE=System.Web\r
26 set TEST_SOLUTION=Test\TestMonoWeb.J2EE20.sln\r
27 set DEPLOY_PROJECT=Test\mainsoft\MainsoftWebApp20\MainsoftWebApp20.csproj\r
28 set TEST_ASSEMBLY=TestMonoWeb.jar\r
29 set PROJECT_CONFIGURATION=Debug_Java20\r
30 \r
31 \r
32 set startDate=%date%\r
33 set startTime=%time%\r
34 set sdy=%startDate:~10%\r
35 set /a sdm=1%startDate:~4,2% - 100\r
36 set /a sdd=1%startDate:~7,2% - 100\r
37 set /a sth=%startTime:~0,2%\r
38 set /a stm=1%startTime:~3,2% - 100\r
39 set /a sts=1%startTime:~6,2% - 100\r
40 set TIMESTAMP=%sdy%_%sdm%_%sdd%_%sth%_%stm%\r
41 \r
42 \r
43 REM ********************************************************\r
44 REM @echo Set environment\r
45 REM ********************************************************\r
46 \r
47 set JGAC_PATH=%VMW_HOME%\java_refs\framework\\r
48 set TOMCAT_PATH=%VMW_HOME%\jakarta-tomcat\common\lib\\r
49 set JAVA_HOME=%VMW_HOME%\jre\r
50 \r
51 set RUNTIME_CLASSPATH=%JGAC_PATH%mscorlib.jar\r
52 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.jar\r
53 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Xml.jar\r
54 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Web.jar\r
55 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Runtime.Serialization.Formatters.Soap.jar\r
56 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%Mainsoft.Web.jar\r
57 rem set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Drawing.jar\r
58 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%J2SE.Helpers.jar\r
59 \r
60 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%VMW_HOME%\java_refs\jdbc\derby.jar\r
61 \r
62 rem ./Test/mainsoft/MainsoftWebTest/bin/Debug_Java20/HtmlCompare.jar\r
63 \r
64 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;Test\mainsoft\NunitWeb\NunitWeb\bin\Debug_Java20\NunitWeb.jar\r
65 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;Test\mainsoft\MainsoftWebTest\bin\Debug_Java20\HtmlCompare.jar\r
66 \r
67 set TOMCAT_CLASSPATH=%TOMCAT_PATH%servlet-api.jar\r
68 set NUNIT_OPTIONS=/exclude=NotWorking\r
69 \r
70 if "%GH_VERSION%"=="" (\r
71         set GH_VERSION=0_0_0_0\r
72 )\r
73 \r
74 set COMMON_PREFIX=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%\r
75 set GH_OUTPUT_XML=%COMMON_PREFIX%.xml\r
76 set BUILD_LOG=%COMMON_PREFIX%.build.log\r
77 set RUN_LOG=%COMMON_PREFIX%.run.log\r
78 \r
79 set NUNIT_PATH=..\..\nunit20\\r
80 set NUNIT_CLASSPATH=%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.framework.jar\r
81 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.util.jar\r
82 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.core.jar\r
83 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit-console.jar\r
84 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;.\r
85 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%TEST_ASSEMBLY%\r
86 \r
87 set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%;%TOMCAT_CLASSPATH%"\r
88 \r
89 REM ********************************************************\r
90 @echo Building GH solution...\r
91 REM ********************************************************\r
92 xcopy /y Test\mainsoft\NunitWeb\NunitWeb\Resources\*.as* Test\mainsoft\MainsoftWebApp20\\r
93 xcopy /y Test\mainsoft\NunitWeb\NunitWeb\Resources\*.master Test\mainsoft\MainsoftWebApp20\\r
94 xcopy /y Test\mainsoft\NunitWebResources\*.* Test\mainsoft\MainsoftWebApp20\\r
95 pushd Test\mainsoft\MainsoftWebApp20\\r
96 xcopy /y WizardTest.skin App_Themes\Theme1\\r
97 xcopy /y Theme1.skin App_Themes\Theme1\\r
98 xcopy /y Theme2.skin App_Themes\Theme2\\r
99 mkdir XXX\r
100 for %%i in (*.as*) DO sed "s/CodeFile=/CodeBehind=/" %%i > XXX\%%i\r
101 move /Y XXX\* .\r
102 rmdir XXX\r
103 popd\r
104 \r
105 msbuild %TEST_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
106 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
107 \r
108 REM ********************************************************\r
109 @echo Deploying GH solution to tomcat...\r
110 REM ********************************************************\r
111 IF NOT DEFINED VMW_BUILDER GOTO MSBUILD_DEPLOY\r
112 set CATALINA_HOME=%VMW_HOME%\jakarta-tomcat\r
113 call "%VMW_HOME%\jakarta-tomcat\bin\shutdown.bat"\r
114 echo Waiting 5 sec for tomcat to stop....\r
115 @ping 127.0.0.1 -n 5 -w 1000 > nul\r
116 xcopy /Y Test\mainsoft\MainsoftWebApp20\bin\%PROJECT_CONFIGURATION%\MainsoftWebApp20.war "%VMW_HOME%\jakarta-tomcat\webapps"\r
117 call "%VMW_HOME%\jakarta-tomcat\bin\startup.bat"\r
118 echo Waiting 5 sec for tomcat to start....\r
119 @ping 127.0.0.1 -n 5 -w 1000 > nul\r
120 GOTO AFTER_DEPLOY\r
121 :MSBUILD_DEPLOY\r
122 echo msbuild %DEPLOY_PROJECT% /t:Deploy /p:Configuration=%PROJECT_CONFIGURATION% /p:Platform=AnyCPU >>%BUILD_LOG% \r
123 msbuild %DEPLOY_PROJECT% /t:Deploy /p:Configuration=%PROJECT_CONFIGURATION% /p:Platform=AnyCPU >>%BUILD_LOG% 2<&1\r
124 :AFTER_DEPLOY\r
125 \r
126 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
127 \r
128 IF "%BUILD_OPTION%"=="nobuild" GOTO RUN\r
129 \r
130 REM ********************************************************\r
131 @echo Building NUnit solution...\r
132 REM ********************************************************\r
133 \r
134 if "%NUNIT_BUILD%" == "DONE" goto NUNITSKIP\r
135 msbuild %NUNIT_PATH%\nunit20.java.sln /t:%BUILD_OPTION% /p:configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
136 \r
137 goto NUNITREADY\r
138 \r
139 :NUNITSKIP\r
140 echo Skipping NUnit Build...\r
141 \r
142 :NUNITREADY\r
143 set NUNIT_BUILD=DONE\r
144 \r
145 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
146 \r
147 :RUN\r
148 REM ********************************************************\r
149 @echo Running GH tests...\r
150 REM ********************************************************\r
151 \r
152 REM ********************************************************\r
153 @echo Running fixture "%RUNNING_FIXTURE%"\r
154 REM ********************************************************\r
155 \r
156 copy Test\bin\%PROJECT_CONFIGURATION%\%TEST_ASSEMBLY% .\r
157 \r
158 REM @echo on\r
159 "%JAVA_HOME%\bin\java" -Xmx1024M -cp %CLASSPATH% NUnit.Console.ConsoleUi %TEST_ASSEMBLY% %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML% >>%RUN_LOG% 2<&1\r
160 REM @echo off\r
161 \r
162 REM ********************************************************\r
163 @echo Build XmlTool\r
164 REM ********************************************************\r
165 set XML_TOOL_PATH=..\..\tools\mono-xmltool\r
166 \r
167 if "%XMLTOOL_BUILD%" == "DONE" goto XMLTOOLSKIP\r
168 \r
169 msbuild %XML_TOOL_PATH%\XmlTool20.csproj /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
170 \r
171 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
172 \r
173 goto XMLTOOLREADY\r
174 \r
175 :XMLTOOLSKIP\r
176 echo Skipping XmlToll build...\r
177 \r
178 :XMLTOOLREADY\r
179 set XMLTOOL_BUILD=DONE\r
180 \r
181 copy %XML_TOOL_PATH%\bin\%PROJECT_CONFIGURATION%\xmltool.exe .\r
182 copy %XML_TOOL_PATH%\nunit_transform.xslt .\r
183 \r
184 REM ********************************************************\r
185 @echo Analyze and print results\r
186 REM ********************************************************\r
187 @echo on\r
188 xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%\r
189 @echo off\r
190 \r
191 :FINALLY\r
192 GOTO END\r
193 \r
194 :ENVIRONMENT_EXCEPTION\r
195 @echo This test requires environment variable VMW_HOME to be defined\r
196 GOTO END\r
197 \r
198 :BUILD_EXCEPTION\r
199 @echo Error in building solutions. See %BUILD_LOG% for details...\r
200 REM EXIT 1\r
201 GOTO END\r
202 \r
203 :RUN_EXCEPTION\r
204 @echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...\r
205 REM EXIT 1\r
206 GOTO END\r
207 \r
208 :USAGE\r
209 @echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"\r
210 GOTO END\r
211 \r
212 :END\r
213 copy %RUN_LOG% ..\\r
214 copy %BUILD_LOG% ..\\r
215 copy %GH_OUTPUT_XML% ..\\r
216 \r
217 REM EXIT 0\r