diff --git a/eng/pipelines/common/templates/wasm-library-aot-tests.yml b/eng/pipelines/common/templates/wasm-library-aot-tests.yml index 9937d44ef21f..5516a14d168a 100644 --- a/eng/pipelines/common/templates/wasm-library-aot-tests.yml +++ b/eng/pipelines/common/templates/wasm-library-aot-tests.yml @@ -31,7 +31,11 @@ jobs: shouldRunSmokeOnly: ${{ parameters.shouldRunSmokeOnly }} shouldContinueOnError: ${{ parameters.shouldContinueOnError }} scenarios: - - ${{ if eq(platform, 'browser_wasm_win') }}: - - WasmTestOnBrowser - - ${{ if ne(platform, 'browser_wasm_win') }}: + - ${{ if eq(platform, 'browser_wasm') }}: - normal + - ${{ if eq(platform, 'browser_wasm_win') }}: + - WasmTestOnChrome + - ${{ if eq(platform, 'wasi_wasm_win') }}: + - WasmTestOnWasmtime + - ${{ if eq(platform, 'wasi_wasm') }}: + - WasmTestOnWasmtime diff --git a/eng/pipelines/common/templates/wasm-library-tests.yml b/eng/pipelines/common/templates/wasm-library-tests.yml index 3765b35c30af..b3193f4a495a 100644 --- a/eng/pipelines/common/templates/wasm-library-tests.yml +++ b/eng/pipelines/common/templates/wasm-library-tests.yml @@ -61,7 +61,7 @@ jobs: - name: _wasmRunSmokeTestsOnlyArg value: /p:RunSmokeTestsOnly=$(shouldRunSmokeOnlyVar) - name: chromeInstallArg - ${{ if containsValue(parameters.scenarios, 'wasmtestonbrowser') }}: + ${{ if containsValue(parameters.scenarios, 'WasmTestOnChrome') }}: value: /p:InstallChromeForTests=true ${{ else }}: value: '' diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml index fc8d757233cd..ec77f76a8582 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml @@ -90,7 +90,7 @@ jobs: isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} scenarios: - normal - - WasmTestOnBrowser + - WasmTestOnChrome # this only runs on the extra pipeline - template: /eng/pipelines/common/templates/wasm-library-tests.yml @@ -114,7 +114,7 @@ jobs: isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }} isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }} scenarios: - - WasmTestOnBrowser + - WasmTestOnChrome - WasmTestOnNodeJS # EAT Library tests - only run on linux @@ -198,7 +198,7 @@ jobs: alwaysRun: true scenarios: - normal - - WasmTestOnBrowser + - WasmTestOnChrome - WasmTestOnNodeJS # Hybrid Globalization AOT tests @@ -215,7 +215,7 @@ jobs: alwaysRun: true scenarios: - normal - - WasmTestOnBrowser + - WasmTestOnChrome - WasmTestOnNodeJS - ${{ if and(ne(parameters.isRollingBuild, true), ne(parameters.excludeNonLibTests, true), ne(parameters.debuggerTestsOnly, true)) }}: diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index ace914f9ecf6..284a2aafb088 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -824,7 +824,7 @@ extends: extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) scenarios: - normal - - WasmTestOnBrowser + - WasmTestOnChrome - template: /eng/pipelines/common/templates/wasm-library-tests.yml parameters: @@ -833,7 +833,7 @@ extends: alwaysRun: ${{ variables.isRollingBuild }} extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) scenarios: - - WasmTestOnBrowser + - WasmTestOnChrome # Library tests with full threading - template: /eng/pipelines/common/templates/wasm-library-tests.yml @@ -846,7 +846,7 @@ extends: alwaysRun: ${{ variables.isRollingBuild }} shouldRunSmokeOnly: onLibrariesAndIllinkChanges scenarios: - - WasmTestOnBrowser + - WasmTestOnChrome #- WasmTestOnNodeJS - this is not supported yet, https://github.com/dotnet/runtime/issues/85592 # EAT Library tests - only run on linux @@ -935,7 +935,7 @@ extends: shouldRunSmokeOnly: true alwaysRun: ${{ variables.isRollingBuild }} scenarios: - - normal + - WasmTestOnWasmtime - template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml parameters: diff --git a/eng/testing/WasiRunnerAOTTemplate.sh b/eng/testing/WasiRunnerAOTTemplate.sh deleted file mode 100644 index b45c553b67c5..000000000000 --- a/eng/testing/WasiRunnerAOTTemplate.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env bash - -# SetCommands defined in eng\testing\tests.wasm.targets -[[SetCommands]] -[[SetCommandsEcho]] - -EXECUTION_DIR=$(dirname $0) -if [[ -n "$3" ]]; then - SCENARIO=$3 -fi - -export PATH=$PREPEND_PATH:$PATH - -if [[ -z "$HELIX_WORKITEM_UPLOAD_ROOT" ]]; then - XHARNESS_OUT="$EXECUTION_DIR/xharness-output" -else - XHARNESS_OUT="$HELIX_WORKITEM_UPLOAD_ROOT/xharness-output" -fi - -if [[ -n "$XHARNESS_CLI_PATH" ]]; then - # When running in CI, we only have the .NET runtime available - # We need to call the XHarness CLI DLL directly via dotnet exec - HARNESS_RUNNER="dotnet exec $XHARNESS_CLI_PATH" -else - HARNESS_RUNNER="dotnet xharness" -fi - -if [[ -z "$XHARNESS_COMMAND" ]]; then - XHARNESS_COMMAND="test" -fi - -echo PATH=$PATH -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 XHARNESS_ARGS=$XHARNESS_ARGS - -function _buildAOTFunc() -{ - local projectFile=$1 - local binLog=$2 - shift 2 - - time dotnet msbuild $projectFile /bl:$binLog $* - local buildExitCode=$? - - echo "\n** Performance summary for the build **\n" - dotnet msbuild $binLog -clp:PerformanceSummary -v:q -nologo - if [[ "$(uname -s)" == "Linux" && $buildExitCode -ne 0 ]]; then - echo "\nLast few messages from dmesg:\n" - local lastLines=`dmesg | tail -n 20` - echo $lastLines - - if [[ "$lastLines" =~ "oom-kill" ]]; then - return 9200 # OOM - fi - fi - - echo - echo - - if [[ $buildExitCode -ne 0 ]]; then - return 9100 # aot build failure - fi - - return 0 -} - -pushd $EXECUTION_DIR - -# ========================= BEGIN Test Execution ============================= -echo ----- start $(date) =============== To repro directly: ===================================================== -echo pushd $EXECUTION_DIR -# RunCommands defined in eng\testing\tests.wasm.targets -[[RunCommandsEcho]] -echo popd -echo =========================================================================================================== -pushd $EXECUTION_DIR -# RunCommands defined in eng\testing\tests.wasm.targets -[[RunCommands]] -_exitCode=$? -popd -echo ----- end $(date) ----- exit code $_exitCode ---------------------------------------------------------- - -echo "XHarness artifacts: $XHARNESS_OUT" - -exit $_exitCode diff --git a/eng/testing/WasiRunnerTemplate.sh b/eng/testing/WasiRunnerTemplate.sh index 7a3752d32117..66e6731e03f2 100644 --- a/eng/testing/WasiRunnerTemplate.sh +++ b/eng/testing/WasiRunnerTemplate.sh @@ -47,6 +47,37 @@ echo HARNESS_RUNNER=$HARNESS_RUNNER echo XHARNESS_COMMAND=$XHARNESS_COMMAND echo XHARNESS_ARGS=$XHARNESS_ARGS +function _buildAOTFunc() +{ + local projectFile=$1 + local binLog=$2 + shift 2 + + time dotnet msbuild $projectFile /bl:$binLog $* + local buildExitCode=$? + + echo "\n** Performance summary for the build **\n" + dotnet msbuild $binLog -clp:PerformanceSummary -v:q -nologo + if [[ "$(uname -s)" == "Linux" && $buildExitCode -ne 0 ]]; then + echo "\nLast few messages from dmesg:\n" + local lastLines=`dmesg | tail -n 20` + echo $lastLines + + if [[ "$lastLines" =~ "oom-kill" ]]; then + return 9200 # OOM + fi + fi + + echo + echo + + if [[ $buildExitCode -ne 0 ]]; then + return 9100 # aot build failure + fi + + return 0 +} + pushd $EXECUTION_DIR # ========================= BEGIN Test Execution ============================= diff --git a/eng/testing/WasmRunnerAOTTemplate.sh b/eng/testing/WasmRunnerAOTTemplate.sh deleted file mode 100644 index 1e17a2a4770e..000000000000 --- a/eng/testing/WasmRunnerAOTTemplate.sh +++ /dev/null @@ -1,130 +0,0 @@ -#!/usr/bin/env bash - -# SetCommands defined in eng\testing\tests.wasm.targets -[[SetCommands]] -[[SetCommandsEcho]] - -export PATH="$HOME/.jsvu/bin:$PATH" -export PATH=$PREPEND_PATH:$PATH - -EXECUTION_DIR=$(dirname $0) -if [[ -n "$3" ]]; then - SCENARIO=$3 -fi - -if [[ -z "$HELIX_WORKITEM_UPLOAD_ROOT" ]]; then - XHARNESS_OUT="$EXECUTION_DIR/xharness-output" -else - XHARNESS_OUT="$HELIX_WORKITEM_UPLOAD_ROOT/xharness-output" -fi - -if [[ -n "$XHARNESS_CLI_PATH" ]]; then - # When running in CI, we only have the .NET runtime available - # We need to call the XHarness CLI DLL directly via dotnet exec - HARNESS_RUNNER="dotnet exec $XHARNESS_CLI_PATH" -else - HARNESS_RUNNER="dotnet xharness" -fi - -if [[ -z "$XHARNESS_COMMAND" ]]; then - if [[ "$SCENARIO" == "WasmTestOnBrowser" || "$SCENARIO" == "wasmtestonbrowser" ]]; then - XHARNESS_COMMAND="test-browser" - else - XHARNESS_COMMAND="test" - fi -fi - -if [[ "$XHARNESS_COMMAND" == "test" ]]; then - if [[ -z "$JS_ENGINE_ARGS" ]]; then - JS_ENGINE_ARGS="--engine-arg=--stack-trace-limit=1000" - if [[ "$SCENARIO" != "WasmTestOnNodeJS" && "$SCENARIO" != "wasmtestonnodejs" ]]; then - JS_ENGINE_ARGS="$JS_ENGINE_ARGS --engine-arg=--module" - fi - if [[ "$SCENARIO" == "WasmTestOnNodeJS" || "$SCENARIO" == "wasmtestonnodejs" ]]; then - JS_ENGINE_ARGS="$JS_ENGINE_ARGS --engine-arg=--experimental-wasm-eh" - fi - fi - - if [[ -z "$MAIN_JS" ]]; then - MAIN_JS="--js-file=test-main.js" - fi - - if [[ -z "$JS_ENGINE" ]]; then - if [[ "$SCENARIO" == "WasmTestOnNodeJS" || "$SCENARIO" == "wasmtestonnodejs" ]]; then - JS_ENGINE="--engine=NodeJS" - else - JS_ENGINE="--engine=V8" - if [[ -n "$V8_PATH_FOR_TESTS" ]]; then - JS_ENGINE_ARGS="$JS_ENGINE_ARGS --js-engine-path=$V8_PATH_FOR_TESTS" - fi - fi - fi -fi - -if [[ -z "$XHARNESS_ARGS" ]]; then - XHARNESS_ARGS="$JS_ENGINE $JS_ENGINE_ARGS $MAIN_JS" -fi - -echo PATH=$PATH -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 - -function _buildAOTFunc() -{ - local projectFile=$1 - local binLog=$2 - shift 2 - - time dotnet msbuild $projectFile /bl:$binLog $* - local buildExitCode=$? - - echo "\n** Performance summary for the build **\n" - dotnet msbuild $binLog -clp:PerformanceSummary -v:q -nologo - if [[ "$(uname -s)" == "Linux" && $buildExitCode -ne 0 ]]; then - echo "\nLast few messages from dmesg:\n" - local lastLines=`dmesg | tail -n 20` - echo $lastLines - - if [[ "$lastLines" =~ "oom-kill" ]]; then - return 9200 # OOM - fi - fi - - echo - echo - - if [[ $buildExitCode -ne 0 ]]; then - return 9100 # aot build failure - fi - - return 0 -} - - -pushd $EXECUTION_DIR - -# ========================= BEGIN Test Execution ============================= -echo ----- start $(date) =============== To repro directly: ===================================================== -echo pushd $EXECUTION_DIR -# RunCommands defined in eng\testing\tests.wasm.targets -[[RunCommandsEcho]] -echo popd -echo =========================================================================================================== -pushd $EXECUTION_DIR -# RunCommands defined in eng\testing\tests.wasm.targets -[[RunCommands]] -_exitCode=$? -popd -echo ----- end $(date) ----- exit code $_exitCode ---------------------------------------------------------- - -echo "XHarness artifacts: $XHARNESS_OUT" - -exit $_exitCode diff --git a/eng/testing/WasmRunnerTemplate.cmd b/eng/testing/WasmRunnerTemplate.cmd index f92cee17cc9d..0c7f3dc2195d 100644 --- a/eng/testing/WasmRunnerTemplate.cmd +++ b/eng/testing/WasmRunnerTemplate.cmd @@ -27,7 +27,7 @@ if [%XHARNESS_CLI_PATH%] NEQ [] ( ) if [%XHARNESS_COMMAND%] == [] ( - if /I [%SCENARIO%]==[WasmTestOnBrowser] ( + if /I [%SCENARIO%]==[WasmTestOnChrome] ( set XHARNESS_COMMAND=test-browser ) else ( set XHARNESS_COMMAND=test diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index 4f5856546fc5..bd7f1faadf35 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -26,7 +26,7 @@ else fi if [[ -z "$XHARNESS_COMMAND" ]]; then - if [[ "$SCENARIO" == "WasmTestOnBrowser" || "$SCENARIO" == "wasmtestonbrowser" ]]; then + if [[ "$SCENARIO" == "WasmTestOnChrome" || "$SCENARIO" == "wasmtestonchrome" ]]; then XHARNESS_COMMAND="test-browser" else XHARNESS_COMMAND="test" @@ -88,6 +88,38 @@ echo JS_ENGINE=$JS_ENGINE echo JS_ENGINE_ARGS=$JS_ENGINE_ARGS echo XHARNESS_ARGS=$XHARNESS_ARGS +function _buildAOTFunc() +{ + local projectFile=$1 + local binLog=$2 + shift 2 + + time dotnet msbuild $projectFile /bl:$binLog $* + local buildExitCode=$? + + echo "\n** Performance summary for the build **\n" + dotnet msbuild $binLog -clp:PerformanceSummary -v:q -nologo + if [[ "$(uname -s)" == "Linux" && $buildExitCode -ne 0 ]]; then + echo "\nLast few messages from dmesg:\n" + local lastLines=`dmesg | tail -n 20` + echo $lastLines + + if [[ "$lastLines" =~ "oom-kill" ]]; then + return 9200 # OOM + fi + fi + + echo + echo + + if [[ $buildExitCode -ne 0 ]]; then + return 9100 # aot build failure + fi + + return 0 +} + + pushd $EXECUTION_DIR # ========================= BEGIN Test Execution ============================= diff --git a/eng/testing/helix-extension-example.targets b/eng/testing/helix-extension-example.targets index e14095c07567..77b3490d5001 100644 --- a/eng/testing/helix-extension-example.targets +++ b/eng/testing/helix-extension-example.targets @@ -1,5 +1,5 @@ - + $(HelixExtensionTargets);_AddHelixCrypoItems <_CryptoProjectName>System.Security.Cryptography.Tests diff --git a/eng/testing/tests.browser.targets b/eng/testing/tests.browser.targets index 982b8589e76c..d17fecc4dec5 100644 --- a/eng/testing/tests.browser.targets +++ b/eng/testing/tests.browser.targets @@ -26,7 +26,7 @@ true + '$(Scenario)' == 'WasmTestOnChrome'">true - <_WasmBrowserPathForTests Condition="'$(BROWSER_PATH_FOR_TESTS)' != ''">$(BROWSER_PATH_FOR_TESTS) - <_WasmBrowserPathForTests Condition="'$(_WasmBrowserPathForTests)' == '' and '$(InstallChromeForTests)' == 'true'">$(ChromeBinaryPath) + <_WasmChromePathForTests Condition="'$(CHROME_PATH_FOR_TESTS)' != ''">$(CHROME_PATH_FOR_TESTS) + <_WasmChromePathForTests Condition="'$(_WasmChromePathForTests)' == '' and '$(InstallChromeForTests)' == 'true'">$(ChromeBinaryPath) <_WasmJSEnginePathForTests Condition="'$(V8_PATH_FOR_TESTS)' != ''">$(V8_PATH_FOR_TESTS) <_WasmJSEnginePathForTests Condition="'$(_WasmJSEnginePathForTests)' == '' and '$(InstallV8ForTests)' == 'true'">$(V8BinaryPath) @@ -107,7 +107,7 @@ <_XHarnessArgs >$(_XHarnessArgs) -s dotnet.native.js.symbols <_XHarnessArgs Condition="'$(_UseWasmSymbolicator)' == 'true'" >$(_XHarnessArgs) --symbol-patterns wasm-symbol-patterns.txt <_XHarnessArgs Condition="'$(_UseWasmSymbolicator)' == 'true'" >$(_XHarnessArgs) --symbolicator WasmSymbolicator.dll,Microsoft.WebAssembly.Internal.SymbolicatorWrapperForXHarness - <_XHarnessArgs Condition="'$(_WasmBrowserPathForTests)' != ''" >$(_XHarnessArgs) "--browser-path=$(_WasmBrowserPathForTests)" + <_XHarnessArgs Condition="'$(_WasmChromePathForTests)' != ''" >$(_XHarnessArgs) "--browser-path=$(_WasmChromePathForTests)" <_XHarnessArgs Condition="'$(WasmXHarnessTestsTimeout)' != ''" >$(_XHarnessArgs) "--timeout=$(WasmXHarnessTestsTimeout)" <_XHarnessArgs Condition="'$(WasmXHarnessVerbosity)' != ''" >$(_XHarnessArgs) --verbosity=$(WasmXHarnessVerbosity) <_XHarnessArgs Condition="'$(WasmXHarnessArgsCli)' != ''" >$(_XHarnessArgs) $(WasmXHarnessArgsCli) diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index d2a13edf8555..4ffbd60c365d 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -9,11 +9,9 @@ AppleHelixRunnerTemplate.sh AppleRunnerTemplate.sh AndroidRunnerTemplate.sh - WasiRunnerAOTTemplate.sh - WasiRunnerTemplate.sh + WasiRunnerTemplate.sh WasiRunnerTemplate.cmd - WasmRunnerAOTTemplate.sh - WasmRunnerTemplate.sh + WasmRunnerTemplate.sh WasmRunnerTemplate.cmd BionicRunnerTemplate.sh BionicRunnerTemplate.cmd diff --git a/src/libraries/Common/tests/System/Net/Prerequisites/LocalEchoServer.helix.targets b/src/libraries/Common/tests/System/Net/Prerequisites/LocalEchoServer.helix.targets index 80f1eb750e10..630642240b70 100644 --- a/src/libraries/Common/tests/System/Net/Prerequisites/LocalEchoServer.helix.targets +++ b/src/libraries/Common/tests/System/Net/Prerequisites/LocalEchoServer.helix.targets @@ -1,7 +1,7 @@ + '$(Scenario)' == 'WasmTestOnChrome' or '$(Scenario)' == 'WasmTestOnNodeJS')"> $(HelixExtensionTargets);_AddMiddlewarePayload $([MSBuild]::NormalizeDirectory('$(ArtifactsDir)', 'bin', 'NetCoreServer', '$(Configuration)', '$(AspNetCoreAppCurrent)')) diff --git a/src/libraries/System.IO.Compression.ZipFile/tests/System.IO.Compression.ZipFile.Tests.csproj b/src/libraries/System.IO.Compression.ZipFile/tests/System.IO.Compression.ZipFile.Tests.csproj index e07ea71438a4..507e4d5a0fa3 100644 --- a/src/libraries/System.IO.Compression.ZipFile/tests/System.IO.Compression.ZipFile.Tests.csproj +++ b/src/libraries/System.IO.Compression.ZipFile/tests/System.IO.Compression.ZipFile.Tests.csproj @@ -7,7 +7,7 @@ - WasmTestOnBrowser + WasmTestOnChrome $(TestArchiveRoot)browserornodejs/ $(TestArchiveTestsRoot)$(OSPlatformConfig)/ $(DefineConstants);TARGET_BROWSER diff --git a/src/libraries/System.IO.Compression/tests/System.IO.Compression.Tests.csproj b/src/libraries/System.IO.Compression/tests/System.IO.Compression.Tests.csproj index 7715606fcfdd..eb974f44651a 100644 --- a/src/libraries/System.IO.Compression/tests/System.IO.Compression.Tests.csproj +++ b/src/libraries/System.IO.Compression/tests/System.IO.Compression.Tests.csproj @@ -7,7 +7,7 @@ - WasmTestOnBrowser + WasmTestOnChrome $(TestArchiveRoot)browserornodejs/ $(TestArchiveTestsRoot)$(OSPlatformConfig)/ $(DefineConstants);TARGET_BROWSER diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/System.Net.Http.Functional.Tests.csproj b/src/libraries/System.Net.Http/tests/FunctionalTests/System.Net.Http.Functional.Tests.csproj index 26cc22001465..fd09f7db0b22 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/System.Net.Http.Functional.Tests.csproj +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/System.Net.Http.Functional.Tests.csproj @@ -20,7 +20,7 @@ - WasmTestOnBrowser + WasmTestOnChrome $(TestArchiveRoot)browserornodejs/ $(TestArchiveTestsRoot)$(OSPlatformConfig)/ $(DefineConstants);TARGET_BROWSER diff --git a/src/libraries/System.Net.WebSockets.Client/tests/System.Net.WebSockets.Client.Tests.csproj b/src/libraries/System.Net.WebSockets.Client/tests/System.Net.WebSockets.Client.Tests.csproj index 2c7762cc6bc8..057726e2a8a8 100644 --- a/src/libraries/System.Net.WebSockets.Client/tests/System.Net.WebSockets.Client.Tests.csproj +++ b/src/libraries/System.Net.WebSockets.Client/tests/System.Net.WebSockets.Client.Tests.csproj @@ -9,7 +9,7 @@ - WasmTestOnBrowser + WasmTestOnChrome $(TestArchiveRoot)browserornodejs/ $(TestArchiveTestsRoot)$(OSPlatformConfig)/ $(DefineConstants);TARGET_BROWSER diff --git a/src/libraries/System.Net.WebSockets.Client/tests/wasm/System.Net.WebSockets.Client.Wasm.Tests.csproj b/src/libraries/System.Net.WebSockets.Client/tests/wasm/System.Net.WebSockets.Client.Wasm.Tests.csproj index 4024dc05baff..c4b8a5a4545e 100644 --- a/src/libraries/System.Net.WebSockets.Client/tests/wasm/System.Net.WebSockets.Client.Wasm.Tests.csproj +++ b/src/libraries/System.Net.WebSockets.Client/tests/wasm/System.Net.WebSockets.Client.Wasm.Tests.csproj @@ -9,7 +9,7 @@ --background-throttling - WasmTestOnBrowser + WasmTestOnChrome $(TestArchiveRoot)browseronly/ $(TestArchiveTestsRoot)$(OSPlatformConfig)/ $(DefineConstants);TARGET_BROWSER diff --git a/src/libraries/System.Private.Xml/tests/System.Private.Xml.Tests.csproj b/src/libraries/System.Private.Xml/tests/System.Private.Xml.Tests.csproj index 30fe5d7a261a..24a6ecf7559f 100644 --- a/src/libraries/System.Private.Xml/tests/System.Private.Xml.Tests.csproj +++ b/src/libraries/System.Private.Xml/tests/System.Private.Xml.Tests.csproj @@ -10,7 +10,7 @@ - WasmTestOnBrowser + WasmTestOnChrome $(TestArchiveRoot)browserornodejs/ $(TestArchiveTestsRoot)$(OSPlatformConfig)/ $(DefineConstants);TARGET_BROWSER diff --git a/src/libraries/sendtohelix-browser.targets b/src/libraries/sendtohelix-browser.targets index f710cb8893df..8e461118ea12 100644 --- a/src/libraries/sendtohelix-browser.targets +++ b/src/libraries/sendtohelix-browser.targets @@ -10,7 +10,7 @@ - In this `wasm.helix.targets` file, add to $(HelixExtensionTargets) to run your custom target - + $(HelixExtensionTargets);_AddHelixCrypoItems - Useful properties to condition on: $(Scenario), $(IsRunningLibraryTests) @@ -35,7 +35,7 @@ $(Scenario)- true - true + true @@ -56,7 +56,7 @@ true true false - true + true true true @@ -91,8 +91,8 @@ - - + + @@ -106,8 +106,8 @@ - - + + @@ -222,8 +222,9 @@ - <_WasmWorkItem Include="$(TestArchiveRoot)browseronly/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnBrowser'" /> - <_WasmWorkItem Include="$(TestArchiveRoot)browserornodejs/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnBrowser'" /> + <_WasmWorkItem Include="$(TestArchiveRoot)browseronly/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnChrome'" /> + <_WasmWorkItem Include="$(TestArchiveRoot)chromeonly/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnChrome'" /> + <_WasmWorkItem Include="$(TestArchiveRoot)browserornodejs/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnChrome'" /> <_WasmWorkItem Include="$(TestArchiveRoot)browserornodejs/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnNodeJS'" /> <_WasmWorkItem Include="$(TestArchiveRoot)nodejsonly/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnNodeJS'" /> @@ -246,7 +247,7 @@ <_WasmSampleZipFile Condition="'$(Scenario)' == 'normal' or '$(Scenario)' == ''" Include="$(TestArchiveRoot)runonly/**/*.Console.V8.*.Sample.zip" /> <_WasmSampleZipFile Condition="'$(Scenario)' == 'WasmTestOnNodeJS'" Include="$(TestArchiveRoot)runonly/**/*.Console.Node.*.Sample.zip" /> - <_WasmSampleZipFile Condition="'$(Scenario)' == 'WasmTestOnBrowser'" Include="$(TestArchiveRoot)runonly/**/*.Browser.*.Sample.zip" /> + <_WasmSampleZipFile Condition="'$(Scenario)' == 'WasmTestOnChrome'" Include="$(TestArchiveRoot)runonly/**/*.Browser.*.Sample.zip" /> %(Identity) diff --git a/src/libraries/sendtohelix-wasi.targets b/src/libraries/sendtohelix-wasi.targets index fab35468eec0..c79637be9052 100644 --- a/src/libraries/sendtohelix-wasi.targets +++ b/src/libraries/sendtohelix-wasi.targets @@ -10,7 +10,7 @@ - In this `wasm.helix.targets` file, add to $(HelixExtensionTargets) to run your custom target - + $(HelixExtensionTargets);_AddHelixCrypoItems - Useful properties to condition on: $(Scenario), $(IsRunningLibraryTests) @@ -31,8 +31,9 @@ - true - wasmtime + + true + wasmtime true <_ShippingPackagesPath>$([MSBuild]::NormalizeDirectory($(ArtifactsDir), 'packages', $(Configuration), 'Shipping')) @@ -129,7 +130,7 @@ - <_WasiWorkItem Include="$(TestArchiveRoot)browseronly/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnBrowser'" /> + <_WasiWorkItem Include="$(TestArchiveRoot)wasmtimeonly/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnWasmtime'" /> %(Identity) $(HelixCommand) @@ -139,7 +140,7 @@ - <_WasiSampleZipFile Condition="'$(Scenario)' == 'normal' or '$(Scenario)' == ''" Include="$(TestArchiveRoot)runonly/**/*.Console.V8.*.Sample.zip" /> + <_WasiSampleZipFile Condition="'$(Scenario)' == 'WasmTestOnWasmtime'" Include="$(TestArchiveRoot)runonly/**/Wasi.*.Sample.zip" /> %(Identity) diff --git a/src/mono/browser/debugger/DebuggerTestSuite/FirefoxProvider.cs b/src/mono/browser/debugger/DebuggerTestSuite/FirefoxProvider.cs index d48a282888a6..e854b63b0ef7 100644 --- a/src/mono/browser/debugger/DebuggerTestSuite/FirefoxProvider.cs +++ b/src/mono/browser/debugger/DebuggerTestSuite/FirefoxProvider.cs @@ -24,7 +24,7 @@ internal class FirefoxProvider : WasmHostProvider private static readonly Lazy s_browserPath = new(() => { string artifactsBinDir = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(typeof(ChromeProvider).Assembly.Location)!, "..", "..", "..")); - return BrowserLocator.FindFirefox(artifactsBinDir, "BROWSER_PATH_FOR_TESTS"); + return BrowserLocator.FindFirefox(artifactsBinDir, "FIREFOX_PATH_FOR_TESTS"); }); public FirefoxProvider(string id, ILogger logger) : base(id, logger) diff --git a/src/mono/browser/debugger/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj b/src/mono/browser/debugger/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj index f305f84eb753..008a633de762 100644 --- a/src/mono/browser/debugger/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj +++ b/src/mono/browser/debugger/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj @@ -52,12 +52,12 @@ - - + + - + diff --git a/src/mono/browser/test-main.js b/src/mono/browser/test-main.js index cb09304bc535..1ada6f3cdde1 100644 --- a/src/mono/browser/test-main.js +++ b/src/mono/browser/test-main.js @@ -57,6 +57,7 @@ if (ENVIRONMENT_IS_WEB && isFirefox) { Error.stackTraceLimit = 1000; } +// as soon as possible, see https://github.com/dotnet/runtime/issues/101169 if (ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER && !isFirefox) { console.log("Running in: " + globalThis.navigator.userAgent); console.log("Running at: " + globalThis.location.href); @@ -321,7 +322,8 @@ async function run() { App.runtime = await dotnet.create(); App.runArgs = runArgs - if (ENVIRONMENT_IS_WEB && isFirefox) { + // after console proxy was setup, see https://github.com/dotnet/runtime/issues/101169 + if (ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER && isFirefox) { console.log("Application arguments: " + runArgs.applicationArguments.join(' ')); console.log("Running in: " + globalThis.navigator.userAgent); console.log("Running at: " + globalThis.location.href); diff --git a/src/mono/sample/wasi/Directory.Build.props b/src/mono/sample/wasi/Directory.Build.props index 28a09db931ed..53c8d42bae8e 100644 --- a/src/mono/sample/wasi/Directory.Build.props +++ b/src/mono/sample/wasi/Directory.Build.props @@ -7,6 +7,7 @@ wasm wasi-wasm --> + $(TestArchiveRoot)wasmtimeonly/ diff --git a/src/mono/sample/wasm/DefaultBrowserSample.targets b/src/mono/sample/wasm/DefaultBrowserSample.targets index 2862ef1ddb76..72db6bf9ce2e 100644 --- a/src/mono/sample/wasm/DefaultBrowserSample.targets +++ b/src/mono/sample/wasm/DefaultBrowserSample.targets @@ -7,8 +7,9 @@ -1 true $(WasmXHarnessArgs) --web-server-use-cop - $(ExecXHarnessCmd) wasm test-browser --app=. --browser=Chrome $(XHarnessBrowserPathArg) $(WasmXHarnessArgs) --html-file=index.html --output-directory=$(XHarnessOutput) -- $(MSBuildProjectName).dll + $(ExecXHarnessCmd) wasm test-browser --app=. --browser=Chrome $(XHarnessBrowserPathArg) $(WasmXHarnessArgs) --html-file=index.html --output-directory=$(XHarnessOutput) -- $(MSBuildProjectName).dll true + $(TestArchiveRoot)chromeonly/ diff --git a/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs b/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs index c29233c69844..6772c540962c 100644 --- a/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs +++ b/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs @@ -22,7 +22,7 @@ internal class BrowserRunner : IAsyncDisposable private static readonly Lazy s_chromePath = new(() => { string artifactsBinDir = Path.Combine(Path.GetDirectoryName(typeof(BuildTestBase).Assembly.Location)!, "..", "..", "..", ".."); - return BrowserLocator.FindChrome(artifactsBinDir, "BROWSER_PATH_FOR_TESTS"); + return BrowserLocator.FindChrome(artifactsBinDir, "CHROME_PATH_FOR_TESTS"); }); public IPlaywright? Playwright { get; private set; } diff --git a/src/mono/wasm/Wasm.Build.Tests/Common/EnvironmentVariables.cs b/src/mono/wasm/Wasm.Build.Tests/Common/EnvironmentVariables.cs index 50bf882d072d..7615d8adf590 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Common/EnvironmentVariables.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Common/EnvironmentVariables.cs @@ -16,7 +16,8 @@ internal static class EnvironmentVariables internal static readonly string? SkipProjectCleanup = Environment.GetEnvironmentVariable("SKIP_PROJECT_CLEANUP"); internal static readonly string? XHarnessCliPath = Environment.GetEnvironmentVariable("XHARNESS_CLI_PATH"); internal static readonly string? BuiltNuGetsPath = Environment.GetEnvironmentVariable("BUILT_NUGETS_PATH"); - internal static readonly string? BrowserPathForTests = Environment.GetEnvironmentVariable("BROWSER_PATH_FOR_TESTS"); + internal static readonly string? ChromePathForTests = Environment.GetEnvironmentVariable("CHROME_PATH_FOR_TESTS"); + internal static readonly string? FirefoxPathForTests = Environment.GetEnvironmentVariable("FIREFOX_PATH_FOR_TESTS"); internal static readonly string? V8PathForTests = Environment.GetEnvironmentVariable("V8_PATH_FOR_TESTS"); internal static readonly bool IsRunningOnCI = Environment.GetEnvironmentVariable("IS_RUNNING_ON_CI") is "true"; internal static readonly bool ShowBuildOutput = IsRunningOnCI || Environment.GetEnvironmentVariable("SHOW_BUILD_OUTPUT") is not null; diff --git a/src/mono/wasm/Wasm.Build.Tests/HostRunner/BrowserHostRunner.cs b/src/mono/wasm/Wasm.Build.Tests/HostRunner/BrowserHostRunner.cs index f9a215652c58..a27e9be89290 100644 --- a/src/mono/wasm/Wasm.Build.Tests/HostRunner/BrowserHostRunner.cs +++ b/src/mono/wasm/Wasm.Build.Tests/HostRunner/BrowserHostRunner.cs @@ -17,11 +17,11 @@ private static string BinaryPathArg { if (s_binaryPathArg is null) { - if (!string.IsNullOrEmpty(EnvironmentVariables.BrowserPathForTests)) + if (!string.IsNullOrEmpty(EnvironmentVariables.ChromePathForTests)) { - if (!File.Exists(EnvironmentVariables.BrowserPathForTests)) - throw new Exception($"Cannot find BROWSER_PATH_FOR_TESTS={EnvironmentVariables.BrowserPathForTests}"); - s_binaryPathArg = $" --browser-path=\"{EnvironmentVariables.BrowserPathForTests}\""; + if (!File.Exists(EnvironmentVariables.ChromePathForTests)) + throw new Exception($"Cannot find CHROME_PATH_FOR_TESTS={EnvironmentVariables.ChromePathForTests}"); + s_binaryPathArg = $" --browser-path=\"{EnvironmentVariables.ChromePathForTests}\""; } else { diff --git a/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj b/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj index 81110b4568ff..5e014bcfa12c 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj +++ b/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj @@ -30,8 +30,8 @@ - <_WasmBrowserPathForTests Condition="'$(BROWSER_PATH_FOR_TESTS)' != ''">$(BROWSER_PATH_FOR_TESTS) - <_WasmBrowserPathForTests Condition="'$(_WasmBrowserPathForTests)' == '' and '$(InstallChromeForTests)' == 'true'">$(ChromeBinaryPath) + <_WasmChromePathForTests Condition="'$(CHROME_PATH_FOR_TESTS)' != ''">$(CHROME_PATH_FOR_TESTS) + <_WasmChromePathForTests Condition="'$(_WasmChromePathForTests)' == '' and '$(InstallChromeForTests)' == 'true'">$(ChromeBinaryPath) RunScriptTemplate.cmd RunScriptTemplate.sh @@ -67,8 +67,8 @@ - - + + @@ -104,8 +104,8 @@ - - + + diff --git a/src/tests/FunctionalTests/WebAssembly/Directory.Build.props b/src/tests/FunctionalTests/WebAssembly/Directory.Build.props index e0eb44a860c4..f0095527e9c4 100644 --- a/src/tests/FunctionalTests/WebAssembly/Directory.Build.props +++ b/src/tests/FunctionalTests/WebAssembly/Directory.Build.props @@ -5,7 +5,7 @@ Exe true - WasmTestOnBrowser + WasmTestOnChrome $(TestArchiveRoot)browseronly/ $(TestArchiveTestsRoot)$(OSPlatformConfig)/ $(DefineConstants);TARGET_BROWSER