2007-11-07 Igor Zelmanovich <igorz@mainsoft.com>
[mono.git] / mcs / class / System.Web / run-mono-tests.bat
index 92631d05d0b881c0d3a6aad4fdba092c4b0657f2..d224c86b6aa347e712a758a10737cfb35a037c9a 100755 (executable)
@@ -1,4 +1,4 @@
-rem @echo off\r
+@echo off\r
 REM ********************************************************\r
 REM This batch file receives the follwing parameters:\r
 REM build/rebuild (optional): should the solution file be rebuilded \r
@@ -7,37 +7,125 @@ REM example run-tests build
 REM will cause to build (and not rebuild) test solutions,\r
 REM ********************************************************\r
 \r
-IF "%JAVA_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION\r
+IF "%VMW_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION\r
 \r
-IF "%GH_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION\r
-IF "%GHROOT%"=="" set GHROOT=%GH_HOME%\r
 \r
-REM ********************************************************\r
-REM Set parameters\r
-REM ********************************************************\r
 \r
 IF "%1"=="" (\r
-       set BUILD_OPTION=rebuild\r
+       set BUILD_OPTION=build\r
 ) ELSE (\r
        set BUILD_OPTION=%1\r
 )\r
-set OUTPUT_FILE_PREFIX=GH_TEST\r
+\r
+REM ********************************************************\r
+REM Set parameters\r
+REM ********************************************************\r
+\r
+set OUTPUT_FILE_PREFIX=System_Web\r
+set RUNNING_FIXTURE=System.Web\r
+set TEST_SOLUTION=Test\TestMonoWeb.J2EE20.sln\r
+set DEPLOY_PROJECT=Test\mainsoft\MainsoftWebApp20\MainsoftWebApp20.csproj\r
+set TEST_ASSEMBLY=TestMonoWeb.jar\r
+set PROJECT_CONFIGURATION=Debug_Java20\r
+\r
+\r
+set startDate=%date%\r
+set startTime=%time%\r
+set sdy=%startDate:~10%\r
+set /a sdm=1%startDate:~4,2% - 100\r
+set /a sdd=1%startDate:~7,2% - 100\r
+set /a sth=%startTime:~0,2%\r
+set /a stm=1%startTime:~3,2% - 100\r
+set /a sts=1%startTime:~6,2% - 100\r
+set TIMESTAMP=%sdy%_%sdm%_%sdd%_%sth%_%stm%\r
 \r
 \r
 REM ********************************************************\r
 REM @echo Set environment\r
 REM ********************************************************\r
 \r
-set JGAC_PATH=%GH_HOME%\jgac\vmw4j2ee_110\r
-set RUNTIME_CLASSPATH=%JGAC_PATH%\mscorlib.jar;%JGAC_PATH%\System.jar;%JGAC_PATH%\System.Xml.jar;%JGAC_PATH%\J2SE.Helpers.jar;%JGAC_PATH%\System.Web.jar;%JGAC_PATH%\System.Drawing.jar\r
-set PROJECT_CONFIGURATION=Debug_Java20\r
-set GH_OUTPUT_XML=nunit_results.xml\r
-set NUNIT_PATH=..\..\..\nunit20\r
-set XML_TOOL_PATH=..\..\..\tools\mono-xmltool\r
-set NUNIT_CLASSPATH=%NUNIT_PATH%\nunit-console\bin\Debug_Java\nunit.framework.jar;%NUNIT_PATH%\nunit-console\bin\Debug_Java\nunit.util.jar;%NUNIT_PATH%\nunit-console\bin\Debug_Java\nunit.core.jar;%NUNIT_PATH%\nunit-console\bin\Debug_Java\nunit-console.jar\r
-set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%"\r
+set JGAC_PATH=%VMW_HOME%\java_refs\framework\\r
+set TOMCAT_PATH=%VMW_HOME%\jakarta-tomcat\common\lib\\r
+set JAVA_HOME=%VMW_HOME%\jre\r
+\r
+set RUNTIME_CLASSPATH=%JGAC_PATH%mscorlib.jar\r
+set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.jar\r
+set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Xml.jar\r
+set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Web.jar\r
+set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Runtime.Serialization.Formatters.Soap.jar\r
+set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%Mainsoft.Web.jar\r
+rem set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Drawing.jar\r
+set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%J2SE.Helpers.jar\r
+\r
+set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%VMW_HOME%\java_refs\jdbc\derby.jar\r
+\r
+rem ./Test/mainsoft/MainsoftWebTest/bin/Debug_Java20/HtmlCompare.jar\r
+\r
+set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;Test\mainsoft\NunitWeb\NunitWeb\bin\Debug_Java20\NunitWeb.jar\r
+set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;Test\mainsoft\MainsoftWebTest\bin\Debug_Java20\HtmlCompare.jar\r
+\r
+set TOMCAT_CLASSPATH=%TOMCAT_PATH%servlet-api.jar\r
+set NUNIT_OPTIONS=/exclude=NotWorking\r
+\r
+if "%GH_VERSION%"=="" (\r
+       set GH_VERSION=0_0_0_0\r
+)\r
+\r
+set COMMON_PREFIX=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%\r
+set GH_OUTPUT_XML=%COMMON_PREFIX%.xml\r
+set BUILD_LOG=%COMMON_PREFIX%.build.log\r
+set RUN_LOG=%COMMON_PREFIX%.run.log\r
+\r
+set NUNIT_PATH=..\..\nunit20\\r
+set NUNIT_CLASSPATH=%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.framework.jar\r
+set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.util.jar\r
+set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.core.jar\r
+set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit-console.jar\r
+set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;.\r
+set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%TEST_ASSEMBLY%\r
+\r
+set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%;%TOMCAT_CLASSPATH%"\r
+\r
+REM ********************************************************\r
+@echo Building GH solution...\r
+REM ********************************************************\r
+xcopy /y Test\mainsoft\NunitWeb\NunitWeb\Resources\*.as* Test\mainsoft\MainsoftWebApp20\\r
+xcopy /y Test\mainsoft\NunitWeb\NunitWeb\Resources\*.master Test\mainsoft\MainsoftWebApp20\\r
+xcopy /y Test\mainsoft\NunitWebResources\*.* Test\mainsoft\MainsoftWebApp20\\r
+pushd Test\mainsoft\MainsoftWebApp20\\r
+xcopy /y WizardTest.skin App_Themes\Theme1\\r
+xcopy /y Theme1.skin App_Themes\Theme1\\r
+xcopy /y Theme2.skin App_Themes\Theme2\\r
+xcopy /y ResolveUrl.ascx Folder\\r
+mkdir XXX\r
+for %%i in (*.as*) DO sed "s/CodeFile=/CodeBehind=/" %%i > XXX\%%i\r
+move /Y XXX\* .\r
+rmdir XXX\r
+popd\r
+\r
+msbuild %TEST_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
+IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
+\r
+REM ********************************************************\r
+@echo Deploying GH solution to tomcat...\r
+REM ********************************************************\r
+IF NOT DEFINED VMW_BUILDER GOTO MSBUILD_DEPLOY\r
+set CATALINA_HOME=%VMW_HOME%\jakarta-tomcat\r
+call "%VMW_HOME%\jakarta-tomcat\bin\shutdown.bat"\r
+echo Waiting 5 sec for tomcat to stop....\r
+@ping 127.0.0.1 -n 5 -w 1000 > nul\r
+xcopy /Y Test\mainsoft\MainsoftWebApp20\bin\%PROJECT_CONFIGURATION%\MainsoftWebApp20.war "%VMW_HOME%\jakarta-tomcat\webapps"\r
+call "%VMW_HOME%\jakarta-tomcat\bin\startup.bat"\r
+echo Waiting 5 sec for tomcat to start....\r
+@ping 127.0.0.1 -n 5 -w 1000 > nul\r
+GOTO AFTER_DEPLOY\r
+:MSBUILD_DEPLOY\r
+echo msbuild %DEPLOY_PROJECT% /t:Deploy /p:Configuration=%PROJECT_CONFIGURATION% /p:Platform=AnyCPU >>%BUILD_LOG% \r
+msbuild %DEPLOY_PROJECT% /t:Deploy /p:Configuration=%PROJECT_CONFIGURATION% /p:Platform=AnyCPU >>%BUILD_LOG% 2<&1\r
+:AFTER_DEPLOY\r
+\r
+IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
 \r
-pushd Test\r
 IF "%BUILD_OPTION%"=="nobuild" GOTO RUN\r
 \r
 REM ********************************************************\r
@@ -45,7 +133,7 @@ REM ********************************************************
 REM ********************************************************\r
 \r
 if "%NUNIT_BUILD%" == "DONE" goto NUNITSKIP\r
-msbuild %NUNIT_PATH%\nunit.java20.sln /t:%BUILD_OPTION% /p:configuration=%PROJECT_CONFIGURATION% >build.log.txt 2<&1\r
+msbuild %NUNIT_PATH%\nunit20.java.sln /t:%BUILD_OPTION% /p:configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
 \r
 goto NUNITREADY\r
 \r
@@ -57,34 +145,47 @@ set NUNIT_BUILD=DONE
 \r
 IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
 \r
+:RUN\r
 REM ********************************************************\r
-@echo Build XmlTool\r
+@echo Running GH tests...\r
 REM ********************************************************\r
-msbuild %XML_TOOL_PATH%\XmlTool20.sln /p:configuration=Debug >>build.log.txt 2<&1\r
-IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
-copy %XML_TOOL_PATH%\bin\Debug_Java\xmltool.exe ..\r
-copy %XML_TOOL_PATH%\nunit_transform.xslt ..\r
 \r
 REM ********************************************************\r
-@echo Building GH solution...\r
+@echo Running fixture "%RUNNING_FIXTURE%"\r
 REM ********************************************************\r
-msbuild TestMonoWeb.J2EE.sln /t:%BUILD_OPTION% /p:configuration=%PROJECT_CONFIGURATION% >>build.log.txt 2<&1\r
-IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
 \r
-:RUN\r
+copy Test\bin\%PROJECT_CONFIGURATION%\%TEST_ASSEMBLY% .\r
+\r
+REM @echo on\r
+"%JAVA_HOME%\bin\java" -Xmx1024M -cp %CLASSPATH% NUnit.Console.ConsoleUi %TEST_ASSEMBLY% %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML% >>%RUN_LOG% 2<&1\r
+REM @echo off\r
+\r
+IF NOT DEFINED VMW_BUILDER GOTO DONT_SHUTDOWN_TOMCAT\r
+set CATALINA_HOME=%VMW_HOME%\jakarta-tomcat\r
+call "%VMW_HOME%\jakarta-tomcat\bin\shutdown.bat"\r
+:DONT_SHUTDOWN_TOMCAT\r
+\r
 REM ********************************************************\r
-@echo Running GH tests...\r
+@echo Build XmlTool\r
 REM ********************************************************\r
+set XML_TOOL_PATH=..\..\tools\mono-xmltool\r
 \r
-del %GH_OUTPUT_XML%\r
-@echo on\r
-"%JAVA_HOME%\bin\java" -Xmx1024M -cp %CLASSPATH% NUnit.Console.ConsoleUi bin/%PROJECT_CONFIGURATION%/TestMonoWeb.jar /xml=%GH_OUTPUT_XML% /exclude=NunitWeb,CAS,NotWorking  >run.log.txt 2<&1\r
-@echo off\r
+if "%XMLTOOL_BUILD%" == "DONE" goto XMLTOOLSKIP\r
 \r
-popd\r
+msbuild %XML_TOOL_PATH%\XmlTool20.csproj /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1\r
+\r
+IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION\r
 \r
-del %GH_OUTPUT_XML%\r
-copy Test\%GH_OUTPUT_XML% .\r
+goto XMLTOOLREADY\r
+\r
+:XMLTOOLSKIP\r
+echo Skipping XmlToll build...\r
+\r
+:XMLTOOLREADY\r
+set XMLTOOL_BUILD=DONE\r
+\r
+copy %XML_TOOL_PATH%\bin\%PROJECT_CONFIGURATION%\xmltool.exe .\r
+copy %XML_TOOL_PATH%\nunit_transform.xslt .\r
 \r
 REM ********************************************************\r
 @echo Analyze and print results\r
@@ -97,16 +198,26 @@ xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%
 GOTO END\r
 \r
 :ENVIRONMENT_EXCEPTION\r
-@echo This test requires environment variables JAVA_HOME and GH_HOME to be defined\r
+@echo This test requires environment variable VMW_HOME to be defined\r
 GOTO END\r
 \r
 :BUILD_EXCEPTION\r
-popd\r
-@echo Error in building solutions. See build.log.txt for details...\r
+@echo Error in building solutions. See %BUILD_LOG% for details...\r
+REM EXIT 1\r
 GOTO END\r
 \r
 :RUN_EXCEPTION\r
-@echo Error in running fixture. See run.log.txt for details...\r
+@echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...\r
+REM EXIT 1\r
+GOTO END\r
+\r
+:USAGE\r
+@echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"\r
 GOTO END\r
 \r
 :END\r
+copy %RUN_LOG% ..\\r
+copy %BUILD_LOG% ..\\r
+copy %GH_OUTPUT_XML% ..\\r
+\r
+REM EXIT 0\r