run-tests.bat 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. REM @echo on
  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 "%VMW_HOME%"=="" GOTO ENVIRONMENT_EXCEPTION
  16. IF "%1"=="rebuild" (
  17. set BUILD_OPTION=rebuild
  18. ) ELSE (
  19. set BUILD_OPTION=build
  20. )
  21. REM ********************************************************
  22. REM Set parameters
  23. REM ********************************************************
  24. set OUTPUT_FILE_PREFIX=System_Core_MonoTests
  25. set RUNNING_FIXTURE=MonoTests
  26. set TEST_SOLUTION=Test\System.Core.Tests-2008.JavaEE.csproj
  27. set TEST_ASSEMBLY=System.Core.Tests.jar
  28. set PROJECT_CONFIGURATION=Debug_Java20
  29. set startDate=%date%
  30. set startTime=%time%
  31. set sdy=%startDate:~10%
  32. set /a sdm=1%startDate:~4,2% - 100
  33. set /a sdd=1%startDate:~7,2% - 100
  34. set /a sth=%startTime:~0,2%
  35. set /a stm=1%startTime:~3,2% - 100
  36. set /a sts=1%startTime:~6,2% - 100
  37. set TIMESTAMP=%sdy%_%sdm%_%sdd%_%sth%_%stm%
  38. REM ********************************************************
  39. REM @echo Set environment
  40. REM ********************************************************
  41. set JGAC_PATH=%VMW_HOME%\java_refs\framework\
  42. set JAVA_HOME=%VMW_HOME%\jre
  43. set RUNTIME_CLASSPATH=%JGAC_PATH%mscorlib.jar
  44. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.jar
  45. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Xml.jar
  46. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Configuration.jar
  47. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%J2SE.Helpers.jar
  48. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Drawing.jar
  49. set RUNTIME_CLASSPATH=%RUNTIME_CLASSPATH%;%JGAC_PATH%System.Core.jar
  50. set NUNIT_OPTIONS=/exclude=NotWorking,NotDotNet,TargetJvmNotSupported,TargetJvmNotWorking,NotDotNet
  51. if "%GH_VERSION%"=="" (
  52. set GH_VERSION=0_0_0_0
  53. )
  54. set COMMON_PREFIX=%TIMESTAMP%_%OUTPUT_FILE_PREFIX%.GH_%GH_VERSION%.1.%USERNAME%
  55. set GH_OUTPUT_XML=%COMMON_PREFIX%.xml
  56. set BUILD_LOG=%COMMON_PREFIX%.build.log
  57. set RUN_LOG=%COMMON_PREFIX%.run.log
  58. set OUTPUT_DIR=..
  59. set NUNIT_PATH=..\..\nunit20\
  60. set NUNIT_CLASSPATH=%NUNIT_PATH%framework\bin\%PROJECT_CONFIGURATION%\nunit.framework.jar
  61. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%util\bin\%PROJECT_CONFIGURATION%\nunit.util.jar
  62. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%core\bin\%PROJECT_CONFIGURATION%\nunit.core.jar
  63. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%NUNIT_PATH%nunit-console\bin\%PROJECT_CONFIGURATION%\nunit-console.jar
  64. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;.
  65. set NUNIT_CLASSPATH=%NUNIT_CLASSPATH%;%TEST_ASSEMBLY%
  66. set CLASSPATH="%RUNTIME_CLASSPATH%;%NUNIT_CLASSPATH%"
  67. REM ********************************************************
  68. rem @echo Building GH solution...
  69. REM ********************************************************
  70. rem devenv %TEST_SOLUTION% /%BUILD_OPTION% %PROJECT_CONFIGURATION% >>%RUNNING_FIXTURE%_build.log.txt 2<&1
  71. msbuild %TEST_SOLUTION% /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
  72. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  73. REM ********************************************************
  74. rem @echo Building NUnit solution...
  75. REM ********************************************************
  76. if "%NUNIT_BUILD%" == "DONE" goto NUNITSKIP
  77. REM devenv ..\..\..\nunit20\nunit.java.sln /%BUILD_OPTION% %PROJECT_CONFIGURATION% >>%RUNNING_FIXTURE%_build.log.txt 2<&1
  78. rem msbuild %NUNIT_PATH%nunit20.java.sln /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
  79. goto NUNITREADY
  80. :NUNITSKIP
  81. echo Skipping NUnit Build...
  82. :NUNITREADY
  83. set NUNIT_BUILD=DONE
  84. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  85. REM ********************************************************
  86. @echo Running GH tests...
  87. REM ********************************************************
  88. REM ********************************************************
  89. @echo Running fixture "%RUNNING_FIXTURE%"
  90. REM ********************************************************
  91. copy Test\bin\%PROJECT_CONFIGURATION%\%TEST_ASSEMBLY% .
  92. set TEST_TEMP=C:\MonoTemp
  93. mkdir %TEST_TEMP%
  94. REM @echo on
  95. echo "%JAVA_HOME%\bin\java" -server -Xmx1024M -Djava.io.tmpdir="%TEST_TEMP%" -classpath %CLASSPATH% NUnit.Console.ConsoleUi %TEST_ASSEMBLY% /fixture=%RUNNING_FIXTURE% %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML%
  96. "%JAVA_HOME%\bin\java" -server -Xmx1024M -Djava.io.tmpdir="%TEST_TEMP%" -classpath %CLASSPATH% NUnit.Console.ConsoleUi %TEST_ASSEMBLY% /fixture=%RUNNING_FIXTURE% %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML% >>%RUN_LOG% 2<&1
  97. REM jdb -server -Xmx1024M -Djava.io.tmpdir="%TEST_TEMP%" -classpath %CLASSPATH% NUnit.Console.ConsoleUi %TEST_ASSEMBLY% /fixture=%RUNNING_FIXTURE% %NUNIT_OPTIONS% /xml=%GH_OUTPUT_XML%
  98. REM @echo off
  99. REM ********************************************************
  100. @echo Build XmlTool
  101. REM ********************************************************
  102. set XML_TOOL_PATH=..\..\..\tools\mono-xmltool
  103. if "%XMLTOOL_BUILD%" == "DONE" goto XMLTOOLSKIP
  104. REM devenv %XML_TOOL_PATH%\XmlTool.sln /%BUILD_OPTION% %PROJECT_CONFIGURATION% >>%RUNNING_FIXTURE%_build.log.txt 2<&1
  105. msbuild %XML_TOOL_PATH%\XmlTool20.csproj /t:%BUILD_OPTION% /p:Configuration=%PROJECT_CONFIGURATION% >>%BUILD_LOG% 2<&1
  106. IF %ERRORLEVEL% NEQ 0 GOTO BUILD_EXCEPTION
  107. goto XMLTOOLREADY
  108. :XMLTOOLSKIP
  109. echo Skipping XmlToll build...
  110. :XMLTOOLREADY
  111. set XMLTOOL_BUILD=DONE
  112. copy %XML_TOOL_PATH%\bin\%PROJECT_CONFIGURATION%\xmltool.exe .
  113. copy %XML_TOOL_PATH%\nunit_transform.xslt .
  114. REM ********************************************************
  115. @echo Analyze and print results
  116. REM ********************************************************
  117. @echo on
  118. xmltool.exe --transform nunit_transform.xslt %GH_OUTPUT_XML%
  119. @echo off
  120. :FINALLY
  121. GOTO END
  122. :ENVIRONMENT_EXCEPTION
  123. @echo This test requires environment variable VMW_HOME to be defined
  124. GOTO END
  125. :BUILD_EXCEPTION
  126. @echo Error in building solutions. See %BUILD_LOG% for details...
  127. REM EXIT 1
  128. GOTO END
  129. :RUN_EXCEPTION
  130. @echo Error in running fixture %RUNNING_FIXTURE%. See %RUN_LOG% for details...
  131. REM EXIT 1
  132. GOTO END
  133. :USAGE
  134. @echo Parameters: "[build|rebuild] <output_file_name_prefix> <test_fixture> <relative_Working_directory> <back_path (..\..\.....) >"
  135. GOTO END
  136. :END
  137. copy %RUN_LOG% %OUTPUT_DIR%
  138. copy %BUILD_LOG% %OUTPUT_DIR%
  139. copy %GH_OUTPUT_XML% %OUTPUT_DIR%
  140. REM EXIT 0