::------------------------------------------------------------------------------------------------------- | |
:: Copyright (C) Microsoft. All rights reserved. | |
:: Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
::------------------------------------------------------------------------------------------------------- | |
@echo off | |
setlocal ENABLEDELAYEDEXPANSION | |
set bin=%_nttree%\jscript\jshost.exe | |
set test= | |
set args= | |
set failedTests= | |
:loop | |
IF NOT "%1"=="" ( | |
IF "%1"=="-bin" ( | |
SET bin=%2 | |
SHIFT | |
) | |
IF "%1"=="-test" ( | |
set test=%2 | |
SHIFT | |
) | |
IF "%1"=="-args" ( | |
set args=%2 | |
SHIFT | |
) | |
SHIFT | |
GOTO :loop | |
) | |
if [%test%] == [] ( | |
for %%i in (*.*) do ( | |
set ext=%%~xi | |
if !ext! == .js ( | |
call:RunTestFile %%~ni | |
) | |
) | |
) else ( | |
call:RunTestFile %test% | |
) | |
if [!failedTests!] == [] ( | |
echo. | |
echo All test passed ! | |
) else ( | |
echo. | |
echo Failed tests | |
for %%i in (!failedTests!) do ( | |
echo %%i | |
echo %cd%\%%i.diffCmp | |
) | |
) | |
goto:eof | |
:RunTestFile | |
set filename=%1 | |
echo. | |
echo Running tests !filename! | |
%bin% -bvt -off:asmjs -off:globopt !filename!.js > !filename!.interpreter | |
%bin% -bvt -on:asmjs -bgjit- -lic:1 !filename!.js %args% > !filename!.jit | |
echo Checking diff for test !filename! | |
git diff !filename!.interpreter !filename!.jit > !filename!.diffCmp | |
set /p diffContent=<!filename!.diffCmp | |
if [!diffContent!] == [] ( | |
echo Success | |
del !filename!.diffCmp | |
del !filename!.jit | |
del !filename!.interpreter | |
) else ( | |
set failedTests=!failedTests!,!filename! | |
echo Error check !filename!.diffCmp | |
) | |
set diffContent= | |
goto:eof |