RunCompare.cmd 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. ::-------------------------------------------------------------------------------------------------------
  2. :: Copyright (C) Microsoft. All rights reserved.
  3. :: Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. ::-------------------------------------------------------------------------------------------------------
  5. @echo off
  6. setlocal ENABLEDELAYEDEXPANSION
  7. set bin=%_nttree%\jscript\jshost.exe
  8. set test=
  9. set args=
  10. set failedTests=
  11. :loop
  12. IF NOT "%1"=="" (
  13. IF "%1"=="-bin" (
  14. SET bin=%2
  15. SHIFT
  16. )
  17. IF "%1"=="-test" (
  18. set test=%2
  19. SHIFT
  20. )
  21. IF "%1"=="-args" (
  22. set args=%2
  23. SHIFT
  24. )
  25. SHIFT
  26. GOTO :loop
  27. )
  28. if [%test%] == [] (
  29. for %%i in (*.*) do (
  30. set ext=%%~xi
  31. if !ext! == .js (
  32. call:RunTestFile %%~ni
  33. )
  34. )
  35. ) else (
  36. call:RunTestFile %test%
  37. )
  38. if [!failedTests!] == [] (
  39. echo.
  40. echo All test passed !
  41. ) else (
  42. echo.
  43. echo Failed tests
  44. for %%i in (!failedTests!) do (
  45. echo %%i
  46. echo %cd%\%%i.diffCmp
  47. )
  48. )
  49. goto:eof
  50. :RunTestFile
  51. set filename=%1
  52. echo.
  53. echo Running tests !filename!
  54. %bin% -bvt -off:asmjs -off:globopt !filename!.js > !filename!.interpreter
  55. %bin% -bvt -on:asmjs -bgjit- -lic:1 !filename!.js %args% > !filename!.jit
  56. echo Checking diff for test !filename!
  57. git diff !filename!.interpreter !filename!.jit > !filename!.diffCmp
  58. set /p diffContent=<!filename!.diffCmp
  59. if [!diffContent!] == [] (
  60. echo Success
  61. del !filename!.diffCmp
  62. del !filename!.jit
  63. del !filename!.interpreter
  64. ) else (
  65. set failedTests=!failedTests!,!filename!
  66. echo Error check !filename!.diffCmp
  67. )
  68. set diffContent=
  69. goto:eof