2007-06-18 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.Configuration / run-tests.test.bat
1 @echo off
2 REM ********************************************************
3 REM This batch file receives the follwing parameters:
4 REM build/rebuild (optional): should the solution file be rebuilded 
5 REM                             or just builded before test run (default is rebuild)
6 REM output files name prefix (mandratory) : prefix for naming output xml files
7 REM test fixture name (optional) : if you want to run some particular test fixture
8 REM directory to run tests (optional)
9 REM path back to root directory (opposite to previous param)
10 REM example run-tests build GhTests Test.Sys.Drawing Test\DrawingTest\Test ..\..\..\
11 REM will cause to build (and not rebuild) test solutions,
12 REM running Test.Sys.Drawing fixture in directory Test\DrawingTest\Test
13 REM with output files named GhTests.Net.xml and GhTests.GH.xml
14 REM ********************************************************
15
16 IF "%1"=="" GOTO USAGE
17
18 IF "%VMW_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION
19
20
21
22 IF "%1"=="" (
23         set BUILD_OPTION=rebuild
24 ) ELSE (
25         set BUILD_OPTION=%1
26 )
27
28 REM ********************************************************
29 REM Set parameters
30 REM ********************************************************
31
32 set BUILD_OPTION=%1
33 set OUTPUT_FILE_PREFIX=System_Configuration_MonoTests
34 set RUNNING_FIXTURE=MonoTests.System.Configuration
35 set TEST_SOLUTION=Test\System.Configuration.Test20.sln
36 set TEST_ASSEMBLY=System.Configuration.Test20.jar
37 set PROJECT_CONFIGURATION=Debug_Java20
38
39
40 set startDate=%date%
41 set startTime=%time%
42 set sdy=%startDate:~10%
43 set /a sdm=1%startDate:~4,2% - 100
44 set /a sdd=1%startDate:~7,2% - 100
45 set /a sth=%startTime:~0,2%
46 set /a stm=1%startTime:~3,2% - 100
47 set /a sts=1%startTime:~6,2% - 100
48 set TIMESTAMP=%sdy%_%sdm%_%sdd%_%sth%_%stm%
49
50
51 REM ********************************************************
52 REM @echo Set environment
53 REM ********************************************************
54
55 set JGAC_PATH=%VMW_HOME%\java_refs\framework\
56 set JAVA_HOME=%VMW_HOME%\jre
57
58 set RUNTIME_CLASSPATH=%JGAC_PATH%mscorlib.jar
59 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.jar
60 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Xml.jar
61 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Web.jar
62 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Configuration.jar
63 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%J2SE.Helpers.jar
64 set NUNIT_OPTIONS=/exclude=NotWorking
65
66 if "%GH_VERSION%"=="" (
67         set GH_VERSION=0_0_0_0
68 )
69
70 set COMMON_PREFIX=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%
71 set GH_OUTPUT_XML=%COMMON_PREFIX%.xml
72 set BUILD_LOG=%COMMON_PREFIX%.build.log
73 set RUN_LOG=%COMMON_PREFIX%.run.log
74
75 set NUNIT_PATH=..\..\nunit20\
76 set NUNIT_CLASSPATH=%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.framework.jar
77 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.util.jar
78 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.core.jar
79 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit-console.jar
80 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;.
81 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%TEST_ASSEMBLY%
82
83 set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%"
84
85 REM ********************************************************
86 @echo Building GH solution...
87 REM ********************************************************
88
89 rem devenv %TEST_SOLUTION% /%BUILD_OPTION% %PROJECT_CONFIGURATION% >>%RUNNING_FIXTURE%_build.log.txt 2<&1
90 msbuild %TEST_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
91
92 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
93
94 REM ********************************************************
95 @echo Building NUnit solution...
96 REM ********************************************************
97
98 if "%NUNIT_BUILD%" == "DONE" goto NUNITSKIP
99
100 REM devenv ..\..\nunit20\nunit.java.sln /%BUILD_OPTION% %PROJECT_CONFIGURATION% >>%RUNNING_FIXTURE%_build.log.txt 2<&1
101 msbuild ..\..\nunit20\nunit20.java.sln /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
102
103 goto NUNITREADY
104
105 :NUNITSKIP
106 echo Skipping NUnit Build...
107
108 :NUNITREADY
109 set NUNIT_BUILD=DONE
110
111 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
112
113 REM ********************************************************
114 @echo Running GH tests...
115 REM ********************************************************
116
117 REM ********************************************************
118 @echo Running fixture "%RUNNING_FIXTURE%"
119 REM ********************************************************
120
121 copy %BACK_TO_ROOT_DIR%Test\bin\%PROJECT_CONFIGURATION%\%TEST_ASSEMBLY% .
122
123 @echo on
124 "%JAVA_HOME%\bin\java" -Xmx1024M -cp %CLASSPATH% NUnit.Console.ConsoleUi %TEST_ASSEMBLY% /fixture=%RUNNING_FIXTURE%  %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML% >>%RUN_LOG% 2<&1
125 @echo off
126
127 REM ********************************************************
128 @echo Build XmlTool
129 REM ********************************************************
130 set XML_TOOL_PATH=..\..\tools\mono-xmltool
131
132 if "%XMLTOOL_BUILD%" == "DONE" goto XMLTOOLSKIP
133
134 REM devenv %XML_TOOL_PATH%\XmlTool.sln /%BUILD_OPTION% %PROJECT_CONFIGURATION% >>%RUNNING_FIXTURE%_build.log.txt 2<&1
135 msbuild %XML_TOOL_PATH%\XmlTool20.csproj /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
136
137 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
138
139 goto XMLTOOLREADY
140
141 :XMLTOOLSKIP
142 echo Skipping XmlToll build...
143
144 :XMLTOOLREADY
145 set XMLTOOL_BUILD=DONE
146
147 copy %XML_TOOL_PATH%\bin\%PROJECT_CONFIGURATION%\xmltool.exe .
148 copy %XML_TOOL_PATH%\nunit_transform.xslt .
149
150 REM ********************************************************
151 @echo Analyze and print results
152 REM ********************************************************
153 @echo on
154 xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%
155 @echo off
156
157 :FINALLY
158 GOTO END
159
160 :ENVIRONMENT_EXCEPTION
161 @echo This test requires environment variable VMW_HOME to be defined
162 GOTO END
163
164 :BUILD_EXCEPTION
165 @echo Error in building solutions. See %BUILD_LOG% for details...
166 REM EXIT 1
167 GOTO END
168
169 :RUN_EXCEPTION
170 @echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...
171 REM EXIT 1
172 GOTO END
173
174 :USAGE
175 @echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"
176 GOTO END
177
178 :END
179 copy %RUN_LOG% ..\
180 copy %BUILD_LOG% ..\
181 copy %GH_OUTPUT_XML% ..\
182
183 REM EXIT 0