fixed tests
[mono.git] / mcs / class / System.Drawing / run-tests.test.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 output files name prefix (mandratory) : prefix for naming output xml files\r
7 REM test fixture name (optional) : if you want to run some particular test fixture\r
8 REM directory to run tests (optional)\r
9 REM path back to root directory (opposite to previous param)\r
10 REM example run-tests build GhTests Test.Sys.Drawing Test\DrawingTest\Test ..\..\..\\r
11 REM will cause to build (and not rebuild) test solutions,\r
12 REM running Test.Sys.Drawing fixture in directory Test\DrawingTest\Test\r
13 REM with output files named GhTests.Net.xml and GhTests.GH.xml\r
14 REM ********************************************************\r
15 \r
16 IF "%1"=="" GOTO USAGE\r
17 \r
18 IF "%VMW_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION\r
19 \r
20 \r
21 \r
22 IF "%1"=="" (\r
23         set BUILD_OPTION=rebuild\r
24 ) ELSE (\r
25         set BUILD_OPTION=%1\r
26 )\r
27 \r
28 REM ********************************************************\r
29 REM Set parameters\r
30 REM ********************************************************\r
31 \r
32 set BUILD_OPTION=%1\r
33 set OUTPUT_FILE_PREFIX=%2\r
34 set RUNNING_FIXTURE=%3\r
35 set RUNNING_DIR=%~4\r
36 set BACK_TO_ROOT_DIR=%~5\r
37 \r
38 set TEST_J2EE_SOLUTION=Test\System.Drawing.Test20.J2EE.sln\r
39 set TEST_NET_SOLUTION=Test\System.Drawing.Test20.sln\r
40 set TEST_J2EE_ASSEMBLY=System.Drawing.Test20.J2EE.jar\r
41 set TEST_NET_ASSEMBLY=System.Drawing.Test.dll\r
42 set PROJECT_J2EE_CONFIGURATION=Debug_Java20\r
43 set PROJECT_NET_CONFIGURATION=Debug\r
44 set NUNIT_CONSOLE_PATH="C:\Program Files\NUnit-Net-2.0 2.2.8\bin"\r
45 \r
46 set startDate=%date%\r
47 set startTime=%time%\r
48 set sdy=%startDate:~10%\r
49 set /a sdm=1%startDate:~4,2% - 100\r
50 set /a sdd=1%startDate:~7,2% - 100\r
51 set /a sth=%startTime:~0,2%\r
52 set /a stm=1%startTime:~3,2% - 100\r
53 set /a sts=1%startTime:~6,2% - 100\r
54 set TIMESTAMP=%sdy%_%sdm%_%sdd%_%sth%_%stm%\r
55 \r
56 \r
57 REM ********************************************************\r
58 REM @echo Set environment\r
59 REM ********************************************************\r
60 \r
61 set JGAC_PATH=%VMW_HOME%\jgac\vmw4j2ee_110\\r
62 set JAVA_HOME=%VMW_HOME%\jre5\r
63 \r
64 set RUNTIME_CLASSPATH=%JGAC_PATH%mscorlib.jar\r
65 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.jar\r
66 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Xml.jar\r
67 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%J2SE.Helpers.jar\r
68 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%jai_imageio.jar\r
69 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Drawing.jar;\r
70 set NUNIT_OPTIONS=/exclude=NotWorking\r
71 \r
72 if "%GH_VERSION%"=="" (\r
73         set GH_VERSION=0_0_0_0\r
74 )\r
75 \r
76 set COMMON_PREFIX=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%\r
77 set GH_OUTPUT_XML=%COMMON_PREFIX%.xml\r
78 set NET_OUTPUT_XML=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.Net.1.%USERNAME%.xml\r
79 set BUILD_LOG=%COMMON_PREFIX%.build.log\r
80 set RUN_LOG=%COMMON_PREFIX%.run.log\r
81 \r
82 set NUNIT_PATH=%BACK_TO_ROOT_DIR%..\..\nunit20\\r
83 set NUNIT_CLASSPATH=%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.framework.jar\r
84 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.util.jar\r
85 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.core.jar\r
86 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit-console.jar\r
87 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;.\r
88 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%TEST_ASSEMBLY%\r
89 \r
90 set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%"\r
91 \r
92 REM ********************************************************\r
93 @echo Building GH solution...\r
94 REM ********************************************************\r
95 \r
96 REM devenv Test\DrawingTest\System.Drawing.Test.sln /%BUILD_OPTION% Debug_Java >>%RUNNING_FIXTURE%_build.log.txt 2<&1\r
97 msbuild %TEST_J2EE_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_J2EE_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
98 \r
99 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
100 \r
101 REM ********************************************************\r
102 @echo Building NUnit solution...\r
103 REM ********************************************************\r
104 \r
105 if "%NUNIT_BUILD%" == "DONE" goto NUNITSKIP\r
106 \r
107 REM devenv ..\..\nunit20\nunit.java.sln /%BUILD_OPTION% Debug_Java >>%RUNNING_FIXTURE%_build.log.txt 2<&1\r
108 msbuild ..\..\nunit20\nunit20.java.sln /t:%BUILD_OPTION% /p:Configuration=%PROJECT_J2EE_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
109 \r
110 goto NUNITREADY\r
111 \r
112 :NUNITSKIP\r
113 echo Skipping NUnit Build...\r
114 \r
115 :NUNITREADY\r
116 set NUNIT_BUILD=DONE\r
117 \r
118 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
119 \r
120 REM ********************************************************\r
121 @echo Building .Net solution...\r
122 REM ********************************************************\r
123 \r
124 REM devenv Test\DrawingTest\System.Drawing.Test.dotnet.sln /%BUILD_OPTION% Debug >%RUNNING_FIXTURE%_build.log.txt 2<&1\r
125 msbuild %TEST_NET_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_NET_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
126 \r
127 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
128 \r
129 REM ********************************************************\r
130 @echo Running Net reference tests...\r
131 REM ********************************************************\r
132 \r
133 REM ********************************************************\r
134 @echo Running fixture "%RUNNING_FIXTURE%" (in .NET)\r
135 REM ********************************************************\r
136 \r
137 if "%RUNNING_DIR%" NEQ "" (\r
138         cd %RUNNING_DIR% )\r
139 \r
140 if not exist Exocortex.DSP.v1.dll (\r
141         copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\Exocortex.DSP.v1.dll .)\r
142 \r
143 if not exist DrawingTest.dll (\r
144         copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\DrawingTest.dll . )\r
145 \r
146 if not exist %TEST_NET_ASSEMBLY% (\r
147         copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\%TEST_NET_ASSEMBLY% . )\r
148 \r
149 copy "%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit-console.exe" .\r
150 copy "%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.util.dll" .\r
151 copy "%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.core.dll" .\r
152 copy "%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.framework.dll" .\r
153 echo "==== .NET reference ==="  >> %RUN_LOG%\r
154 nunit-console.exe /fixture:%RUNNING_FIXTURE% %TEST_NET_ASSEMBLY% %NUNIT_OPTIONS% /xml=%NET_OUTPUT_XML% >>%RUN_LOG% 2<&1\r
155 echo "==== End .NET reference ==="  >> %RUN_LOG%\r
156 \r
157 REM ********************************************************\r
158 @echo Running GH tests...\r
159 REM ********************************************************\r
160 \r
161 REM ********************************************************\r
162 @echo Running fixture "%RUNNING_FIXTURE%"\r
163 REM ********************************************************\r
164 \r
165 copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\bin\%PROJECT_J2EE_CONFIGURATION%\Exocortex.DSP.v1.jar .\r
166 copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\bin\%PROJECT_J2EE_CONFIGURATION%\DrawingTest.jar .\r
167 copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\bin\%PROJECT_J2EE_CONFIGURATION%\%TEST_J2EE_ASSEMBLY% .\r
168 \r
169 \r
170 REM @echo on\r
171 "%JAVA_HOME%\bin\java" -Xmx1024M -cp %CLASSPATH% NUnit.Console.ConsoleUi %TEST_J2EE_ASSEMBLY% /fixture=%RUNNING_FIXTURE%  %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML% >>%RUN_LOG% 2<&1\r
172 REM @echo off\r
173 \r
174 if "%RUNNING_DIR%" NEQ "" (\r
175         copy %NET_OUTPUT_XML% %BACK_TO_ROOT_DIR%\r
176         copy %GH_OUTPUT_XML% %BACK_TO_ROOT_DIR%\r
177         copy %RUN_LOG% %BACK_TO_ROOT_DIR%\r
178         cd %BACK_TO_ROOT_DIR% )\r
179 \r
180 REM ********************************************************\r
181 @echo Build XmlTool\r
182 REM ********************************************************\r
183 set XML_TOOL_PATH=..\..\tools\mono-xmltool\r
184 \r
185 if "%XMLTOOL_BUILD%" == "DONE" goto XMLTOOLSKIP\r
186 \r
187 REM devenv %XML_TOOL_PATH%\XmlTool.sln /%BUILD_OPTION% Debug_Java >>%RUNNING_FIXTURE%_build.log.txt 2<&1\r
188 msbuild %XML_TOOL_PATH%\XmlTool20.vmwcsproj /t:%BUILD_OPTION% /p:Configuration=%PROJECT_J2EE_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
189 \r
190 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
191 \r
192 goto XMLTOOLREADY\r
193 \r
194 :XMLTOOLSKIP\r
195 echo Skipping XmlToll build...\r
196 \r
197 :XMLTOOLREADY\r
198 set XMLTOOL_BUILD=DONE\r
199 \r
200 copy %XML_TOOL_PATH%\bin\%PROJECT_J2EE_CONFIGURATION%\xmltool.exe .\r
201 copy %XML_TOOL_PATH%\nunit_transform.xslt .\r
202 \r
203 REM ********************************************************\r
204 @echo Analyze and print results\r
205 REM ********************************************************\r
206 @echo on\r
207 xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%\r
208 @echo off\r
209 \r
210 :FINALLY\r
211 GOTO END\r
212 \r
213 :ENVIRONMENT_EXCEPTION\r
214 @echo This test requires environment variable VMW_HOME to be defined\r
215 GOTO END\r
216 \r
217 :BUILD_EXCEPTION\r
218 @echo Error in building solutions. See %BUILD_LOG% for details...\r
219 REM EXIT 1\r
220 GOTO END\r
221 \r
222 :RUN_EXCEPTION\r
223 @echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...\r
224 REM EXIT 1\r
225 GOTO END\r
226 \r
227 :USAGE\r
228 @echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"\r
229 GOTO END\r
230 \r
231 :END\r
232 \r
233 \r
234 copy %RUN_LOG% ..\\r
235 copy %BUILD_LOG% ..\\r
236 copy %GH_OUTPUT_XML% ..\\r
237 \r
238 REM EXIT 0\r