run-mono-tests.bat 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  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 example run-tests build
  7. REM will cause to build (and not rebuild) test solutions,
  8. REM ********************************************************
  9. IF "%VMW_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION
  10. IF "%1"=="" (
  11. set BUILD_OPTION=build
  12. ) ELSE (
  13. set BUILD_OPTION=%1
  14. )
  15. REM ********************************************************
  16. REM Set parameters
  17. REM ********************************************************
  18. set OUTPUT_FILE_PREFIX=System_Web
  19. set RUNNING_FIXTURE=System.Web
  20. set TEST_SOLUTION=Test\TestMonoWeb.J2EE20.sln
  21. set DEPLOY_PROJECT=Test\mainsoft\MainsoftWebApp20\MainsoftWebApp20.vmwcsproj
  22. set TEST_ASSEMBLY=TestMonoWeb.jar
  23. set PROJECT_CONFIGURATION=Debug_Java20
  24. set startDate=%date%
  25. set startTime=%time%
  26. set sdy=%startDate:~10%
  27. set /a sdm=1%startDate:~4,2% - 100
  28. set /a sdd=1%startDate:~7,2% - 100
  29. set /a sth=%startTime:~0,2%
  30. set /a stm=1%startTime:~3,2% - 100
  31. set /a sts=1%startTime:~6,2% - 100
  32. set TIMESTAMP=%sdy%_%sdm%_%sdd%_%sth%_%stm%
  33. REM ********************************************************
  34. REM @echo Set environment
  35. REM ********************************************************
  36. set JGAC_PATH=%VMW_HOME%\jgac\vmw4j2ee_110\
  37. set JAVA_HOME=%VMW_HOME%\jre5
  38. set RUNTIME_CLASSPATH=%JGAC_PATH%mscorlib.jar
  39. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.jar
  40. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Xml.jar
  41. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Web.jar
  42. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Runtime.Serialization.Formatters.Soap.jar
  43. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%Mainsoft.Web.jar
  44. rem set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Drawing.jar
  45. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%J2SE.Helpers.jar
  46. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%VMW_HOME%\jgac\jdbc\derby.jar
  47. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;Test\mainsoft\NunitWeb\NunitWeb\bin\Debug_Java20\NunitWeb.jar
  48. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;Test\mainsoft\NunitWeb\NunitWeb\bin\Debug_Java20\HtmlCompare.jar
  49. set NUNIT_OPTIONS=/exclude=NotWorking
  50. if "%GH_VERSION%"=="" (
  51. set GH_VERSION=0_0_0_0
  52. )
  53. set COMMON_PREFIX=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%
  54. set GH_OUTPUT_XML=%COMMON_PREFIX%.xml
  55. set BUILD_LOG=%COMMON_PREFIX%.build.log
  56. set RUN_LOG=%COMMON_PREFIX%.run.log
  57. set NUNIT_PATH=..\..\nunit20\
  58. set NUNIT_CLASSPATH=%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.framework.jar
  59. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.util.jar
  60. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit.core.jar
  61. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit-console.jar
  62. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;.
  63. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%TEST_ASSEMBLY%
  64. set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%"
  65. REM ********************************************************
  66. @echo Building GH solution...
  67. REM ********************************************************
  68. xcopy /y Test\mainsoft\NunitWeb\NunitWeb\Resources\*.as* Test\mainsoft\MainsoftWebApp20\
  69. xcopy /y Test\mainsoft\NunitWeb\NunitWeb\Resources\*.master Test\mainsoft\MainsoftWebApp20\
  70. xcopy /y Test\mainsoft\NunitWebResources\*.* Test\mainsoft\MainsoftWebApp20\
  71. pushd Test\mainsoft\MainsoftWebApp20\
  72. xcopy /y WizardTest.skin App_Themes\Theme1\
  73. xcopy /y Theme1.skin App_Themes\Theme1\
  74. xcopy /y Theme2.skin App_Themes\Theme2\
  75. mkdir XXX
  76. for %%i in (*.as*) DO sed "s/CodeFile=/CodeBehind=/" %%i > XXX\%%i
  77. move /Y XXX\* .
  78. rmdir XXX
  79. popd
  80. msbuild %TEST_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
  81. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  82. echo msbuild %DEPLOY_PROJECT% /t:Deploy /p:Configuration=%PROJECT_CONFIGURATION% /p:Platform=AnyCPU >>%BUILD_LOG%
  83. msbuild %DEPLOY_PROJECT% /t:Deploy /p:Configuration=%PROJECT_CONFIGURATION% /p:Platform=AnyCPU >>%BUILD_LOG% 2<&1
  84. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  85. IF "%BUILD_OPTION%"=="nobuild" GOTO RUN
  86. REM ********************************************************
  87. @echo Building NUnit solution...
  88. REM ********************************************************
  89. if "%NUNIT_BUILD%" == "DONE" goto NUNITSKIP
  90. msbuild %NUNIT_PATH%\nunit20.java.sln /t:%BUILD_OPTION% /p:configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
  91. goto NUNITREADY
  92. :NUNITSKIP
  93. echo Skipping NUnit Build...
  94. :NUNITREADY
  95. set NUNIT_BUILD=DONE
  96. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  97. :RUN
  98. REM ********************************************************
  99. @echo Running GH tests...
  100. REM ********************************************************
  101. REM ********************************************************
  102. @echo Running fixture "%RUNNING_FIXTURE%"
  103. REM ********************************************************
  104. copy Test\bin\%PROJECT_CONFIGURATION%\%TEST_ASSEMBLY% .
  105. REM @echo on
  106. "%JAVA_HOME%\bin\java" -Xmx1024M -cp %CLASSPATH% NUnit.Console.ConsoleUi %TEST_ASSEMBLY% %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML% >>%RUN_LOG% 2<&1
  107. REM @echo off
  108. REM ********************************************************
  109. @echo Build XmlTool
  110. REM ********************************************************
  111. set XML_TOOL_PATH=..\..\tools\mono-xmltool
  112. if "%XMLTOOL_BUILD%" == "DONE" goto XMLTOOLSKIP
  113. msbuild %XML_TOOL_PATH%\XmlTool20.vmwcsproj /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
  114. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  115. goto XMLTOOLREADY
  116. :XMLTOOLSKIP
  117. echo Skipping XmlToll build...
  118. :XMLTOOLREADY
  119. set XMLTOOL_BUILD=DONE
  120. copy %XML_TOOL_PATH%\bin\%PROJECT_CONFIGURATION%\xmltool.exe .
  121. copy %XML_TOOL_PATH%\nunit_transform.xslt .
  122. REM ********************************************************
  123. @echo Analyze and print results
  124. REM ********************************************************
  125. @echo on
  126. xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%
  127. @echo off
  128. :FINALLY
  129. GOTO END
  130. :ENVIRONMENT_EXCEPTION
  131. @echo This test requires environment variable VMW_HOME to be defined
  132. GOTO END
  133. :BUILD_EXCEPTION
  134. @echo Error in building solutions. See %BUILD_LOG% for details...
  135. REM EXIT 1
  136. GOTO END
  137. :RUN_EXCEPTION
  138. @echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...
  139. REM EXIT 1
  140. GOTO END
  141. :USAGE
  142. @echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"
  143. GOTO END
  144. :END
  145. copy %RUN_LOG% ..\
  146. copy %BUILD_LOG% ..\
  147. copy %GH_OUTPUT_XML% ..\
  148. REM EXIT 0