test_build.bat 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. @ECHO --------------------------- Beef Test_Build.Bat Version 1 ---------------------------
  2. @SET P4_CHANGELIST=%1
  3. PUSHD %~dp0..\
  4. md stats
  5. @REM GOTO RANDO
  6. @ECHO Testing IDEHelper\Tests
  7. CALL bin/msbuild.bat IDEHelper\Tests\CLib\CLib.vcxproj /p:Configuration=Debug /p:Platform=x64
  8. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  9. IDE\dist\BeefBuild_d -proddir=IDEHelper\Tests -test
  10. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  11. IDE\dist\BeefBuild_d -proddir=IDEHelper\Tests\BeefLinq -test
  12. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  13. @ECHO Testing IDEHelper\Tests (Win32)
  14. CALL bin/msbuild.bat IDEHelper\Tests\CLib\CLib.vcxproj /p:Configuration=Debug /p:Platform=x86
  15. IDE\dist\BeefBuild_d -proddir=IDEHelper\Tests -test -platform=Win32
  16. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  17. @ECHO Testing SysMSVCRT
  18. del IDE\Tests\SysMSVCRT\build\Debug_Win64\SysMSVCRT\SysMSVCRT.exe
  19. IDE\dist\BeefBuild_d -proddir=IDE\Tests\SysMSVCRT
  20. IDE\Tests\SysMSVCRT\build\Debug_Win64\SysMSVCRT\SysMSVCRT.exe 1000 234
  21. @IF %ERRORLEVEL% NEQ 1234 GOTO HADERROR
  22. @ECHO Testing IDE\corlib
  23. IDE\dist\BeefBuild_d -proddir=BeefLibs\corlib -test
  24. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  25. @ECHO Building Tiny
  26. bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE\Tests\Tiny -clean -config=Release
  27. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  28. set size=0
  29. FOR /F "usebackq" %%A IN ('IDE\Tests\Tiny\build\Release_Win64\Tiny\Tiny.exe') DO set size=%%~zA
  30. echo Tiny executable size: %size% (expected 13824, max 16000)
  31. if %size% LSS 10000 (
  32. echo TINY executable not found?
  33. goto :HADERROR
  34. )
  35. if %size% GTR 16000 (
  36. echo TINY executable is too large!
  37. goto :HADERROR
  38. )
  39. @ECHO Building Tiny NoRT
  40. bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE\Tests\Tiny -clean -config=ReleaseNoRT
  41. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  42. set size=0
  43. FOR /F "usebackq" %%A IN ('IDE\Tests\Tiny\build\ReleaseNoRT_Win64\Tiny\Tiny.exe') DO set size=%%~zA
  44. echo Tiny executable size: %size% (expected 5120, max 7000)
  45. if %size% LSS 1000 (
  46. echo TINY executable not found?
  47. goto :HADERROR
  48. )
  49. if %size% GTR 7000 (
  50. echo TINY executable is too large!
  51. goto :HADERROR
  52. )
  53. @ECHO Building BeefIDE_d with BeefBuild_d
  54. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="Nop()"
  55. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_START
  56. @SET STATS_FILE=stats\IDE_Debug_d.csv
  57. bin\RunWithStats IDE\dist\BeefBuild_d -proddir=IDE -clean -config=Debug_NoDeps
  58. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_RUN
  59. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="SelectLastSession(); SaveSession(@""%~dp0..\stats\IDE_Debug_d_%P4_CHANGELIST%.bfps""); SaveEntrySummary(""BfCompiler_Compile"", @""%~dp0..\stats\IDE_Debug_d_%P4_CHANGELIST%.txt""); CloseIfAutoOpened()"
  60. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_DONE
  61. @ECHO Building BeefIDE_d with BeefBuild
  62. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="Nop()"
  63. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_START
  64. @SET STATS_FILE=stats\IDE_Debug.csv
  65. bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE -clean -config=Debug_NoDeps -noir
  66. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_RUN
  67. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="SelectLastSession(); SaveSession(@""%~dp0..\stats\IDE_Debug_%P4_CHANGELIST%.bfps""); SaveEntrySummary(""BfCompiler_Compile"", @""%~dp0..\stats\IDE_Debug_%P4_CHANGELIST%.txt""); CloseIfAutoOpened()"
  68. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_DONE
  69. @ECHO Building BeefIDE with BeefBuild
  70. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="Nop()"
  71. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_START
  72. @SET STATS_FILE=stats\IDE_Release.csv
  73. bin\RunWithStats IDE\dist\BeefBuild -proddir=IDE -clean -config=Release -noir
  74. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_RUN
  75. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="SelectLastSession(); SaveSession(@""%~dp0..\stats\IDE_Release_%P4_CHANGELIST%.bfps""); SaveEntrySummary(""BfCompiler_Compile"", @""%~dp0..\stats\IDE_Release_%P4_CHANGELIST%.txt""); CloseIfAutoOpened()"
  76. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_DONE
  77. :RANDO
  78. @PUSHD IDE\Tests\Rando
  79. %~dp0..\BeefTools\RandoCode\RandoCode Scripts\Test002.toml
  80. @POPD
  81. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  82. @SET STATS_NAME=Rando001
  83. @SET STATS_PRODDIR=IDE\Tests\Rando
  84. @REM CALL :PROFILE_BUILD
  85. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  86. @SET STATS_NAME=Rando001
  87. @SET STATS_PRODDIR=IDE\Tests\Rando
  88. CALL :PROFILE_IDE
  89. @IF %ERRORLEVEL% NEQ 0 GOTO HADERROR
  90. :SUCCESS
  91. @ECHO SUCCESS!
  92. @POPD
  93. @EXIT /b 0
  94. :PROFILE_BUILD
  95. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="Nop()"
  96. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_START
  97. @SET STATS_FILE=stats\%STATS_NAME%_Debug_d.csv
  98. bin\RunWithStats IDE\dist\BeefBuild_d -proddir=%STATS_PRODDIR% -clean -config=Debug
  99. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_RUN
  100. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="SelectLastSession(); SaveSession(@""%~dp0..\stats\%STATS_NAME%_Debug_d_%P4_CHANGELIST%.bfps""); SaveEntrySummary(""BfCompiler_Compile"", @""%~dp0..\stats\%STATS_NAME%_Debug_d_%P4_CHANGELIST%.txt""); CloseIfAutoOpened()"
  101. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_DONE
  102. @REM --------
  103. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="Nop()"
  104. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_START
  105. @SET STATS_FILE=stats\%STATS_NAME%_Debug.csv
  106. bin\RunWithStats IDE\dist\BeefBuild -proddir=%STATS_PRODDIR% -clean -config=Debug -noir
  107. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_RUN
  108. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="SelectLastSession(); SaveSession(@""%~dp0..\stats\%STATS_NAME%_Debug_%P4_CHANGELIST%.bfps""); SaveEntrySummary(""BfCompiler_Compile"", @""%~dp0..\stats\%STATS_NAME%_Debug_%P4_CHANGELIST%.txt""); CloseIfAutoOpened()"
  109. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_DONE
  110. @REM --------
  111. GOTO:EOF
  112. :PROFILE_IDE
  113. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="Nop()"
  114. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_START
  115. @SET STATS_FILE=stats\%STATS_NAME%_Debug_IDE.csv
  116. bin\RunWithStats IDE\dist\BeefIDE -proddir=%STATS_PRODDIR% -test=%~dp0..\IDE\Tests\scripts\DebugAndExit.txt
  117. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_RUN
  118. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="SelectLastSession(); SaveSession(@""%~dp0..\stats\%STATS_NAME%_Debug_IDE_%P4_CHANGELIST%.bfps""); SaveEntrySummary(""BfCompiler_Compile"", @""%~dp0..\stats\%STATS_NAME%_Debug_IDE_%P4_CHANGELIST%.txt""); CloseIfAutoOpened()"
  119. @IF %ERRORLEVEL% NEQ 0 GOTO FAILPERF_DONE
  120. @REM --------
  121. @SET STATS_FILE=stats\%STATS_NAME%_Debug_IDE_NoPerf.csv
  122. bin\RunWithStats IDE\dist\BeefIDE -proddir=%STATS_PRODDIR% -test=%~dp0..\IDE\Tests\scripts\DebugAndExit.txt
  123. GOTO:EOF
  124. :FAILPERF_START
  125. @ECHO !!!!!PROFILING FAILED!!!!!
  126. @POPD
  127. @EXIT /b 1
  128. :FAILPERF_RUN
  129. @ECHO !!!!!FAILED (WHILE PROFILING)!!!!!
  130. bin\RunAndWait IDE\dist\BeefPerf.exe -cmd="CloseIfAutoOpened()"
  131. @POPD
  132. @EXIT /b 1
  133. :FAILPERF_DONE
  134. @ECHO !!!!!PROFILING FAILED (AFTER DONE)!!!!!
  135. @POPD
  136. @EXIT /b 1
  137. :HADERROR
  138. @ECHO !!!!!FAILED!!!!!
  139. @POPD
  140. @EXIT /b %ERRORLEVEL%