New test.
[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%"\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 %NUNIT_CONSOLE_PATH%\nunit-console.exe /fixture:%RUNNING_FIXTURE% %TEST_NET_ASSEMBLY% %NUNIT_OPTIONS% /xml=%NET_OUTPUT_XML% >>%RUN_LOG% 2<&1\r
154 \r
155 \r
156 REM ********************************************************\r
157 @echo Running GH tests...\r
158 REM ********************************************************\r
159 \r
160 REM ********************************************************\r
161 @echo Running fixture "%RUNNING_FIXTURE%"\r
162 REM ********************************************************\r
163 \r
164 copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\bin\%PROJECT_J2EE_CONFIGURATION%\Exocortex.DSP.v1.jar .\r
165 copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\bin\%PROJECT_J2EE_CONFIGURATION%\DrawingTest.jar .\r
166 copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\bin\%PROJECT_J2EE_CONFIGURATION%\%TEST_J2EE_ASSEMBLY% .\r
167 \r
168 \r
169 REM @echo on\r
170 "%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
171 REM @echo off\r
172 \r
173 if "%RUNNING_DIR%" NEQ "" (\r
174         copy %NET_OUTPUT_XML% %BACK_TO_ROOT_DIR%\r
175         copy %GH_OUTPUT_XML% %BACK_TO_ROOT_DIR%\r
176         copy %RUN_LOG% %BACK_TO_ROOT_DIR%\r
177         cd %BACK_TO_ROOT_DIR% )\r
178 \r
179 REM ********************************************************\r
180 @echo Build XmlTool\r
181 REM ********************************************************\r
182 set XML_TOOL_PATH=..\..\tools\mono-xmltool\r
183 REM devenv %XML_TOOL_PATH%\XmlTool.sln /%BUILD_OPTION% Debug_Java >>%RUNNING_FIXTURE%_build.log.txt 2<&1\r
184 msbuild %XML_TOOL_PATH%\XmlTool20.vmwcsproj /t:%BUILD_OPTION% /p:Configuration=%PROJECT_J2EE_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
185 \r
186 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
187 \r
188 copy %XML_TOOL_PATH%\bin\%PROJECT_J2EE_CONFIGURATION%\xmltool.exe .\r
189 copy %XML_TOOL_PATH%\nunit_transform.xslt .\r
190 \r
191 REM ********************************************************\r
192 @echo Analyze and print results\r
193 REM ********************************************************\r
194 @echo on\r
195 xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%\r
196 @echo off\r
197 \r
198 :FINALLY\r
199 GOTO END\r
200 \r
201 :ENVIRONMENT_EXCEPTION\r
202 @echo This test requires environment variable VMW_HOME to be defined\r
203 GOTO END\r
204 \r
205 :BUILD_EXCEPTION\r
206 @echo Error in building solutions. See %BUILD_LOG% for details...\r
207 REM EXIT 1\r
208 GOTO END\r
209 \r
210 :RUN_EXCEPTION\r
211 @echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...\r
212 REM EXIT 1\r
213 GOTO END\r
214 \r
215 :USAGE\r
216 @echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"\r
217 GOTO END\r
218 \r
219 :END\r
220 \r
221 \r
222 copy %RUN_LOG% ..\\r
223 copy %BUILD_LOG% ..\\r
224 copy %GH_OUTPUT_XML% ..\\r
225 \r
226 REM EXIT 0\r