1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-09 09:34:49 +09:00
Satori/eng/testing/WasmRunnerTemplate.cmd

122 lines
3.9 KiB
Batchfile

@echo off
setlocal enabledelayedexpansion
:: SetCommands defined in eng\testing\tests.wasm.targets
[[SetCommands]]
[[SetCommandsEcho]]
set EXECUTION_DIR=%~dp0
if [%3] NEQ [] (
set SCENARIO=%3
)
set PATH=%PREPEND_PATH%;%PATH%
if [%HELIX_WORKITEM_UPLOAD_ROOT%] == [] (
set "XHARNESS_OUT=%EXECUTION_DIR%xharness-output"
) else (
set "XHARNESS_OUT=%HELIX_WORKITEM_UPLOAD_ROOT%\xharness-output"
)
if [%XHARNESS_CLI_PATH%] NEQ [] (
:: When running in CI, we only have the .NET runtime available
:: We need to call the XHarness CLI DLL directly via dotnet exec
set HARNESS_RUNNER=dotnet.exe exec "%XHARNESS_CLI_PATH%"
) else (
set HARNESS_RUNNER=dotnet.exe xharness
)
if [%XHARNESS_COMMAND%] == [] (
if /I [%SCENARIO%]==[WasmTestOnChrome] (
set XHARNESS_COMMAND=test-browser
) else (
if /I [%SCENARIO%]==[WasmTestOnFirefox] (
set XHARNESS_COMMAND=test-browser
) else (
set XHARNESS_COMMAND=test
)
)
)
if /I [%XHARNESS_COMMAND%] == [test] (
if [%JS_ENGINE%] == [] (
if /I [%SCENARIO%] == [WasmTestOnNodeJS] (
set "JS_ENGINE=--engine^=NodeJS"
) else (
set "JS_ENGINE=--engine^=V8"
)
)
if [%MAIN_JS%] == [] (
set "MAIN_JS=--js-file^=test-main.js"
)
if [%JS_ENGINE_ARGS%] == [] (
set "JS_ENGINE_ARGS=--engine-arg^=--stack-trace-limit^=1000"
if /I NOT [%SCENARIO%] == [WasmTestOnNodeJS] (
set "JS_ENGINE_ARGS=%JS_ENGINE_ARGS% --engine-arg^=--module"
)
if /I [%SCENARIO%] == [WasmTestOnNodeJS] (
set "JS_ENGINE_ARGS=%JS_ENGINE_ARGS% --engine-arg^=--experimental-wasm-eh"
)
)
) else (
if /I [%SCENARIO%] == [WasmTestOnChrome] (
if [%BROWSER_PATH%] == [] if not [%HELIX_CORRELATION_PAYLOAD%] == [] (
set "BROWSER_PATH=--browser-path^=%HELIX_CORRELATION_PAYLOAD%\chrome-win\chrome.exe"
)
if [%JS_ENGINE_ARGS%] == [] (
set "JS_ENGINE_ARGS=--browser-arg^=--js-flags^=--stack-trace-limit^=1000"
)
) else (
if /I [%SCENARIO%] == [WasmTestOnFirefox] (
if [%BROWSER_PATH%] == [] if not [%HELIX_CORRELATION_PAYLOAD%] == [] (
set "BROWSER_PATH=--browser-path^=%HELIX_CORRELATION_PAYLOAD%\firefox\firefox.exe"
)
if [%JS_ENGINE%] == [] (
set "JS_ENGINE=--browser^=Firefox"
)
if [%JS_ENGINE_ARGS%] == [] (
set "JS_ENGINE_ARGS=--browser-arg^=-private-window"
)
)
)
)
if [%XHARNESS_ARGS%] == [] (
set "XHARNESS_ARGS=%JS_ENGINE% %JS_ENGINE_ARGS% %BROWSER_PATH% %MAIN_JS%"
)
if [%XUNIT_RANDOM_ORDER_SEED%] NEQ [] (
set "WasmXHarnessMonoArgs=%WasmXHarnessMonoArgs% --setenv=XUNIT_RANDOM_ORDER_SEED=%XUNIT_RANDOM_ORDER_SEED%"
)
echo EXECUTION_DIR=%EXECUTION_DIR%
echo SCENARIO=%SCENARIO%
echo XHARNESS_OUT=%XHARNESS_OUT%
echo XHARNESS_CLI_PATH=%XHARNESS_CLI_PATH%
echo HARNESS_RUNNER=%HARNESS_RUNNER%
echo XHARNESS_COMMAND=%XHARNESS_COMMAND%
echo MAIN_JS=%MAIN_JS%
echo JS_ENGINE=%JS_ENGINE%
echo JS_ENGINE_ARGS=%JS_ENGINE_ARGS%
echo XHARNESS_ARGS=%XHARNESS_ARGS%
:: ========================= BEGIN Test Execution =============================
echo ----- start %DATE% %TIME% =============== To repro directly: =====================================================
echo pushd %EXECUTION_DIR%
:: RunCommands defined in eng\testing\tests.wasm.targets
[[RunCommandsEcho]]
echo popd
echo ===========================================================================================================
pushd %EXECUTION_DIR%
@echo on
:: RunCommands defined in eng\testing\tests.wasm.targets
[[RunCommands]]
set EXIT_CODE=%ERRORLEVEL%
@echo off
popd
echo ----- end %DATE% %TIME% ----- exit code %EXIT_CODE% ----------------------------------------------------------
echo XHarness artifacts: %XHARNESS_OUT%
exit /b %EXIT_CODE%