mirror of
https://github.com/VSadov/Satori.git
synced 2025-06-09 09:34:49 +09:00
122 lines
3.9 KiB
Batchfile
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%
|