run-tests.test.bat 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  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. IF "%1"=="" GOTO USAGE
  16. IF "%VMW_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION
  17. IF "%1"=="" (
  18. set BUILD_OPTION=rebuild
  19. ) ELSE (
  20. set BUILD_OPTION=%1
  21. )
  22. REM ********************************************************
  23. REM Set parameters
  24. REM ********************************************************
  25. set BUILD_OPTION=%1
  26. set OUTPUT_FILE_PREFIX=%2
  27. set RUNNING_FIXTURE=%3
  28. set RUNNING_DIR=%~4
  29. set BACK_TO_ROOT_DIR=%~5
  30. set TEST_J2EE_SOLUTION=Test\System.Drawing.Test20.J2EE.sln
  31. set TEST_NET_SOLUTION=Test\System.Drawing.Test20.sln
  32. set TEST_J2EE_ASSEMBLY=System.Drawing.Test20.J2EE.jar
  33. set TEST_NET_ASSEMBLY=System.Drawing.Test.dll
  34. set PROJECT_J2EE_CONFIGURATION=Debug_Java20
  35. set PROJECT_NET_CONFIGURATION=Debug
  36. set NUNIT_CONSOLE_PATH="C:\Program Files\NUnit-Net-2.0 2.2.8\bin"
  37. set startDate=%date%
  38. set startTime=%time%
  39. set sdy=%startDate:~10%
  40. set /a sdm=1%startDate:~4,2% - 100
  41. set /a sdd=1%startDate:~7,2% - 100
  42. set /a sth=%startTime:~0,2%
  43. set /a stm=1%startTime:~3,2% - 100
  44. set /a sts=1%startTime:~6,2% - 100
  45. set TIMESTAMP=%sdy%_%sdm%_%sdd%_%sth%_%stm%
  46. REM ********************************************************
  47. REM @echo Set environment
  48. REM ********************************************************
  49. set JGAC_PATH=%VMW_HOME%\java_refs\framework\
  50. set JAVA_HOME=%VMW_HOME%\jre
  51. set RUNTIME_CLASSPATH=%JGAC_PATH%mscorlib.jar
  52. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.jar
  53. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Xml.jar
  54. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%J2SE.Helpers.jar
  55. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%jai_imageio.jar
  56. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Drawing.jar;
  57. set NUNIT_OPTIONS=/exclude=NotWorking
  58. if "%GH_VERSION%"=="" (
  59. set GH_VERSION=0_0_0_0
  60. )
  61. set COMMON_PREFIX=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%
  62. set GH_OUTPUT_XML=%COMMON_PREFIX%.xml
  63. set NET_OUTPUT_XML=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.Net.1.%USERNAME%.xml
  64. set BUILD_LOG=%COMMON_PREFIX%.build.log
  65. set RUN_LOG=%COMMON_PREFIX%.run.log
  66. set NUNIT_PATH=%BACK_TO_ROOT_DIR%..\..\nunit20\
  67. set NUNIT_CLASSPATH=%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.framework.jar
  68. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.util.jar
  69. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.core.jar
  70. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit-console.jar
  71. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;.
  72. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%TEST_ASSEMBLY%
  73. set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%"
  74. REM ********************************************************
  75. @echo Building GH solution...
  76. REM ********************************************************
  77. REM devenv Test\DrawingTest\System.Drawing.Test.sln /%BUILD_OPTION% Debug_Java >>%RUNNING_FIXTURE%_build.log.txt 2<&1
  78. msbuild %TEST_J2EE_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_J2EE_CONFIGURATION% >>%BUILD_LOG% 2<&1
  79. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  80. REM ********************************************************
  81. @echo Building NUnit solution...
  82. REM ********************************************************
  83. if "%NUNIT_BUILD%" == "DONE" goto NUNITSKIP
  84. REM devenv ..\..\nunit20\nunit.java.sln /%BUILD_OPTION% Debug_Java >>%RUNNING_FIXTURE%_build.log.txt 2<&1
  85. msbuild ..\..\nunit20\nunit20.java.sln /t:%BUILD_OPTION% /p:Configuration=%PROJECT_J2EE_CONFIGURATION% >>%BUILD_LOG% 2<&1
  86. goto NUNITREADY
  87. :NUNITSKIP
  88. echo Skipping NUnit Build...
  89. :NUNITREADY
  90. set NUNIT_BUILD=DONE
  91. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  92. REM ********************************************************
  93. @echo Building .Net solution...
  94. REM ********************************************************
  95. REM devenv Test\DrawingTest\System.Drawing.Test.dotnet.sln /%BUILD_OPTION% Debug >%RUNNING_FIXTURE%_build.log.txt 2<&1
  96. msbuild %TEST_NET_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_NET_CONFIGURATION% >>%BUILD_LOG% 2<&1
  97. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  98. REM ********************************************************
  99. @echo Running Net reference tests...
  100. REM ********************************************************
  101. REM ********************************************************
  102. @echo Running fixture "%RUNNING_FIXTURE%" (in .NET)
  103. REM ********************************************************
  104. if "%RUNNING_DIR%" NEQ "" (
  105. cd %RUNNING_DIR% )
  106. if not exist Exocortex.DSP.v1.dll (
  107. copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\Exocortex.DSP.v1.dll .)
  108. if not exist DrawingTest.dll (
  109. copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\DrawingTest.dll . )
  110. if not exist %TEST_NET_ASSEMBLY% (
  111. copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\%TEST_NET_ASSEMBLY% . )
  112. copy "%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit-console.exe" .
  113. copy "%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.util.dll" .
  114. copy "%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.core.dll" .
  115. copy "%NUNIT_PATH%nunit-console\bin\%PROJECT_J2EE_CONFIGURATION%\nunit.framework.dll" .
  116. echo "==== .NET reference ===" >> %RUN_LOG%
  117. nunit-console.exe /fixture:%RUNNING_FIXTURE% %TEST_NET_ASSEMBLY% %NUNIT_OPTIONS% /xml=%NET_OUTPUT_XML% >>%RUN_LOG% 2<&1
  118. echo "==== End .NET reference ===" >> %RUN_LOG%
  119. REM ********************************************************
  120. @echo Running GH tests...
  121. REM ********************************************************
  122. REM ********************************************************
  123. @echo Running fixture "%RUNNING_FIXTURE%"
  124. REM ********************************************************
  125. copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\bin\%PROJECT_J2EE_CONFIGURATION%\Exocortex.DSP.v1.jar .
  126. copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\bin\%PROJECT_J2EE_CONFIGURATION%\DrawingTest.jar .
  127. copy %BACK_TO_ROOT_DIR%Test\DrawingTest\Test\bin\%PROJECT_J2EE_CONFIGURATION%\%TEST_J2EE_ASSEMBLY% .
  128. REM @echo on
  129. "%JAVA_HOME%\bin\java" -Xmx1024M -cp %CLASSPATH% NUnit.Console.ConsoleUi %TEST_J2EE_ASSEMBLY% /fixture=%RUNNING_FIXTURE% %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML% >>%RUN_LOG% 2<&1
  130. REM @echo off
  131. if "%RUNNING_DIR%" NEQ "" (
  132. copy %NET_OUTPUT_XML% %BACK_TO_ROOT_DIR%
  133. copy %GH_OUTPUT_XML% %BACK_TO_ROOT_DIR%
  134. copy %RUN_LOG% %BACK_TO_ROOT_DIR%
  135. cd %BACK_TO_ROOT_DIR% )
  136. REM ********************************************************
  137. @echo Build XmlTool
  138. REM ********************************************************
  139. set XML_TOOL_PATH=..\..\tools\mono-xmltool
  140. if "%XMLTOOL_BUILD%" == "DONE" goto XMLTOOLSKIP
  141. REM devenv %XML_TOOL_PATH%\XmlTool.sln /%BUILD_OPTION% Debug_Java >>%RUNNING_FIXTURE%_build.log.txt 2<&1
  142. msbuild %XML_TOOL_PATH%\XmlTool20.vmwcsproj /t:%BUILD_OPTION% /p:Configuration=%PROJECT_J2EE_CONFIGURATION% >>%BUILD_LOG% 2<&1
  143. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  144. goto XMLTOOLREADY
  145. :XMLTOOLSKIP
  146. echo Skipping XmlToll build...
  147. :XMLTOOLREADY
  148. set XMLTOOL_BUILD=DONE
  149. copy %XML_TOOL_PATH%\bin\%PROJECT_J2EE_CONFIGURATION%\xmltool.exe .
  150. copy %XML_TOOL_PATH%\nunit_transform.xslt .
  151. REM ********************************************************
  152. @echo Analyze and print results
  153. REM ********************************************************
  154. @echo on
  155. xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%
  156. @echo off
  157. :FINALLY
  158. GOTO END
  159. :ENVIRONMENT_EXCEPTION
  160. @echo This test requires environment variable VMW_HOME to be defined
  161. GOTO END
  162. :BUILD_EXCEPTION
  163. @echo Error in building solutions. See %BUILD_LOG% for details...
  164. REM EXIT 1
  165. GOTO END
  166. :RUN_EXCEPTION
  167. @echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...
  168. REM EXIT 1
  169. GOTO END
  170. :USAGE
  171. @echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"
  172. GOTO END
  173. :END
  174. copy %RUN_LOG% ..\
  175. copy %BUILD_LOG% ..\
  176. copy %GH_OUTPUT_XML% ..\
  177. REM EXIT 0