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 ********************************************************
16 IF "%1"=="" GOTO USAGE
18 IF "%VMW_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION
23 set BUILD_OPTION=rebuild
28 REM ********************************************************
30 REM ********************************************************
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
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%
51 REM ********************************************************
52 REM @echo Set environment
53 REM ********************************************************
55 set JGAC_PATH=%VMW_HOME%\jgac\vmw4j2ee_110\
56 set JAVA_HOME=%VMW_HOME%\jre5
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
65 if "%GH_VERSION%"=="" (
66 set GH_VERSION=0_0_0_0
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
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%
82 set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%"
84 REM ********************************************************
85 @echo Building GH solution...
86 REM ********************************************************
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
91 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
93 REM ********************************************************
94 @echo Building NUnit solution...
95 REM ********************************************************
97 if "%NUNIT_BUILD%" == "DONE" goto NUNITSKIP
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
105 echo Skipping NUnit Build...
110 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
112 REM ********************************************************
113 @echo Running GH tests...
114 REM ********************************************************
116 REM ********************************************************
117 @echo Running fixture "%RUNNING_FIXTURE%"
118 REM ********************************************************
120 copy %BACK_TO_ROOT_DIR%Test\bin\%PROJECT_CONFIGURATION%\%TEST_ASSEMBLY% .
123 "%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
126 REM ********************************************************
128 REM ********************************************************
129 set XML_TOOL_PATH=..\..\tools\mono-xmltool
131 if "%XMLTOOL_BUILD%" == "DONE" goto XMLTOOLSKIP
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
136 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
141 echo Skipping XmlToll build...
144 set XMLTOOL_BUILD=DONE
146 copy %XML_TOOL_PATH%\bin\%PROJECT_CONFIGURATION%\xmltool.exe .
147 copy %XML_TOOL_PATH%\nunit_transform.xslt .
149 REM ********************************************************
150 @echo Analyze and print results
151 REM ********************************************************
153 xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%
159 :ENVIRONMENT_EXCEPTION
160 @echo This test requires environment variable VMW_HOME to be defined
164 @echo Error in building solutions. See %BUILD_LOG% for details...
169 @echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...
174 @echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"
180 copy %GH_OUTPUT_XML% ..\