fixed tests
[mono.git] / mcs / class / corlib / run-tests.test.bat
1 REM @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_MonoTests
34 set RUNNING_FIXTURE=MonoTests.System
35 set TEST_SOLUTION=Test\Mscorlib.Test20.sln
36 set TEST_ASSEMBLY=Mscorlib.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%\jgac\vmw4j2ee_110\
56 set JAVA_HOME=%VMW_HOME%\jre5
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.Configuration.jar
62 set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%J2SE.Helpers.jar
63 set NUNIT_OPTIONS=/exclude=NotWorking,NotDotNet
64
65 if "%GH_VERSION%"=="" (
66         set GH_VERSION=0_0_0_0
67 )
68
69 set COMMON_PREFIX=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%
70 set GH_OUTPUT_XML=%COMMON_PREFIX%.xml
71 set BUILD_LOG=%COMMON_PREFIX%.build.log
72 set RUN_LOG=%COMMON_PREFIX%.run.log
73
74 set NUNIT_PATH=..\..\nunit20\
75 set NUNIT_CLASSPATH=%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.framework.jar
76 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.util.jar
77 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.core.jar
78 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit-console.jar
79 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;.
80 set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%TEST_ASSEMBLY%
81
82 set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%"
83
84 REM ********************************************************
85 @echo Building GH solution...
86 REM ********************************************************
87
88 rem devenv %TEST_SOLUTION% /%BUILD_OPTION% %PROJECT_CONFIGURATION% >>%RUNNING_FIXTURE%_build.log.txt 2<&1
89 msbuild %TEST_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
90
91 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
92
93 REM ********************************************************
94 @echo Building NUnit solution...
95 REM ********************************************************
96
97 if "%NUNIT_BUILD%" == "DONE" goto NUNITSKIP
98
99 REM devenv ..\..\nunit20\nunit.java.sln /%BUILD_OPTION% %PROJECT_CONFIGURATION% >>%RUNNING_FIXTURE%_build.log.txt 2<&1
100 msbuild ..\..\nunit20\nunit20.java.sln /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
101
102 goto NUNITREADY
103
104 :NUNITSKIP
105 echo Skipping NUnit Build...
106
107 :NUNITREADY
108 set NUNIT_BUILD=DONE
109
110 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
111
112 REM ********************************************************
113 @echo Running GH tests...
114 REM ********************************************************
115
116 REM ********************************************************
117 @echo Running fixture "%RUNNING_FIXTURE%"
118 REM ********************************************************
119
120 copy %BACK_TO_ROOT_DIR%Test\bin\%PROJECT_CONFIGURATION%\%TEST_ASSEMBLY% .
121
122 REM @echo on
123 "%JAVA_HOME%\bin\java" -Xmx1024M -Djava.io.tmpdir="C:\Temp" -cp %CLASSPATH% NUnit.Console.ConsoleUi %TEST_ASSEMBLY% /fixture=%RUNNING_FIXTURE%  %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML% >>%RUN_LOG% 2<&1
124 REM @echo off
125
126 REM ********************************************************
127 @echo Build XmlTool
128 REM ********************************************************
129 set XML_TOOL_PATH=..\..\tools\mono-xmltool
130
131 if "%XMLTOOL_BUILD%" == "DONE" goto XMLTOOLSKIP
132
133 REM devenv %XML_TOOL_PATH%\XmlTool.sln /%BUILD_OPTION% %PROJECT_CONFIGURATION% >>%RUNNING_FIXTURE%_build.log.txt 2<&1
134 msbuild %XML_TOOL_PATH%\XmlTool20.vmwcsproj /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
135
136 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
137
138 goto XMLTOOLREADY
139
140 :XMLTOOLSKIP
141 echo Skipping XmlToll build...
142
143 :XMLTOOLREADY
144 set XMLTOOL_BUILD=DONE
145
146 copy %XML_TOOL_PATH%\bin\%PROJECT_CONFIGURATION%\xmltool.exe .
147 copy %XML_TOOL_PATH%\nunit_transform.xslt .
148
149 REM ********************************************************
150 @echo Analyze and print results
151 REM ********************************************************
152 @echo on
153 xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%
154 @echo off
155
156 :FINALLY
157 GOTO END
158
159 :ENVIRONMENT_EXCEPTION
160 @echo This test requires environment variable VMW_HOME to be defined
161 GOTO END
162
163 :BUILD_EXCEPTION
164 @echo Error in building solutions. See %BUILD_LOG% for details...
165 REM EXIT 1
166 GOTO END
167
168 :RUN_EXCEPTION
169 @echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...
170 REM EXIT 1
171 GOTO END
172
173 :USAGE
174 @echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"
175 GOTO END
176
177 :END
178 copy %RUN_LOG% ..\
179 copy %BUILD_LOG% ..\
180 copy %GH_OUTPUT_XML% ..\
181
182 REM EXIT 0