From 438d530c2e33adb969e788c2f1ceb80db5b64aff Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Tue, 9 Feb 2021 14:58:38 -0800 Subject: [PATCH 01/97] Unraveling helix --- Directory.Build.props | 1 + eng/testing/tests.mobile.targets | 19 ++++++++++++++++--- src/libraries/sendtohelixhelp.proj | 6 ++++++ src/libraries/tests.proj | 6 +++++- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index bda23977ca1dec..4f8e3192ae2973 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -67,6 +67,7 @@ $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) + $([MSBuild]::NormalizeDirectory('src', 'mono', 'wasm', 'build')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(NetCoreAppToolCurrent)')) $([MSBuild]::NormalizePath('$(ArtifactsBinDir)', 'installer.tasks', 'Debug', 'netstandard2.0', 'installer.tasks.dll')) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index b4e7fb22dfa962..5ec598a52b3f69 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -187,14 +187,27 @@ + + true + + - - + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) - + + + + + + diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 545308565e6ced..d5ccd7b836c7de 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -246,6 +246,12 @@ Condition="'$(IncludeHelixCorrelationPayload)' == 'true' and '$(TargetOS)' != 'Browser'" /> + + + + + + <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> <_WorkItem Include="$(TestArchiveRoot)runonly/**/*.Console.Test.zip" Condition="'$(TargetOS)' == 'Browser' and '$(Scenario)' != 'WasmTestOnBrowser'" /> diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index be633f8cb7967e..7a10486c98acac 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -256,6 +256,7 @@ + @@ -285,10 +286,13 @@ + + Date: Tue, 9 Feb 2021 22:13:00 -0500 Subject: [PATCH 02/97] More helix setup --- eng/testing/tests.mobile.targets | 7 ++++- src/libraries/sendtohelixhelp.proj | 16 ++++++++--- src/mono/wasm/build/aot-build.csproj | 42 ++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 src/mono/wasm/build/aot-build.csproj diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 5ec598a52b3f69..4dd516c42e47d9 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -206,7 +206,12 @@ - + + + + + + diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index d5ccd7b836c7de..129b152d09e10f 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -248,10 +248,18 @@ - - - - + + emsdk + + + wasmappbuilder + + + monoaotcompiler + + + wasm-build + <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> <_WorkItem Include="$(TestArchiveRoot)runonly/**/*.Console.Test.zip" Condition="'$(TargetOS)' == 'Browser' and '$(Scenario)' != 'WasmTestOnBrowser'" /> diff --git a/src/mono/wasm/build/aot-build.csproj b/src/mono/wasm/build/aot-build.csproj new file mode 100644 index 00000000000000..d3d4e2a99120bb --- /dev/null +++ b/src/mono/wasm/build/aot-build.csproj @@ -0,0 +1,42 @@ + + + true + $(HELIX_CORRELATION_PAYLOAD) + runtime.js + $(HELIX_CORRELATION_PAYLOAD)\monoaotcompiler\MonoAOTCompiler.dll + $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder + $(HELIX_CORRELATION_PAYLOAD)\emsdk + + + + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) + + + + + + + $(BundleDir) + $(HELIX_CORRELATION_PAYLOAD)\WasmTestRunner.dll + $(HELIX_CORRELATION_PAYLOAD)\publish\runtime-test.js + + true + + + + + + $([System.IO.Directory]::GetParent('%(Identity)').Name) + + + + + + + + + + + \ No newline at end of file From 83760eafe82812ceea5f2f1c584b52739d04b647 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Wed, 10 Feb 2021 06:59:16 -0800 Subject: [PATCH 03/97] Trying to keep directory names --- src/libraries/sendtohelixhelp.proj | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 129b152d09e10f..af06510287f108 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -249,16 +249,20 @@ - emsdk + emsdk + true - wasmappbuilder + wasmappbuilder + true - monoaotcompiler + monoaotcompiler + true - wasm-build + wasm-build + true <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> From 0b15afccc50ebb852f2e443866658f4a8ae6b87d Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Wed, 10 Feb 2021 17:06:24 -0500 Subject: [PATCH 04/97] Should be able to generate a wasm app on an island --- eng/testing/WasmRunnerTemplate.sh | 5 ++++ eng/testing/tests.mobile.targets | 8 +++---- eng/testing/tests.targets | 5 +++- src/libraries/sendtohelixhelp.proj | 4 ++++ src/mono/wasm/build/WasmApp.targets | 28 +++++++++++++---------- src/mono/wasm/build/aot-build.csproj | 34 ++++++++++++++++++++-------- 6 files changed, 56 insertions(+), 28 deletions(-) diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index 8997e222177cab..92f13267712297 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -2,6 +2,7 @@ EXECUTION_DIR=$(dirname $0) SCENARIO=$3 +BUILD_AOT=$4 cd $EXECUTION_DIR @@ -25,6 +26,10 @@ elif [ -z "$XHARNESS_COMMAND" ]; then XHARNESS_COMMAND="test" fi +if [ "$BUILD_AOT" == "AOT" ]; then + dotnet msbuild publish/aot-build.proj +fi + # RunCommands defined in tests.mobile.targets [[RunCommands]] diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 4dd516c42e47d9..5ea99021975a73 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -11,6 +11,9 @@ + true + $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing @@ -187,11 +190,6 @@ - - true - - diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index d5ab901145464c..813749cf4c2f25 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -97,7 +97,10 @@ $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '$(NETCoreAppCurrentVersion)'))">$(RunTestsCommand) --runtime-path "$(TestHostRootPath.TrimEnd('\/'))" $(RunTestsCommand) --rsp-file "$(TestRspFile)" "$(RunScriptOutputPath)" $(AssemblyName) $(TargetArchitecture) $(TargetOS) $(TestProjectName) $(ExpectedExitCode) - "$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(Scenario) + + + "$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(Scenario) + "$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(Scenario) AOT diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index af06510287f108..3d788dbb27e2cc 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -264,6 +264,10 @@ wasm-build true + + wasm-source + true + <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> <_WorkItem Include="$(TestArchiveRoot)runonly/**/*.Console.Test.zip" Condition="'$(TargetOS)' == 'Browser' and '$(Scenario)' != 'WasmTestOnBrowser'" /> diff --git a/src/mono/wasm/build/WasmApp.targets b/src/mono/wasm/build/WasmApp.targets index 2149a9f704f1f8..0dc2e09c1a56f5 100644 --- a/src/mono/wasm/build/WasmApp.targets +++ b/src/mono/wasm/build/WasmApp.targets @@ -61,6 +61,7 @@ false true + $(MicrosoftNetCoreAppRuntimePackRidDir)native\ $(WasmBuildNative) true $(RunAOTCompilation) @@ -165,11 +166,11 @@ - - + + - - + + - $(MicrosoftNetCoreAppRuntimePackRidDir)native\src\emcc-flags.txt - $(MicrosoftNetCoreAppRuntimePackRidDir)native\src\emcc-version.txt + <_WasmSrcPath Condition="'$(WasmSrcPath)' == ''">$(MicrosoftNetCoreAppRuntimePackRidDir) + <_WasmSrcPath Condition="'$(WasmSrcPath)' != ''">$(WasmSrcPath) + + $(WasmSrcPath)src/emcc-flags.txt + $(WasmSrcPath)src/emcc-version.txt $(_WasmIntermediateOutputPath)emcc-version.txt @@ -217,7 +221,7 @@ - + <_WasmPInvokeModules Include="libSystem.Native" /> @@ -250,7 +254,7 @@ <_WasmRuntimePackNativeLibs Include="libmono-profiler-aot.a"/> <_WasmRuntimePackNativeLibs Include="libicuuc.a"/> <_WasmRuntimePackNativeLibs Include="libicui18n.a"/> - <_WasmObjects Include="@(_WasmRuntimePackNativeLibs->'$(MicrosoftNetCoreAppRuntimePackRidDir)\native\%(FileName)%(Extension)')" /> + <_WasmObjects Include="@(_WasmRuntimePackNativeLibs->'$(WasmNativeLibPath)%(FileName)%(Extension)')" /> <_WasmObjects Include="$(_WasmIntermediateOutputPath)driver.o"/> <_WasmObjects Include="$(_WasmIntermediateOutputPath)pinvoke.o"/> @@ -258,10 +262,10 @@ - <_WasmIncludeDir>$(MicrosoftNetCoreAppRuntimePackRidDir)native/include - <_WasmSrcDir>$(MicrosoftNetCoreAppRuntimePackRidDir)native/src - $(EmccFlags) -DCORE_BINDINGS -DGEN_PINVOKE=1 -I$(_WasmIntermediateOutputPath) -I$(_WasmIncludeDir)/mono-2.0 -I$(_WasmIncludeDir)/wasm - $(EmccFlags) -s TOTAL_MEMORY=536870912 + <_WasmIncludeDir>$(_WasmSrcPath)include + <_WasmSrcDir>$(_WasmSrcPath)src + $(EmccFlags) -DCORE_BINDINGS -DGEN_PINVOKE=1 -I$(_WasmIntermediateOutputPath) -I$(_WasmIncludeDir)/mono-2.0 -I$(_WasmIncludeDir)/wasm + $(EmccFlags) -s TOTAL_MEMORY=536870912 diff --git a/src/mono/wasm/build/aot-build.csproj b/src/mono/wasm/build/aot-build.csproj index d3d4e2a99120bb..d69735f6309f5d 100644 --- a/src/mono/wasm/build/aot-build.csproj +++ b/src/mono/wasm/build/aot-build.csproj @@ -1,26 +1,40 @@ - + + /Users/steve/dev/helix-out/ + /Users/steve/dev/helix-out true - $(HELIX_CORRELATION_PAYLOAD) - runtime.js + System.Buffers.Tests + $(HELIX_WORKITEM_ROOT)/$(TestName) + $(TestRootDir) + $(HELIX_CORRELATION_PAYLOAD)/wasm-source/ + $(TestRootDir)/publish/ + $(HELIX_WORKITEM_ROOT)\obj $(HELIX_CORRELATION_PAYLOAD)\monoaotcompiler\MonoAOTCompiler.dll - $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder + $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder\WasmAppBuilder.dll + /Users/steve/dev/net5/runtime/artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Release/runtimes/browser-wasm/native/cross/browser-wasm/mono-aot-cross + $(HELIX_WORKITEM_ROOT) $(HELIX_CORRELATION_PAYLOAD)\emsdk + + false + true + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) - + + + $(BundleDir) - $(HELIX_CORRELATION_PAYLOAD)\WasmTestRunner.dll - $(HELIX_CORRELATION_PAYLOAD)\publish\runtime-test.js - + $(TestRootDir)\publish\WasmTestRunner.dll + $(TestRootDir)\publish\runtime-test.js + true true @@ -30,13 +44,13 @@ $([System.IO.Directory]::GetParent('%(Identity)').Name) - + - + \ No newline at end of file From adcd02699eddca3c081e9706bcdb5cfa174473f0 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Wed, 10 Feb 2021 17:20:40 -0800 Subject: [PATCH 05/97] More tweaks --- eng/testing/WasmRunnerTemplate.sh | 4 ---- eng/testing/tests.mobile.targets | 8 +++++--- eng/testing/tests.targets | 5 +---- src/libraries/sendtohelixhelp.proj | 5 +++++ src/mono/wasm/build/{aot-build.csproj => aot-build.proj} | 0 5 files changed, 11 insertions(+), 11 deletions(-) rename src/mono/wasm/build/{aot-build.csproj => aot-build.proj} (100%) diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh index 92f13267712297..28e5f84a976819 100644 --- a/eng/testing/WasmRunnerTemplate.sh +++ b/eng/testing/WasmRunnerTemplate.sh @@ -26,10 +26,6 @@ elif [ -z "$XHARNESS_COMMAND" ]; then XHARNESS_COMMAND="test" fi -if [ "$BUILD_AOT" == "AOT" ]; then - dotnet msbuild publish/aot-build.proj -fi - # RunCommands defined in tests.mobile.targets [[RunCommands]] diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 5ea99021975a73..6d0f155eefac3d 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,9 +14,11 @@ true + dotnet msbuild publish/aot-build.proj && + - $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll - $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing + $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll + $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing false true false @@ -206,7 +208,7 @@ - + diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets index 813749cf4c2f25..d5ab901145464c 100644 --- a/eng/testing/tests.targets +++ b/eng/testing/tests.targets @@ -97,10 +97,7 @@ $([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '$(NETCoreAppCurrentVersion)'))">$(RunTestsCommand) --runtime-path "$(TestHostRootPath.TrimEnd('\/'))" $(RunTestsCommand) --rsp-file "$(TestRspFile)" "$(RunScriptOutputPath)" $(AssemblyName) $(TargetArchitecture) $(TargetOS) $(TestProjectName) $(ExpectedExitCode) - - - "$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(Scenario) - "$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(Scenario) AOT + "$(RunScriptOutputPath)" $(JSEngine) $(AssemblyName).dll $(Scenario) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 3d788dbb27e2cc..ceae82a61b115a 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -76,6 +76,11 @@ true + + true + sdk + + diff --git a/src/mono/wasm/build/aot-build.csproj b/src/mono/wasm/build/aot-build.proj similarity index 100% rename from src/mono/wasm/build/aot-build.csproj rename to src/mono/wasm/build/aot-build.proj From 9003dc370fea6d5e34f14ef18b2b88d95e59904d Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Thu, 11 Feb 2021 12:25:18 -0500 Subject: [PATCH 06/97] Better path attempts. Helix is at least trying to aot now --- eng/testing/tests.mobile.targets | 2 +- src/libraries/sendtohelixhelp.proj | 14 ++++++++++---- src/mono/wasm/build/aot-build.proj | 20 ++++++++++---------- 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 6d0f155eefac3d..f11ced3e696cfa 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,7 +14,7 @@ true - dotnet msbuild publish/aot-build.proj && + ls -la $HELIX_CORRELATION_PAYLOAD && dotnet msbuild publish/aot-build.proj && $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index ceae82a61b115a..00ac69dc77aa83 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -72,13 +72,15 @@ test/functional/packaging/ - - true - - true sdk + $([System.IO.File]::ReadAllText('$(RepoRoot)global.json')) + $([System.Text.RegularExpressions.Regex]::Match($(GlobalJsonContent), '(%3F<="dotnet": ").*(%3F=")')) + + + + true @@ -265,6 +267,10 @@ monoaotcompiler true + + cross + true + wasm-build true diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index d69735f6309f5d..db76bc90bdc039 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -1,26 +1,26 @@ - /Users/steve/dev/helix-out/ - /Users/steve/dev/helix-out + true System.Buffers.Tests - $(HELIX_WORKITEM_ROOT)/$(TestName) + $(HELIX_WORKITEM_ROOT) $(TestRootDir) $(HELIX_CORRELATION_PAYLOAD)/wasm-source/ $(TestRootDir)/publish/ $(HELIX_WORKITEM_ROOT)\obj - $(HELIX_CORRELATION_PAYLOAD)\monoaotcompiler\MonoAOTCompiler.dll - $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder\WasmAppBuilder.dll - /Users/steve/dev/net5/runtime/artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Release/runtimes/browser-wasm/native/cross/browser-wasm/mono-aot-cross + $(HELIX_CORRELATION_PAYLOAD)\monoaotcompiler\net5.0\MonoAOTCompiler.dll + $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder\publish\WasmAppBuilder.dll + $(HELIX_CORRELATION_PAYLOAD)/cross/cross/browser-wasm/mono-aot-cross $(HELIX_WORKITEM_ROOT) - $(HELIX_CORRELATION_PAYLOAD)\emsdk + $(HELIX_CORRELATION_PAYLOAD)/emsdk/emsdk false true - - + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) @@ -39,7 +39,7 @@ - + $([System.IO.Directory]::GetParent('%(Identity)').Name) From f2dc5df3f8f2bee7a5cd84b428b53730f0fca655 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Fri, 12 Feb 2021 15:40:53 +0000 Subject: [PATCH 07/97] Paths are correct - AOT System.Buffers works on helix --- eng/testing/tests.mobile.targets | 2 +- src/mono/wasm/build/aot-build.proj | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index f11ced3e696cfa..9c35e55fcee369 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,7 +14,7 @@ true - ls -la $HELIX_CORRELATION_PAYLOAD && dotnet msbuild publish/aot-build.proj && + ls -la $HELIX_CORRELATION_PAYLOAD/emsdk/emscripten && dotnet msbuild publish/aot-build.proj && $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index db76bc90bdc039..d5907854f440fb 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -13,7 +13,7 @@ $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder\publish\WasmAppBuilder.dll $(HELIX_CORRELATION_PAYLOAD)/cross/cross/browser-wasm/mono-aot-cross $(HELIX_WORKITEM_ROOT) - $(HELIX_CORRELATION_PAYLOAD)/emsdk/emsdk + $(HELIX_CORRELATION_PAYLOAD)/emsdk/emscripten false true @@ -53,4 +53,4 @@ - \ No newline at end of file + From 3ba7a8229e36524124df52c0b04589998e878b87 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Fri, 12 Feb 2021 11:29:46 -0500 Subject: [PATCH 08/97] Shift Most of Wasm AOT test build to helix Since AOT'ing each test suite takes between 3-9 min, we need to shift the burden over to helix. --- .config/dotnet-tools.json | 2 +- eng/Version.Details.xml | 76 ++++++++++++------------ eng/Versions.props | 30 +++++----- eng/common/tools.ps1 | 27 ++++++--- eng/common/tools.sh | 23 +++++-- eng/pipelines/runtime-staging.yml | 1 + global.json | 8 +-- src/libraries/tests.proj | 99 ------------------------------- 8 files changed, 97 insertions(+), 169 deletions(-) diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 1752d9d0789205..7a9fd28da246d1 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -15,7 +15,7 @@ ] }, "microsoft.dotnet.xharness.cli": { - "version": "1.0.0-prerelease.21103.1", + "version": "1.0.0-prerelease.21111.1", "commands": [ "xharness" ] diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index cb2f07e18c3a62..8d9f93ebccd44f 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -6,69 +6,69 @@ - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - fc83e59329203724d4a63c4f6c843be62983a35e + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe https://dev.azure.com/dnceng/internal/_git/dotnet-optimization @@ -90,9 +90,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization f69d7fc09c4fdb9e9427741b9a176e867dab577f - + https://github.com/microsoft/vstest - 140434f7109d357d0158ade9e5164a4861513965 + ca24ad0d8b48021ddbe98e4d688bb7e31c7b7eaf https://github.com/dotnet/runtime-assets @@ -198,13 +198,13 @@ https://github.com/mono/linker 319ed02ed9a25ec3800f723ff72a1eb92ef050c7 - + https://github.com/dotnet/xharness - bd947cb355b96a584128d12b58088f7efab57f96 + 66b9a52dfea930ff2cfb588e5f2636932a1f6868 - + https://github.com/dotnet/xharness - bd947cb355b96a584128d12b58088f7efab57f96 + 66b9a52dfea930ff2cfb588e5f2636932a1f6868 diff --git a/eng/Versions.props b/eng/Versions.props index 7333997b369ea2..e9ddc05c89b06e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -48,18 +48,18 @@ 3.8.0-4.20503.2 3.8.0 - 6.0.0-beta.21105.5 - 6.0.0-beta.21105.5 - 6.0.0-beta.21105.5 - 6.0.0-beta.21105.5 - 6.0.0-beta.21105.5 - 6.0.0-beta.21105.5 - 2.5.1-beta.21105.5 - 6.0.0-beta.21105.5 - 6.0.0-beta.21105.5 - 6.0.0-beta.21105.5 - 6.0.0-beta.21105.5 - 6.0.0-beta.21105.5 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 2.5.1-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 5.9.0-preview.2 @@ -141,9 +141,9 @@ 4.9.4 1.0.1-prerelease-00006 - 16.9.0-preview-20201201-01 - 1.0.0-prerelease.21103.1 - 1.0.0-prerelease.21103.1 + 16.5.0-preview-20191115-01 + 1.0.0-prerelease.21111.1 + 1.0.0-prerelease.21111.1 2.4.1 2.4.2 1.3.0 diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 10e98593e0c817..572da3b9f12cc8 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -508,7 +508,7 @@ function InitializeBuildTool() { ExitWithExitCode 1 } $dotnetPath = Join-Path $dotnetRoot (GetExecutableFileName 'dotnet') - $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'netcoreapp2.1' } + $buildTool = @{ Path = $dotnetPath; Command = 'msbuild'; Tool = 'dotnet'; Framework = 'netcoreapp3.1' } } elseif ($msbuildEngine -eq "vs") { try { $msbuildPath = InitializeVisualStudioMSBuild -install:$restore @@ -644,13 +644,26 @@ function MSBuild() { } $toolsetBuildProject = InitializeToolset - $path = Split-Path -parent $toolsetBuildProject - $path = Join-Path $path (Join-Path $buildTool.Framework 'Microsoft.DotNet.ArcadeLogging.dll') - if (-not (Test-Path $path)) { - $path = Split-Path -parent $toolsetBuildProject - $path = Join-Path $path (Join-Path $buildTool.Framework 'Microsoft.DotNet.Arcade.Sdk.dll') + $basePath = Split-Path -parent $toolsetBuildProject + $possiblePaths = @( + # new scripts need to work with old packages, so we need to look for the old names/versions + (Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.ArcadeLogging.dll')), + (Join-Path $basePath (Join-Path $buildTool.Framework 'Microsoft.DotNet.Arcade.Sdk.dll')), + (Join-Path $basePath (Join-Path netcoreapp2.1 'Microsoft.DotNet.ArcadeLogging.dll')), + (Join-Path $basePath (Join-Path netcoreapp2.1 'Microsoft.DotNet.Arcade.Sdk.dll')) + ) + $selectedPath = $null + foreach ($path in $possiblePaths) { + if (Test-Path $path -PathType Leaf) { + $selectedPath = $path + break + } + } + if (-not $selectedPath) { + Write-PipelineTelemetryError -Category 'Build' -Message 'Unable to find arcade sdk logger assembly.' + ExitWithExitCode 1 } - $args += "/logger:$path" + $args += "/logger:$selectedPath" } MSBuild-Core @args diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 0920f5965b6976..9019b7f5cc9101 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -307,7 +307,7 @@ function InitializeBuildTool { # return values _InitializeBuildTool="$_InitializeDotNetCli/dotnet" _InitializeBuildToolCommand="msbuild" - _InitializeBuildToolFramework="netcoreapp2.1" + _InitializeBuildToolFramework="netcoreapp3.1" } # Set RestoreNoCache as a workaround for https://github.com/NuGet/Home/issues/3116 @@ -414,11 +414,24 @@ function MSBuild { fi local toolset_dir="${_InitializeToolset%/*}" - local logger_path="$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.ArcadeLogging.dll" - if [[ ! -f $logger_path ]]; then - logger_path="$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.Arcade.Sdk.dll" + # new scripts need to work with old packages, so we need to look for the old names/versions + local selectedPath= + local possiblePaths=() + possiblePaths+=( "$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.ArcadeLogging.dll" ) + possiblePaths+=( "$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.Arcade.Sdk.dll" ) + possiblePaths+=( "$toolset_dir/netcoreapp2.1/Microsoft.DotNet.ArcadeLogging.dll" ) + possiblePaths+=( "$toolset_dir/netcoreapp2.1/Microsoft.DotNet.Arcade.Sdk.dll" ) + for path in "${possiblePaths[@]}"; do + if [[ -f $path ]]; then + selectedPath=$path + break + fi + done + if [[ -z "$selectedPath" ]]; then + Write-PipelineTelemetryError -category 'Build' "Unable to find arcade sdk logger assembly." + ExitWithExitCode 1 fi - args=( "${args[@]}" "-logger:$logger_path" ) + args+=( "-logger:$selectedPath" ) fi MSBuild-Core ${args[@]} diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 63ae194a8187b9..2d4d8d1f94686f 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -128,6 +128,7 @@ jobs: extraStepsParameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) + extraHelixArguments: /p:RunAOTCompilation=true scenarios: - normal condition: >- diff --git a/global.json b/global.json index 1ab37082daa8c9..ce5aedc8990388 100644 --- a/global.json +++ b/global.json @@ -12,10 +12,10 @@ "python3": "3.7.1" }, "msbuild-sdks": { - "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21105.5", - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21105.5", - "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21105.5", - "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21105.5", + "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21105.12", + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21105.12", + "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21105.12", + "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21105.12", "Microsoft.FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0", "Microsoft.NET.Sdk.IL": "6.0.0-preview.2.21101.2", "Microsoft.Build.NoTargets": "2.0.17", diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 7a10486c98acac..4f71cbc794be9c 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -159,103 +159,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Date: Fri, 12 Feb 2021 11:49:39 -0500 Subject: [PATCH 09/97] Reenable all tests --- src/libraries/tests.proj | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index ce953d90a6366a..a28143aeea80b3 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -159,7 +159,6 @@ - + From 62b9c3ede301a85919f0a204a56b2bf5efd2d585 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Fri, 12 Feb 2021 13:21:48 -0500 Subject: [PATCH 10/97] Skip functional tests for now --- src/libraries/tests.proj | 3 ++- src/mono/wasm/build/WasmApp.targets | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index a28143aeea80b3..09abc793b3a553 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -185,13 +185,14 @@ BuildInParallel="false" /> + $(MicrosoftNetCoreAppRuntimePackRidDir) <_WasmSrcPath Condition="'$(WasmSrcPath)' != ''">$(WasmSrcPath) - $(WasmSrcPath)src/emcc-flags.txt - $(WasmSrcPath)src/emcc-version.txt + $(_WasmSrcPath)src/emcc-flags.txt + $(_WasmSrcPath)src/emcc-version.txt $(_WasmIntermediateOutputPath)emcc-version.txt From ed624169954fcb87f3af0a4a86cd89cb07777cd3 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Fri, 12 Feb 2021 15:28:57 -0500 Subject: [PATCH 11/97] Copy emscripten in repo so the helix payload can be written to disk --- eng/testing/tests.mobile.targets | 17 ++++++++++++++++- src/libraries/sendtohelixhelp.proj | 3 ++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 9c35e55fcee369..d8a4bda3b32cbf 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -206,12 +206,27 @@ + + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) + true + + - + + + + + + + diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 086f758ae9e6f8..dd55711833a84b 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -231,6 +231,7 @@ 768968 https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chrome-linux.zip https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chromedriver_linux64.zip + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) @@ -251,7 +252,7 @@ - + emsdk true From 4b6f7cb1f3004a1d21dfeaba35c8843d3eeab159 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Fri, 12 Feb 2021 18:32:45 -0500 Subject: [PATCH 12/97] update to th right darc feed for the time being --- eng/Version.Details.xml | 88 +++++++++++++++--------------- eng/Versions.props | 36 ++++++------ eng/common/cross/build-rootfs.sh | 36 ++++++++---- eng/common/tools.ps1 | 2 +- global.json | 8 +-- src/mono/wasm/build/aot-build.proj | 2 +- 6 files changed, 93 insertions(+), 79 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 98e708aeea01b8..239612490ad4fa 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -6,69 +6,69 @@ - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe + 878e225db9097563760224f4e3d4f9ed93374243 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization @@ -162,21 +162,21 @@ https://github.com/dotnet/llvm-project 904460c12f46e4eafb963d9bffb5a136b2a09613 - + https://github.com/dotnet/runtime - 38017c3935de95d0335bac04f4901ddfc2718656 + d86d0668bbb1c51695b7b914e60e49aec1fdefbb - + https://github.com/dotnet/runtime - a66b4e3bf5e3c5ecb2e9fba771f69b177bd3844e + d86d0668bbb1c51695b7b914e60e49aec1fdefbb - + https://github.com/dotnet/runtime - a66b4e3bf5e3c5ecb2e9fba771f69b177bd3844e + d86d0668bbb1c51695b7b914e60e49aec1fdefbb - + https://github.com/dotnet/runtime - a66b4e3bf5e3c5ecb2e9fba771f69b177bd3844e + d86d0668bbb1c51695b7b914e60e49aec1fdefbb https://github.com/dotnet/runtime @@ -186,13 +186,13 @@ https://github.com/dotnet/runtime a66b4e3bf5e3c5ecb2e9fba771f69b177bd3844e - + https://github.com/dotnet/runtime - a66b4e3bf5e3c5ecb2e9fba771f69b177bd3844e + d86d0668bbb1c51695b7b914e60e49aec1fdefbb - + https://github.com/dotnet/runtime - a66b4e3bf5e3c5ecb2e9fba771f69b177bd3844e + d86d0668bbb1c51695b7b914e60e49aec1fdefbb https://github.com/mono/linker diff --git a/eng/Versions.props b/eng/Versions.props index 6274d87fad9794..10ea832fc3f10e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -48,24 +48,24 @@ 3.8.0-4.20503.2 3.8.0 - 6.0.0-beta.21105.12 - 6.0.0-beta.21105.12 - 6.0.0-beta.21105.12 - 6.0.0-beta.21105.12 - 6.0.0-beta.21105.12 - 6.0.0-beta.21105.12 - 2.5.1-beta.21105.12 - 6.0.0-beta.21105.12 - 6.0.0-beta.21105.12 - 6.0.0-beta.21105.12 - 6.0.0-beta.21105.12 - 6.0.0-beta.21105.12 + 6.0.0-beta.21112.2 + 6.0.0-beta.21112.2 + 6.0.0-beta.21112.2 + 6.0.0-beta.21112.2 + 6.0.0-beta.21112.2 + 6.0.0-beta.21112.2 + 2.5.1-beta.21112.2 + 6.0.0-beta.21112.2 + 6.0.0-beta.21112.2 + 6.0.0-beta.21112.2 + 6.0.0-beta.21112.2 + 6.0.0-beta.21112.2 5.9.0-preview.2 - 6.0.0-alpha.1.20612.4 - 6.0.0-preview.2.21108.2 - 6.0.0-preview.2.21108.2 + 5.0.0-alpha.1.19618.1 + 5.0.0-alpha.1.19618.1 + 5.0.0-alpha.1.19618.1 3.1.0 6.0.0-preview.2.21108.2 @@ -96,14 +96,14 @@ 4.7.0 4.7.0 4.7.0 - 6.0.0-preview.2.21108.2 - 6.0.0-preview.2.21108.2 + 5.0.0-alpha.1.19618.1 + 5.0.0-alpha.1.19618.1 4.3.0 4.5.4 4.5.0 1.1.1 4.3.0 - 6.0.0-preview.2.21108.2 + 5.0.0-alpha.1.19618.1 5.0.0-beta.21110.2 5.0.0-beta.21110.2 diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index ae0cd1aac7b41c..b26622444f5ba1 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -6,7 +6,7 @@ usage() { echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [--skipunmount] --rootfsdir ]" echo "BuildArch can be: arm(default), armel, arm64, x86" - echo "CodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen." + echo "CodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine, alpine3.9 or alpine3.13. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen." echo " for FreeBSD can be: freebsd11 or freebsd12." echo " for illumos can be: illumos." echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FReeBSD" @@ -183,9 +183,20 @@ while :; do __UbuntuRepo= __Tizen=tizen ;; - alpine) + alpine|alpine3.9) __CodeName=alpine __UbuntuRepo= + __AlpineVersion=3.9 + ;; + alpine3.13) + __CodeName=alpine + __UbuntuRepo= + __AlpineVersion=3.13 + # Alpine 3.13 has all the packages we need in the 3.13 repository + __AlpinePackages+=$__AlpinePackagesEdgeCommunity + __AlpinePackagesEdgeCommunity= + __AlpinePackages+=$__AlpinePackagesEdgeMain + __AlpinePackagesEdgeMain= ;; freebsd11) __FreeBSDBase="11.3-RELEASE" @@ -243,7 +254,6 @@ __RootfsDir="$( cd "$__RootfsDir" && pwd )" if [[ "$__CodeName" == "alpine" ]]; then __ApkToolsVersion=2.9.1 - __AlpineVersion=3.9 __ApkToolsDir=$(mktemp -d) wget https://github.com/alpinelinux/apk-tools/releases/download/v$__ApkToolsVersion/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -P $__ApkToolsDir tar -xf $__ApkToolsDir/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -C $__ApkToolsDir @@ -256,15 +266,19 @@ if [[ "$__CodeName" == "alpine" ]]; then -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ add $__AlpinePackages - $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main \ - -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ - add $__AlpinePackagesEdgeMain + if [[ -n "$__AlpinePackagesEdgeMain" ]]; then + $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main \ + -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ + add $__AlpinePackagesEdgeMain + fi - $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/community \ - -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ - add $__AlpinePackagesEdgeCommunity + if [[ -n "$__AlpinePackagesEdgeCommunity" ]]; then + $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/community \ + -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ + add $__AlpinePackagesEdgeCommunity + fi rm -r $__ApkToolsDir elif [[ "$__CodeName" == "freebsd" ]]; then diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index 572da3b9f12cc8..be5ce4a2ed564a 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -169,7 +169,7 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { Set-Content -Path $sdkCacheFileTemp -Value $dotnetRoot try { - Rename-Item -Force -Path $sdkCacheFileTemp 'sdk.txt' + Move-Item -Force $sdkCacheFileTemp (Join-Path $ToolsetDir 'sdk.txt') } catch { # Somebody beat us Remove-Item -Path $sdkCacheFileTemp diff --git a/global.json b/global.json index 1d1ce4385d2aef..c0d48d9a5b4ca3 100644 --- a/global.json +++ b/global.json @@ -12,10 +12,10 @@ "python3": "3.7.1" }, "msbuild-sdks": { - "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21105.12", - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21105.12", - "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21105.12", - "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21105.12", + "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21112.2", + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21112.2", + "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21112.2", + "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21112.2", "Microsoft.FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0", "Microsoft.NET.Sdk.IL": "6.0.0-preview.2.21108.2", "Microsoft.Build.NoTargets": "2.0.17", diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index d5907854f440fb..33f1cdeac4b08d 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -13,7 +13,7 @@ $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder\publish\WasmAppBuilder.dll $(HELIX_CORRELATION_PAYLOAD)/cross/cross/browser-wasm/mono-aot-cross $(HELIX_WORKITEM_ROOT) - $(HELIX_CORRELATION_PAYLOAD)/emsdk/emscripten + $(HELIX_CORRELATION_PAYLOAD)/emsdk false true From e1cd90443ad6e7557c9b95e98a3b40d576cfbedd Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Fri, 12 Feb 2021 19:11:45 -0500 Subject: [PATCH 13/97] Getting deps right --- eng/Version.Details.xml | 60 ++++++++++++++++---------------- eng/Versions.props | 24 ++++++------- eng/common/cross/build-rootfs.sh | 36 ++++++------------- eng/common/tools.ps1 | 2 +- global.json | 6 ++-- 5 files changed, 57 insertions(+), 71 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index e0ce791cd7b829..d02247c3aca1d3 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -6,69 +6,69 @@ - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe https://github.com/dotnet/arcade 878e225db9097563760224f4e3d4f9ed93374243 - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe - + https://github.com/dotnet/arcade - 878e225db9097563760224f4e3d4f9ed93374243 + 938b3e8b4edcd96ca0f0cbbae63c87b3f51f7afe https://dev.azure.com/dnceng/internal/_git/dotnet-optimization diff --git a/eng/Versions.props b/eng/Versions.props index 73f0196c3757aa..eff0d17a12f7a5 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -49,18 +49,18 @@ 3.8.0-4.20503.2 3.8.0 - 6.0.0-beta.21112.2 - 6.0.0-beta.21112.2 - 6.0.0-beta.21112.2 - 6.0.0-beta.21112.2 - 6.0.0-beta.21112.2 - 6.0.0-beta.21112.2 - 2.5.1-beta.21112.2 - 6.0.0-beta.21112.2 - 6.0.0-beta.21112.2 - 6.0.0-beta.21112.2 - 6.0.0-beta.21112.2 - 6.0.0-beta.21112.2 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 2.5.1-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 + 6.0.0-beta.21105.12 5.9.0-preview.2 diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh index b26622444f5ba1..ae0cd1aac7b41c 100755 --- a/eng/common/cross/build-rootfs.sh +++ b/eng/common/cross/build-rootfs.sh @@ -6,7 +6,7 @@ usage() { echo "Usage: $0 [BuildArch] [CodeName] [lldbx.y] [--skipunmount] --rootfsdir ]" echo "BuildArch can be: arm(default), armel, arm64, x86" - echo "CodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine, alpine3.9 or alpine3.13. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen." + echo "CodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen." echo " for FreeBSD can be: freebsd11 or freebsd12." echo " for illumos can be: illumos." echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine and FReeBSD" @@ -183,20 +183,9 @@ while :; do __UbuntuRepo= __Tizen=tizen ;; - alpine|alpine3.9) + alpine) __CodeName=alpine __UbuntuRepo= - __AlpineVersion=3.9 - ;; - alpine3.13) - __CodeName=alpine - __UbuntuRepo= - __AlpineVersion=3.13 - # Alpine 3.13 has all the packages we need in the 3.13 repository - __AlpinePackages+=$__AlpinePackagesEdgeCommunity - __AlpinePackagesEdgeCommunity= - __AlpinePackages+=$__AlpinePackagesEdgeMain - __AlpinePackagesEdgeMain= ;; freebsd11) __FreeBSDBase="11.3-RELEASE" @@ -254,6 +243,7 @@ __RootfsDir="$( cd "$__RootfsDir" && pwd )" if [[ "$__CodeName" == "alpine" ]]; then __ApkToolsVersion=2.9.1 + __AlpineVersion=3.9 __ApkToolsDir=$(mktemp -d) wget https://github.com/alpinelinux/apk-tools/releases/download/v$__ApkToolsVersion/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -P $__ApkToolsDir tar -xf $__ApkToolsDir/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -C $__ApkToolsDir @@ -266,19 +256,15 @@ if [[ "$__CodeName" == "alpine" ]]; then -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ add $__AlpinePackages - if [[ -n "$__AlpinePackagesEdgeMain" ]]; then - $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/main \ - -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ - add $__AlpinePackagesEdgeMain - fi + $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/main \ + -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ + add $__AlpinePackagesEdgeMain - if [[ -n "$__AlpinePackagesEdgeCommunity" ]]; then - $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ - -X http://dl-cdn.alpinelinux.org/alpine/edge/community \ - -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ - add $__AlpinePackagesEdgeCommunity - fi + $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \ + -X http://dl-cdn.alpinelinux.org/alpine/edge/community \ + -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \ + add $__AlpinePackagesEdgeCommunity rm -r $__ApkToolsDir elif [[ "$__CodeName" == "freebsd" ]]; then diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index be5ce4a2ed564a..572da3b9f12cc8 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -169,7 +169,7 @@ function InitializeDotNetCli([bool]$install, [bool]$createSdkLocationFile) { Set-Content -Path $sdkCacheFileTemp -Value $dotnetRoot try { - Move-Item -Force $sdkCacheFileTemp (Join-Path $ToolsetDir 'sdk.txt') + Rename-Item -Force -Path $sdkCacheFileTemp 'sdk.txt' } catch { # Somebody beat us Remove-Item -Path $sdkCacheFileTemp diff --git a/global.json b/global.json index c0d48d9a5b4ca3..d5560b807d3a98 100644 --- a/global.json +++ b/global.json @@ -12,10 +12,10 @@ "python3": "3.7.1" }, "msbuild-sdks": { - "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21112.2", - "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21112.2", + "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21105.12", + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21105.12", "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21112.2", - "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21112.2", + "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21105.12", "Microsoft.FIX-85B6-MERGE-9C38-CONFLICT": "1.0.0", "Microsoft.NET.Sdk.IL": "6.0.0-preview.2.21108.2", "Microsoft.Build.NoTargets": "2.0.17", From 4e7c7155bd64ef5aa073399fdc53abe7e504ea90 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Tue, 16 Feb 2021 16:46:51 +0000 Subject: [PATCH 14/97] Path adjustments... Should work nicely --- eng/testing/tests.mobile.targets | 2 +- src/mono/wasm/build/aot-build.proj | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index d8a4bda3b32cbf..0b0b8a29bf0d51 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,7 +14,7 @@ true - ls -la $HELIX_CORRELATION_PAYLOAD/emsdk/emscripten && dotnet msbuild publish/aot-build.proj && + dotnet msbuild publish/aot-build.proj && $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index 33f1cdeac4b08d..ed0977fa4c0bea 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -13,12 +13,14 @@ $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder\publish\WasmAppBuilder.dll $(HELIX_CORRELATION_PAYLOAD)/cross/cross/browser-wasm/mono-aot-cross $(HELIX_WORKITEM_ROOT) - $(HELIX_CORRELATION_PAYLOAD)/emsdk + $(HELIX_CORRELATION_PAYLOAD)/emsdk/emsdk false true + + From 06a4738612c991ea327e7f073ee5056511e8a60e Mon Sep 17 00:00:00 2001 From: Marek Safar Date: Wed, 17 Feb 2021 15:44:28 +0100 Subject: [PATCH 15/97] Tweak linker settings to meet tests expectations --- eng/testing/tests.mobile.targets | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 0b0b8a29bf0d51..6a487302605c8e 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -20,10 +20,10 @@ $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing false - true + false false false - false + true @@ -115,7 +115,7 @@ - @@ -193,9 +193,9 @@ - - PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) @@ -222,10 +222,10 @@ - From 4f17c4e647209433bf05f53374e54b74b8db1fe5 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 1 Mar 2021 09:59:16 -0500 Subject: [PATCH 16/97] [testing] Add more assemblies to depend on during linking of library tests --- eng/testing/ILLink.Descriptor.xunit.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/eng/testing/ILLink.Descriptor.xunit.xml b/eng/testing/ILLink.Descriptor.xunit.xml index 4ddd4e09d883db..e6b4f4d05afc9f 100644 --- a/eng/testing/ILLink.Descriptor.xunit.xml +++ b/eng/testing/ILLink.Descriptor.xunit.xml @@ -9,7 +9,9 @@ - - + + + + From c0bb31b7f030309ba3046397d709ffed70c0e34e Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 1 Mar 2021 10:02:15 -0500 Subject: [PATCH 17/97] Temporarily EnableAggressiveTrimming to discern AOT failures --- eng/pipelines/runtime.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 884874a83bcd91..db6f2b89c977e0 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -284,7 +284,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true timeoutInMinutes: 120 condition: >- or( From b4482b6635bec12d9a029b07f6762eea9a0ea165 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Mon, 1 Mar 2021 13:07:26 -0500 Subject: [PATCH 18/97] Hardcoding pays a price ;-) --- src/mono/wasm/build/aot-build.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index ed0977fa4c0bea..57ecef08df54d4 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -9,7 +9,7 @@ $(HELIX_CORRELATION_PAYLOAD)/wasm-source/ $(TestRootDir)/publish/ $(HELIX_WORKITEM_ROOT)\obj - $(HELIX_CORRELATION_PAYLOAD)\monoaotcompiler\net5.0\MonoAOTCompiler.dll + $(HELIX_CORRELATION_PAYLOAD)\monoaotcompiler\net6.0\MonoAOTCompiler.dll $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder\publish\WasmAppBuilder.dll $(HELIX_CORRELATION_PAYLOAD)/cross/cross/browser-wasm/mono-aot-cross $(HELIX_WORKITEM_ROOT) From f60f641ba96dde2a116c814846ae7c69d8ad40bc Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 1 Mar 2021 14:51:24 -0500 Subject: [PATCH 19/97] [wasm] ReAdd WasmSrcPath --- src/mono/wasm/build/WasmApp.targets | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/mono/wasm/build/WasmApp.targets b/src/mono/wasm/build/WasmApp.targets index 70cb1454e03c59..9851ab166a90ef 100644 --- a/src/mono/wasm/build/WasmApp.targets +++ b/src/mono/wasm/build/WasmApp.targets @@ -215,7 +215,10 @@ - $(MicrosoftNetCoreAppRuntimePackRidDir)native\src\emcc-flags.txt + <_WasmSrcPath Condition="'$(WasmSrcPath)' == ''">$(MicrosoftNetCoreAppRuntimePackRidDir) + <_WasmSrcPath Condition="'$(WasmSrcPath)' != ''">$(WasmSrcPath) + + $(_WasmSrcPath)\src\emcc-flags.txt true $(WasmBuildNative) @@ -275,8 +278,8 @@ Text="Bug: Number of assemblies doesn't match the number of generated bitcode files. BitcodeFiles: @(_BitcodeFile->Count()) vs Assemblies: @(_WasmAssemblies->Count())" /> - <_WasmIncludeDir>$(MicrosoftNetCoreAppRuntimePackRidDir)native/include - <_WasmSrcDir>$(MicrosoftNetCoreAppRuntimePackRidDir)native/src + <_WasmIncludeDir>$(_WasmSrcPath)include + <_WasmSrcDir>$(_WasmSrcPath)src $(EmccFlags) -DCORE_BINDINGS -DGEN_PINVOKE=1 -I$(_WasmIntermediateOutputPath) -I$(_WasmIncludeDir)/mono-2.0 -I$(_WasmIncludeDir)/wasm $(EmccFlags) -s TOTAL_MEMORY=536870912 <_WasmOptCommand>$([MSBuild]::NormalizePath('$(EMSDK_PATH)', 'upstream', 'bin', 'wasm-opt$(_ExeExt)')) From 21dec7f734b15d4498a6750b106842b3d89f958d Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 1 Mar 2021 16:04:50 -0500 Subject: [PATCH 20/97] [wasm] Exclude System.Reflection.MetadataLoadContext from non AOT wasm run with EnableAggressiveTrimming enabled --- src/libraries/tests.proj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index e726b9c7c1351b..f67c9e0df5eaab 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -158,6 +158,10 @@ + + + + Date: Mon, 1 Mar 2021 16:04:50 -0500 Subject: [PATCH 21/97] [wasm] Exclude System.Reflection.MetadataLoadContext from non AOT wasm run with EnableAggressiveTrimming enabled --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index f67c9e0df5eaab..94ac3699a0c758 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -159,6 +159,7 @@ + From 50df0610fb1b6d31f2f39e4bdd8b262055f03bdc Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Mon, 1 Mar 2021 18:52:22 -0500 Subject: [PATCH 22/97] Added ability to bypass emcc version check back in: --- src/mono/wasm/build/WasmApp.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/wasm/build/WasmApp.targets b/src/mono/wasm/build/WasmApp.targets index 9851ab166a90ef..1a32411da3a281 100644 --- a/src/mono/wasm/build/WasmApp.targets +++ b/src/mono/wasm/build/WasmApp.targets @@ -338,7 +338,7 @@ EMSCRIPTEN_KEEPALIVE void mono_wasm_load_profiler_aot (const char *desc) { mono_ - + From cf140366b4a02850c65aabb92fe9a098ca0796c5 Mon Sep 17 00:00:00 2001 From: Steve Pfister Date: Mon, 1 Mar 2021 22:02:50 -0500 Subject: [PATCH 23/97] Preserved mscorlib for the non aot / aggressive trimming runs --- eng/testing/ILLink.Descriptor.xunit.xml | 1 + src/libraries/tests.proj | 5 ----- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/eng/testing/ILLink.Descriptor.xunit.xml b/eng/testing/ILLink.Descriptor.xunit.xml index e6b4f4d05afc9f..f0a9f616a00fe4 100644 --- a/eng/testing/ILLink.Descriptor.xunit.xml +++ b/eng/testing/ILLink.Descriptor.xunit.xml @@ -11,6 +11,7 @@ + diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 94ac3699a0c758..e726b9c7c1351b 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -158,11 +158,6 @@ - - - - - Date: Tue, 2 Mar 2021 12:37:27 -0500 Subject: [PATCH 24/97] Temporarily remove exception clause preventing AOT compilation --- .../src/System/IO/LegacyFileStreamStrategy.Unix.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Private.CoreLib/src/System/IO/LegacyFileStreamStrategy.Unix.cs b/src/libraries/System.Private.CoreLib/src/System/IO/LegacyFileStreamStrategy.Unix.cs index 550b2acab25051..23cba6f1dc4a9f 100644 --- a/src/libraries/System.Private.CoreLib/src/System/IO/LegacyFileStreamStrategy.Unix.cs +++ b/src/libraries/System.Private.CoreLib/src/System/IO/LegacyFileStreamStrategy.Unix.cs @@ -172,7 +172,7 @@ protected override void Dispose(bool disposing) { FlushWriteBuffer(); } - catch (Exception e) when (IsIoRelatedException(e) && !disposing) + catch { // On finalization, ignore failures from trying to flush the write buffer, // e.g. if this stream is wrapping a pipe and the pipe is now broken. From a0eadd845227e3515dfe7f70c75e71a380a36d5e Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Tue, 2 Mar 2021 12:37:51 -0500 Subject: [PATCH 25/97] [wasm] Fix path to _WasmSrcPath locally --- src/mono/wasm/build/WasmApp.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/wasm/build/WasmApp.targets b/src/mono/wasm/build/WasmApp.targets index 1a32411da3a281..44135500d83b56 100644 --- a/src/mono/wasm/build/WasmApp.targets +++ b/src/mono/wasm/build/WasmApp.targets @@ -215,7 +215,7 @@ - <_WasmSrcPath Condition="'$(WasmSrcPath)' == ''">$(MicrosoftNetCoreAppRuntimePackRidDir) + <_WasmSrcPath Condition="'$(WasmSrcPath)' == ''">$(MicrosoftNetCoreAppRuntimePackRidDir)native\ <_WasmSrcPath Condition="'$(WasmSrcPath)' != ''">$(WasmSrcPath) $(_WasmSrcPath)\src\emcc-flags.txt From 3deee26c2a8c38fcfd05ee4b92bc3cd140c81f8f Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Tue, 2 Mar 2021 16:00:45 -0500 Subject: [PATCH 26/97] Temporarily bump xharness version to see impact on wasm test reliability --- eng/Versions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/Versions.props b/eng/Versions.props index 5ac8ca462e9fa2..690dd19eb4424d 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -144,8 +144,8 @@ 1.0.1-prerelease-00006 16.9.0-preview-20201201-01 - 1.0.0-prerelease.21126.2 - 1.0.0-prerelease.21126.2 + 1.0.0-prerelease.21152.3 + 1.0.0-prerelease.21152.3 2.4.1 2.4.2 1.3.0 From 0b4f55a3b6d587c4645d29319368d6ec314770e0 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 8 Mar 2021 11:29:26 -0500 Subject: [PATCH 27/97] [Wasm][AOT] Isolate AOT compilation related library test failures --- src/libraries/tests.proj | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index d7b5c092cb6cc0..6db5d5192d5f40 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -158,6 +158,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Date: Mon, 8 Mar 2021 14:21:47 -0500 Subject: [PATCH 28/97] Bump timeout --- eng/pipelines/runtime-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 958f652ab508b5..63369cef7b8866 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -116,7 +116,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono_AOT buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true - timeoutInMinutes: 120 + timeoutInMinutes: 180 condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), From 8ad45152902e1e9909c71240f16a7d3d0c96d813 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Tue, 9 Mar 2021 15:18:37 -0500 Subject: [PATCH 29/97] [wasm] Bump wasm docker image and remove copying of emsdk --- eng/pipelines/common/platform-matrix.yml | 2 +- eng/testing/tests.mobile.targets | 34 ++---------------------- 2 files changed, 3 insertions(+), 33 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index cbf5370a09300b..08990a56a73aee 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -193,7 +193,7 @@ jobs: targetRid: browser-wasm platform: Browser_wasm container: - image: ubuntu-18.04-webassembly-20210223133559-4800846 + image: ubuntu-18.04-webassembly-20210309143118-005aab4 registry: mcr jobParameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index f7db8e543caa34..8875bd276ad373 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -240,51 +240,21 @@ Condition="'$(ShouldBuildWasmLocally)' == 'true'" /> PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - + - - - - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - true - + - - - - - - - - - - - - - - - - - - $(BundleDir) From 62dee6bf59342943e2819cecbfc21269240c42a0 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 10 Mar 2021 15:41:01 -0500 Subject: [PATCH 30/97] [wasm] Run AggressivelyTrimmed AOT wasm Library tests with AotInterp mode --- eng/pipelines/runtime-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 63369cef7b8866..cfd6178cd1de6a 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -115,7 +115,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono_AOT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:AOTMode=AotInterp /p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true timeoutInMinutes: 180 condition: >- or( From 8dee79b08d353a29a71e823c2d5362fe97f24542 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Thu, 11 Mar 2021 08:42:57 -0500 Subject: [PATCH 31/97] [wasm][AOT] Skip suite hitting MarkTypeForDynamicallyAccessedMembers stack overflow --- src/libraries/tests.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 63bd4e0e470935..b8a19d83f315f5 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -207,6 +207,9 @@ + + + From 047b2bacb644a023add57fe71977a98f8c5799c8 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Thu, 11 Mar 2021 12:06:24 -0500 Subject: [PATCH 32/97] [wasm][helix] Remove emsdk middleman --- src/libraries/sendtohelixhelp.proj | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index ea2e5a796d661f..e86326f383d72a 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -240,7 +240,6 @@ 768968 https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chrome-linux.zip https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chromedriver_linux64.zip - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'build')) @@ -256,7 +255,7 @@ - + From 9901db00f5c85d01423297745aa28b34dd07b066 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Fri, 12 Mar 2021 16:38:30 -0500 Subject: [PATCH 33/97] Revert "[wasm] Bump wasm docker image and remove copying of emsdk" This reverts commit 8ad45152902e1e9909c71240f16a7d3d0c96d813. --- eng/pipelines/common/platform-matrix.yml | 2 +- eng/testing/tests.mobile.targets | 34 ++++++++++++++++++++++-- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 08990a56a73aee..cbf5370a09300b 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -193,7 +193,7 @@ jobs: targetRid: browser-wasm platform: Browser_wasm container: - image: ubuntu-18.04-webassembly-20210309143118-005aab4 + image: ubuntu-18.04-webassembly-20210223133559-4800846 registry: mcr jobParameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 8875bd276ad373..f7db8e543caa34 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -240,21 +240,51 @@ Condition="'$(ShouldBuildWasmLocally)' == 'true'" /> PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - + - + + + + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) + true + + + + + + + + + + + + + + + + + + + $(BundleDir) From 60b176bac83c0a05edabd6a41fdff99ae5a15c90 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Fri, 12 Mar 2021 16:38:53 -0500 Subject: [PATCH 34/97] Revert "[wasm][helix] Remove emsdk middleman" This reverts commit 047b2bacb644a023add57fe71977a98f8c5799c8. --- src/libraries/sendtohelixhelp.proj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 4a3b384aeaac47..1039e29f046d20 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -240,6 +240,7 @@ 768968 https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chrome-linux.zip https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chromedriver_linux64.zip + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'build')) @@ -255,7 +256,7 @@ - + From bb36d7c19ab84d80e43276a76897536349dab1ed Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Fri, 12 Mar 2021 16:39:48 -0500 Subject: [PATCH 35/97] [wasm] Bump wasm docker image --- eng/pipelines/common/platform-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index cbf5370a09300b..08990a56a73aee 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -193,7 +193,7 @@ jobs: targetRid: browser-wasm platform: Browser_wasm container: - image: ubuntu-18.04-webassembly-20210223133559-4800846 + image: ubuntu-18.04-webassembly-20210309143118-005aab4 registry: mcr jobParameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} From b1a1d408d7cd2513c884ef22b2cde11081975ffb Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Fri, 12 Mar 2021 16:41:49 -0500 Subject: [PATCH 36/97] [wasm][AOT][helix] Debug emsdk --- eng/testing/tests.mobile.targets | 2 +- src/libraries/tests.proj | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index f7db8e543caa34..b04c600a47cc3d 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,7 +14,7 @@ true - dotnet msbuild publish/aot-build.proj && + ls -la $HELIX_CORRELATION_PAYLOAD && ls -la $HELIX_CORRELATION_PAYLOAD/emscripten && ls -al $HELIX_CORRELATION_PAYLOAD/emscripten/emsdk && dotnet msbuild publish/aot-build.proj && $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index b8a19d83f315f5..ca95a94caef72a 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -210,6 +210,9 @@ + + + From 7507a81c3ca81e9b15444452a4f6d630ddde29e4 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 15 Mar 2021 10:52:22 -0400 Subject: [PATCH 37/97] ReAdd ability to bypass emcc version check in --- src/mono/wasm/build/WasmApp.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/wasm/build/WasmApp.targets b/src/mono/wasm/build/WasmApp.targets index 964b162645555a..1172b1e9d71555 100644 --- a/src/mono/wasm/build/WasmApp.targets +++ b/src/mono/wasm/build/WasmApp.targets @@ -404,7 +404,7 @@ EMSCRIPTEN_KEEPALIVE void mono_wasm_load_profiler_aot (const char *desc) { mono_ - + From fa90a91e45e621602d7ebca3b92d40b268960a47 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 15 Mar 2021 14:40:37 -0400 Subject: [PATCH 38/97] [wasm][helix] Test using EMSDK_PATH var directly with updated docker version --- src/libraries/sendtohelixhelp.proj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 1039e29f046d20..ff0625d726b13e 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -208,6 +208,7 @@ + @@ -256,7 +257,7 @@ - + @@ -270,7 +271,7 @@ - + emsdk true From 7c3e7bc4ca6a937c40f5537396c8494928d15ce5 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Tue, 16 Mar 2021 09:59:11 -0400 Subject: [PATCH 39/97] Revert "[wasm][AOT][helix] Debug emsdk" This reverts commit b1a1d408d7cd2513c884ef22b2cde11081975ffb. --- eng/testing/tests.mobile.targets | 2 +- src/libraries/tests.proj | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index b04c600a47cc3d..f7db8e543caa34 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,7 +14,7 @@ true - ls -la $HELIX_CORRELATION_PAYLOAD && ls -la $HELIX_CORRELATION_PAYLOAD/emscripten && ls -al $HELIX_CORRELATION_PAYLOAD/emscripten/emsdk && dotnet msbuild publish/aot-build.proj && + dotnet msbuild publish/aot-build.proj && $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index ca95a94caef72a..b8a19d83f315f5 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -210,9 +210,6 @@ - - - From cec25fae7a2b0f9048327b9a18e9763c0dbfd965 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Thu, 18 Mar 2021 14:29:56 -0400 Subject: [PATCH 40/97] [wasm] Utilize bits from Wasm.Build.Tests for AOT lane --- eng/testing/tests.mobile.targets | 4 ++- src/libraries/sendtohelixhelp.proj | 30 ++++----------------- src/mono/wasm/build/Directory.Build.Props | 11 ++++++++ src/mono/wasm/build/Directory.Build.Targets | 21 +++++++++++++++ src/mono/wasm/build/aot-build.proj | 5 ---- 5 files changed, 40 insertions(+), 31 deletions(-) create mode 100644 src/mono/wasm/build/Directory.Build.Props create mode 100644 src/mono/wasm/build/Directory.Build.Targets diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 5ff437c4c44673..7171721884ec75 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,7 +14,7 @@ true - dotnet msbuild publish/aot-build.proj && + ls -al $HELIX_CORRELATION_PAYLOAD && ls -al $HELIX_CORRELATION_PAYLOAD/wasm-source && ls -al $HELIX_CORRELATION_PAYLOAD/wasm-source/native/src/ && dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /p:EMSDK_PATH=$HELIX_CORRELATION_PAYLOAD/build/emsdk && $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll @@ -255,6 +255,8 @@ + + diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index ff0625d726b13e..e48e9627360bc4 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -270,31 +270,11 @@ - - - emsdk - true - - - wasmappbuilder - true - - - monoaotcompiler - true - - - cross - true - - - wasm-build - true - - - wasm-source - true - + + + + + <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> <_WorkItem Include="$(TestArchiveRoot)runonly/**/WebAssembly.Console.*.Test.zip" Condition="'$(TargetOS)' == 'Browser' and '$(Scenario)' != 'WasmTestOnBrowser' and '$(Scenario)' != 'BuildWasmApps'" /> diff --git a/src/mono/wasm/build/Directory.Build.Props b/src/mono/wasm/build/Directory.Build.Props new file mode 100644 index 00000000000000..6506043ea4578c --- /dev/null +++ b/src/mono/wasm/build/Directory.Build.Props @@ -0,0 +1,11 @@ + + + <_WasmTargetsDir Condition="'$(RuntimeSrcDir)' != ''">$(RuntimeSrcDir)\src\mono\wasm\build\ + <_WasmTargetsDir Condition="'$(WasmBuildSupportDir)' != ''">$(WasmBuildSupportDir)\wasm\ + $(WasmBuildSupportDir)\emsdk\ + + + + PrepareForWasmBuild;$(WasmBuildAppDependsOn) + + \ No newline at end of file diff --git a/src/mono/wasm/build/Directory.Build.Targets b/src/mono/wasm/build/Directory.Build.Targets new file mode 100644 index 00000000000000..02587fe83d6f7e --- /dev/null +++ b/src/mono/wasm/build/Directory.Build.Targets @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index 57ecef08df54d4..c83e4bc3d40d58 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -9,11 +9,6 @@ $(HELIX_CORRELATION_PAYLOAD)/wasm-source/ $(TestRootDir)/publish/ $(HELIX_WORKITEM_ROOT)\obj - $(HELIX_CORRELATION_PAYLOAD)\monoaotcompiler\net6.0\MonoAOTCompiler.dll - $(HELIX_CORRELATION_PAYLOAD)\wasmappbuilder\publish\WasmAppBuilder.dll - $(HELIX_CORRELATION_PAYLOAD)/cross/cross/browser-wasm/mono-aot-cross - $(HELIX_WORKITEM_ROOT) - $(HELIX_CORRELATION_PAYLOAD)/emsdk/emsdk false true From 78264e595b27f98f74f93f9ae7b0301f08b444b0 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Thu, 18 Mar 2021 21:00:16 -0400 Subject: [PATCH 41/97] [wasm] Skip test suite with trim analysis error IL2103 --- src/libraries/tests.proj | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index d660ddc851bf99..1d53bfaa232693 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -209,7 +209,10 @@ - + + + + From ca8bf81dc838a32543e0cac541cc66f2627e4a1a Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Fri, 19 Mar 2021 00:14:55 -0400 Subject: [PATCH 42/97] [wasm] Debug no test results --- eng/testing/tests.mobile.targets | 2 +- src/mono/wasm/build/aot-build.proj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 7171721884ec75..305e3a4ab44728 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,7 +14,7 @@ true - ls -al $HELIX_CORRELATION_PAYLOAD && ls -al $HELIX_CORRELATION_PAYLOAD/wasm-source && ls -al $HELIX_CORRELATION_PAYLOAD/wasm-source/native/src/ && dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /p:EMSDK_PATH=$HELIX_CORRELATION_PAYLOAD/build/emsdk && + ls -al $HELIX_CORRELATION_PAYLOAD && ls -al $HELIX_CORRELATION_PAYLOAD/build && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/native/src/ && dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /p:EMSDK_PATH=$HELIX_CORRELATION_PAYLOAD/build/emsdk && $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index c83e4bc3d40d58..3d04bf5f196632 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -6,7 +6,7 @@ System.Buffers.Tests $(HELIX_WORKITEM_ROOT) $(TestRootDir) - $(HELIX_CORRELATION_PAYLOAD)/wasm-source/ + $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/ $(TestRootDir)/publish/ $(HELIX_WORKITEM_ROOT)\obj From 373c1720642efe98c5d044acfacc0e85618de02d Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Fri, 19 Mar 2021 10:40:28 -0400 Subject: [PATCH 43/97] [wasm] Fix path to props and targets --- src/mono/wasm/build/aot-build.proj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index 3d04bf5f196632..ed476452ce4f49 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -16,8 +16,8 @@ - - + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) From 17c2c20a1d2a819b5b58d221ca4d6ef5a6649e64 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Fri, 19 Mar 2021 13:26:15 -0400 Subject: [PATCH 44/97] [wasm] Fix path to helix MonoAOTCompiler --- src/mono/wasm/build/aot-build.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index ed476452ce4f49..50361a7f4724da 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -14,7 +14,7 @@ true - + From 27dad5d76510ba50454b9d6f698ce520f11eeed0 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Sun, 21 Mar 2021 10:31:54 -0400 Subject: [PATCH 45/97] [wasm] Fix aot-build props --- src/mono/wasm/build/aot-build.proj | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj index 50361a7f4724da..795e4d975e3227 100644 --- a/src/mono/wasm/build/aot-build.proj +++ b/src/mono/wasm/build/aot-build.proj @@ -9,12 +9,15 @@ $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/ $(TestRootDir)/publish/ $(HELIX_WORKITEM_ROOT)\obj - + $(HELIX_CORRELATION_PAYLOAD)/build/WasmAppBuilder/WasmAppBuilder.dll + $(HELIX_CORRELATION_PAYLOAD)/build/MonoAOTCompiler/MonoAOTCompiler.dll + $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ false true + $(MicrosoftNETCoreAppRuntimePackRidDir)native/cross/browser-wasm/mono-aot-cross - + From 948a64546abaa80487b4652bd238968c437defd2 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Fri, 2 Apr 2021 15:21:01 -0400 Subject: [PATCH 46/97] [wasm] Shift Most of Wasm AOT test build to helix Authored by: Steve Pfister, and Mitchell Hwang --- Directory.Build.props | 1 + eng/pipelines/common/platform-matrix.yml | 2 +- eng/pipelines/runtime-staging.yml | 5 +- eng/pipelines/runtime.yml | 2 +- eng/testing/ILLink.Descriptor.xunit.xml | 7 +- eng/testing/tests.mobile.targets | 51 +++++-- src/libraries/sendtohelixhelp.proj | 16 ++- src/libraries/tests.proj | 145 +++++++------------- src/mono/wasm/build/Directory.Build.Props | 11 ++ src/mono/wasm/build/Directory.Build.Targets | 21 +++ src/mono/wasm/build/aot-build.proj | 56 ++++++++ 11 files changed, 208 insertions(+), 109 deletions(-) create mode 100644 src/mono/wasm/build/Directory.Build.Props create mode 100644 src/mono/wasm/build/Directory.Build.Targets create mode 100644 src/mono/wasm/build/aot-build.proj diff --git a/Directory.Build.props b/Directory.Build.props index be3d42e18ba93f..9d024eef3d5c3d 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -70,6 +70,7 @@ $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) + $([MSBuild]::NormalizeDirectory('src', 'mono', 'wasm', 'build')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(NetCoreAppToolCurrent)')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'RuntimeConfigParser', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml index 000d1dcecdfdac..b8eb5b253438dc 100644 --- a/eng/pipelines/common/platform-matrix.yml +++ b/eng/pipelines/common/platform-matrix.yml @@ -194,7 +194,7 @@ jobs: targetRid: browser-wasm platform: Browser_wasm container: - image: ubuntu-18.04-webassembly-20210223133559-4800846 + image: ubuntu-18.04-webassembly-20210309143118-005aab4 registry: mcr jobParameters: runtimeFlavor: ${{ parameters.runtimeFlavor }} diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 0197670b072187..5553de2b32bb95 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -205,8 +205,8 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono_AOT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true - timeoutInMinutes: 120 + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:AOTMode=AotInterp /p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true + timeoutInMinutes: 180 condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), @@ -218,6 +218,7 @@ jobs: extraStepsParameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) + extraHelixArguments: /p:RunAOTCompilation=true scenarios: - normal condition: >- diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 476150aad686ab..000f31a11e9c0b 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -279,7 +279,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true timeoutInMinutes: 180 condition: >- or( diff --git a/eng/testing/ILLink.Descriptor.xunit.xml b/eng/testing/ILLink.Descriptor.xunit.xml index 4ddd4e09d883db..f0a9f616a00fe4 100644 --- a/eng/testing/ILLink.Descriptor.xunit.xml +++ b/eng/testing/ILLink.Descriptor.xunit.xml @@ -9,7 +9,10 @@ - - + + + + + diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 81246339652ca0..1857152a750429 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,14 +14,19 @@ + true + + ls -al $HELIX_CORRELATION_PAYLOAD && ls -al $HELIX_CORRELATION_PAYLOAD/build && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/native/src/ && dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /p:EMSDK_PATH=$HELIX_CORRELATION_PAYLOAD/build/emsdk && + - $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll - $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing + $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll + $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing false - true + false false false - false + true @@ -163,7 +168,7 @@ - @@ -244,14 +249,44 @@ - - + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - + + + + + + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) + true + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + @@ -404,7 +359,8 @@ Exclude="@(ProjectExclusions)" BuildInParallel="false" /> - + + + + <_WasmTargetsDir Condition="'$(RuntimeSrcDir)' != ''">$(RuntimeSrcDir)\src\mono\wasm\build\ + <_WasmTargetsDir Condition="'$(WasmBuildSupportDir)' != ''">$(WasmBuildSupportDir)\wasm\ + $(WasmBuildSupportDir)\emsdk\ + + + + PrepareForWasmBuild;$(WasmBuildAppDependsOn) + + \ No newline at end of file diff --git a/src/mono/wasm/build/Directory.Build.Targets b/src/mono/wasm/build/Directory.Build.Targets new file mode 100644 index 00000000000000..02587fe83d6f7e --- /dev/null +++ b/src/mono/wasm/build/Directory.Build.Targets @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj new file mode 100644 index 00000000000000..795e4d975e3227 --- /dev/null +++ b/src/mono/wasm/build/aot-build.proj @@ -0,0 +1,56 @@ + + + + true + System.Buffers.Tests + $(HELIX_WORKITEM_ROOT) + $(TestRootDir) + $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/ + $(TestRootDir)/publish/ + $(HELIX_WORKITEM_ROOT)\obj + $(HELIX_CORRELATION_PAYLOAD)/build/WasmAppBuilder/WasmAppBuilder.dll + $(HELIX_CORRELATION_PAYLOAD)/build/MonoAOTCompiler/MonoAOTCompiler.dll + $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ + false + true + $(MicrosoftNETCoreAppRuntimePackRidDir)native/cross/browser-wasm/mono-aot-cross + + + + + + + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) + + + + + + + + + $(BundleDir) + $(TestRootDir)\publish\WasmTestRunner.dll + $(TestRootDir)\publish\runtime-test.js + true + true + + + + + + $([System.IO.Directory]::GetParent('%(Identity)').Name) + + + + + + + + + + + From 0f3c070000bd94ceb3148e691ebcc660d6eb9b82 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Sun, 4 Apr 2021 17:34:54 -0400 Subject: [PATCH 47/97] [wasm][aot] Use existing bits to package emsdk, and others to build apps .. on helix. - Essentially, we are building the test assembly on the build machine - then we package that up, with bits required to be able to "wasm-app-ify" the assembly on Helix - We already do parts of it for wasm build tests, so make use of that - Also, fix bugs in recreating the test project on helix, eg. files to be included in the VFS. - Since, the AOT tests will be run with `EnableAggressiveTrimming=true`, some issues can be due to the trimming itself. - to help isolate such issues, we want to be able to build in the *same* way (on helix), with just EAT - so, this commit helps facilitate that --- .../ILLink.Descriptor.TestUtilities.xml | 5 ++ eng/testing/ILLink.Descriptor.xunit.xml | 3 - eng/testing/tests.mobile.targets | 90 ++++++++++--------- src/libraries/sendtohelix.proj | 2 +- src/libraries/sendtohelixhelp.proj | 23 ++--- src/libraries/tests.proj | 8 +- src/mono/wasm/Makefile | 2 +- src/mono/wasm/build/aot-build.proj | 56 ------------ .../aot-tests/Directory.Build.props} | 4 +- .../aot-tests/Directory.Build.targets} | 2 +- src/mono/wasm/data/aot-tests/aot-build.proj | 42 +++++++++ 11 files changed, 113 insertions(+), 124 deletions(-) create mode 100644 eng/testing/ILLink.Descriptor.TestUtilities.xml delete mode 100644 src/mono/wasm/build/aot-build.proj rename src/mono/wasm/{build/Directory.Build.Props => data/aot-tests/Directory.Build.props} (82%) rename src/mono/wasm/{build/Directory.Build.Targets => data/aot-tests/Directory.Build.targets} (99%) create mode 100644 src/mono/wasm/data/aot-tests/aot-build.proj diff --git a/eng/testing/ILLink.Descriptor.TestUtilities.xml b/eng/testing/ILLink.Descriptor.TestUtilities.xml new file mode 100644 index 00000000000000..ac7e328c9038ec --- /dev/null +++ b/eng/testing/ILLink.Descriptor.TestUtilities.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/eng/testing/ILLink.Descriptor.xunit.xml b/eng/testing/ILLink.Descriptor.xunit.xml index f0a9f616a00fe4..eb99fc4d0039b0 100644 --- a/eng/testing/ILLink.Descriptor.xunit.xml +++ b/eng/testing/ILLink.Descriptor.xunit.xml @@ -12,7 +12,4 @@ - - - diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 1857152a750429..509a74ccfad931 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -13,15 +13,27 @@ true - - true + + helix + helix + local + - ls -al $HELIX_CORRELATION_PAYLOAD && ls -al $HELIX_CORRELATION_PAYLOAD/build && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ && ls -al $HELIX_CORRELATION_PAYLOAD/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/native/src/ && dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /p:EMSDK_PATH=$HELIX_CORRELATION_PAYLOAD/build/emsdk && + + find $HELIX_CORRELATION_PAYLOAD -type d ; find . + $(RunScriptCommand); dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /bl:$XHARNESS_OUT/AOTBuild.binlog + $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) + $(RunScriptCommand) && cd AppBundle && + + + - $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll - $(AOTScriptCommand)$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing + $(RunScriptCommand) $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll + $(RunScriptCommand) $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing + + + false false false @@ -245,61 +257,53 @@ + + Condition="'$(TargetOS)' == 'Browser' and '$(BuildWasmTestsOn)' == 'local'" /> - + Condition="'$(TargetOS)' == 'Browser' and '$(BuildWasmTestsOn)' == 'local'" /> + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - + $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - + WasmBuildApp + StageEmSdkForHelix - + $(BundleTestWasmAppDependsOn);_BundleAOTTestWasmAppForHelix + - - $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - true - - - - - - - - - + - + + + + + - - + + - + + - - + + - - + + @@ -321,10 +325,16 @@ - + + <_CopyLocalPaths Include="@(ReferenceCopyLocalPaths)" Condition="'%(ReferenceCopyLocalPaths.BuildReference)' == 'true' and !$([System.String]::new('%(ReferenceCopyLocalPaths.Identity)').EndsWith('.resources.dll'))" /> + <_CopyLocalPaths TargetPath="%(_CopyLocalPaths.RelativePath)" Condition="'%(_CopyLocalPaths.RelativePath)' != ''" /> + <_CopyLocalPaths TargetPath="%(FileName)%(Extension)" Condition="'%(_CopyLocalPaths.RelativePath)' == ''" /> + + + - + diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 4d113c917f7b51..1b71fe2f063c47 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -62,7 +62,7 @@ <_ProjectsToBuild Include="$(PerScenarioProjectFile)"> - $(_PropertiesToPass);Scenario=%(_Scenarios.Identity);TestArchiveRuntimeFile=$(TestArchiveRuntimeFile) + $(_PropertiesToPass);Scenario=%(_Scenarios.Identity);TestArchiveRuntimeFile=$(TestArchiveRuntimeFile);NeedsToBuildWasmAppsOnHelix=$(NeedsToBuildWasmAppsOnHelix) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 190de503e9fbf4..d326ebfae53103 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -50,6 +50,7 @@ $(TestRunNamePrefix)$(Scenario)- $(WaitForWorkItemCompletion) + true @@ -69,13 +70,6 @@ test/functional/packaging/ - - true - sdk - $([System.IO.File]::ReadAllText('$(RepoRoot)global.json')) - $([System.Text.RegularExpressions.Regex]::Match($(GlobalJsonContent), '(%3F<="dotnet": ").*(%3F=")')) - - true @@ -111,7 +105,7 @@ - + true true sdk @@ -216,7 +210,6 @@ - ios-simulator-64 @@ -263,6 +256,8 @@ $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'build')) + + $(HelixPostCommands); @@ -274,8 +269,8 @@ - - + + @@ -287,12 +282,6 @@ Condition="'$(IncludeHelixCorrelationPayload)' == 'true' and '$(TargetOS)' != 'Browser'" /> - - - - - - <_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" /> <_WorkItem Include="$(TestArchiveRoot)runonly/**/WebAssembly.Console.*.Test.zip" Condition="'$(TargetOS)' == 'Browser' and '$(Scenario)' != 'WasmTestOnBrowser' and '$(Scenario)' != 'BuildWasmApps'" /> diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index f2a9d814e3a7cd..33eac6d3180eb9 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -205,7 +205,7 @@ - + @@ -223,9 +223,9 @@ - - - + + + diff --git a/src/mono/wasm/Makefile b/src/mono/wasm/Makefile index 4777abfb104c00..83216f57413319 100644 --- a/src/mono/wasm/Makefile +++ b/src/mono/wasm/Makefile @@ -184,7 +184,7 @@ run-tests-jsc-%: PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) /p:JSEngine=JavaScriptCore $(MSBUILD_ARGS) run-tests-%: - PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) + EMSDK_PATH=$(EMSDK_PATH) PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) run-build-tests: PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/tests/BuildWasmApps/Wasm.Build.Tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) diff --git a/src/mono/wasm/build/aot-build.proj b/src/mono/wasm/build/aot-build.proj deleted file mode 100644 index 795e4d975e3227..00000000000000 --- a/src/mono/wasm/build/aot-build.proj +++ /dev/null @@ -1,56 +0,0 @@ - - - - true - System.Buffers.Tests - $(HELIX_WORKITEM_ROOT) - $(TestRootDir) - $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/ - $(TestRootDir)/publish/ - $(HELIX_WORKITEM_ROOT)\obj - $(HELIX_CORRELATION_PAYLOAD)/build/WasmAppBuilder/WasmAppBuilder.dll - $(HELIX_CORRELATION_PAYLOAD)/build/MonoAOTCompiler/MonoAOTCompiler.dll - $(HELIX_CORRELATION_PAYLOAD)/build/microsoft.netcore.app.runtime.browser-wasm/runtimes/browser-wasm/ - false - true - $(MicrosoftNETCoreAppRuntimePackRidDir)native/cross/browser-wasm/mono-aot-cross - - - - - - - - PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) - - - - - - - - - $(BundleDir) - $(TestRootDir)\publish\WasmTestRunner.dll - $(TestRootDir)\publish\runtime-test.js - true - true - - - - - - $([System.IO.Directory]::GetParent('%(Identity)').Name) - - - - - - - - - - - diff --git a/src/mono/wasm/build/Directory.Build.Props b/src/mono/wasm/data/aot-tests/Directory.Build.props similarity index 82% rename from src/mono/wasm/build/Directory.Build.Props rename to src/mono/wasm/data/aot-tests/Directory.Build.props index 6506043ea4578c..fbb16f2124aecf 100644 --- a/src/mono/wasm/build/Directory.Build.Props +++ b/src/mono/wasm/data/aot-tests/Directory.Build.props @@ -1,5 +1,7 @@ + $(HELIX_CORRELATION_PAYLOAD)\build\ + <_WasmTargetsDir Condition="'$(RuntimeSrcDir)' != ''">$(RuntimeSrcDir)\src\mono\wasm\build\ <_WasmTargetsDir Condition="'$(WasmBuildSupportDir)' != ''">$(WasmBuildSupportDir)\wasm\ $(WasmBuildSupportDir)\emsdk\ @@ -8,4 +10,4 @@ PrepareForWasmBuild;$(WasmBuildAppDependsOn) - \ No newline at end of file + diff --git a/src/mono/wasm/build/Directory.Build.Targets b/src/mono/wasm/data/aot-tests/Directory.Build.targets similarity index 99% rename from src/mono/wasm/build/Directory.Build.Targets rename to src/mono/wasm/data/aot-tests/Directory.Build.targets index 02587fe83d6f7e..5f8bd42de22507 100644 --- a/src/mono/wasm/build/Directory.Build.Targets +++ b/src/mono/wasm/data/aot-tests/Directory.Build.targets @@ -18,4 +18,4 @@ - \ No newline at end of file + diff --git a/src/mono/wasm/data/aot-tests/aot-build.proj b/src/mono/wasm/data/aot-tests/aot-build.proj new file mode 100644 index 00000000000000..b0b428dfa9619a --- /dev/null +++ b/src/mono/wasm/data/aot-tests/aot-build.proj @@ -0,0 +1,42 @@ + + + + true + $(HELIX_WORKITEM_ROOT)\ + $(TestRootDir)AppBundle\ + $(HELIX_WORKITEM_ROOT)\obj + false + false + true + false + + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) + + + + + + + $(BundleDir) + $(TestRootDir)\publish\WasmTestRunner.dll + $(TestRootDir)\publish\runtime-test.js + true + true + + + + + + $([System.IO.Directory]::GetParent('%(Identity)').Name) + + + + + + <_ExtraFiles Include="$(TestRootDir)\extraFiles\**\*" /> + + + + + From 5bd6d01285222642ef002258abf8724cf49b88e7 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Sun, 4 Apr 2021 17:43:03 -0400 Subject: [PATCH 48/97] [wasm] re-enable system.reflection tests, which are fixed with earlier commit --- src/libraries/tests.proj | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 33eac6d3180eb9..dea1d4643900ee 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -223,9 +223,6 @@ - - - From 7b977a4cb28c0d1404be74f40245e7636a44b984 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Sun, 4 Apr 2021 17:45:05 -0400 Subject: [PATCH 49/97] Trying on CI now --- eng/pipelines/runtime-staging.yml | 407 ++++++++++++++++-------------- eng/pipelines/runtime.yml | 278 ++++++++++---------- src/libraries/tests.proj | 80 +++--- 3 files changed, 402 insertions(+), 363 deletions(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 5553de2b32bb95..f480cb5e9e37bb 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -57,94 +57,133 @@ jobs: # # Build the whole product using Mono and run libraries tests # -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - Android_x86 - - Android_x64 - - iOSSimulator_x64 - - tvOSSimulator_x64 - variables: - # map dependencies variables to local variables - - name: librariesContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - - name: monoContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 180 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- Android_x86 + #- Android_x64 + #- iOSSimulator_x64 + #- tvOSSimulator_x64 + #variables: + ## map dependencies variables to local variables + #- name: librariesContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + #- name: monoContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + #timeoutInMinutes: 180 + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + #eq(variables['isFullMatrix'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true), + #eq(variables['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - Android_arm64 - variables: - # map dependencies variables to local variables - - name: librariesContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - - name: monoContainsChange - value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 180 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- Android_arm64 + #variables: + ## map dependencies variables to local variables + #- name: librariesContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + #- name: monoContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + #timeoutInMinutes: 180 + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + #eq(variables['isFullMatrix'], true)) - # don't run tests on PRs until we get more Android devices: https://github.com/dotnet/core-eng/issues/11781 - ${{ if eq(variables['isFullMatrix'], true) }}: - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) - condition: >- - or( - eq(variables['librariesContainsChange'], true), - eq(variables['monoContainsChange'], true), - eq(variables['isFullMatrix'], true)) + ## don't run tests on PRs until we get more Android devices: https://github.com/dotnet/core-eng/issues/11781 + #${{ if eq(variables['isFullMatrix'], true) }}: + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true), + #eq(variables['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - platforms: - - Android_arm - jobParameters: - testGroup: innerloop - nameSuffix: Build_Subset_Mono - buildArgs: -subset mono+libs +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #platforms: + #- Android_arm + #jobParameters: + #testGroup: innerloop + #nameSuffix: Build_Subset_Mono + #buildArgs: -subset mono+libs + +## +## Build the whole product using Mono and run libraries tests +## +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- Windows_x64 + #variables: + ## map dependencies variables to local variables + #- name: librariesContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + #- name: monoContainsChange + #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + #jobParameters: + #testScope: innerloop + #nameSuffix: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + #timeoutInMinutes: 120 + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + #eq(variables['isFullMatrix'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) + #condition: >- + #or( + #eq(variables['librariesContainsChange'], true), + #eq(variables['monoContainsChange'], true), + #eq(variables['isFullMatrix'], true)) # # Build the whole product using Mono and run libraries tests @@ -156,7 +195,7 @@ jobs: buildConfig: Release runtimeFlavor: mono platforms: - - Windows_x64 + - Browser_wasm variables: # map dependencies variables to local variables - name: librariesContainsChange @@ -164,10 +203,10 @@ jobs: - name: monoContainsChange value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] jobParameters: - testScope: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - timeoutInMinutes: 120 + testGroup: innerloop + nameSuffix: AllSubsets_Mono_AOT + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildWasmAOTTestsOnHelix=true /p:RunAOTCompilation=true + timeoutInMinutes: 180 condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), @@ -179,15 +218,15 @@ jobs: extraStepsParameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) + extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true + scenarios: + - normal condition: >- or( eq(variables['librariesContainsChange'], true), eq(variables['monoContainsChange'], true), eq(variables['isFullMatrix'], true)) -# -# Build the whole product using Mono and run libraries tests -# - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml @@ -204,8 +243,8 @@ jobs: value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] jobParameters: testGroup: innerloop - nameSuffix: AllSubsets_Mono_AOT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:AOTMode=AotInterp /p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true + nameSuffix: AllSubsets_Mono_EAT + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildWasmAOTTestsOnHelix=true /p:RunAOTCompilation=false timeoutInMinutes: 180 condition: >- or( @@ -218,7 +257,7 @@ jobs: extraStepsParameters: creator: dotnet-bot testRunNamePrefixSuffix: Mono_$(_BuildConfig) - extraHelixArguments: /p:RunAOTCompilation=true + extraHelixArguments: /p:NeedsToBuildWasmAppsOnHelix=true scenarios: - normal condition: >- @@ -230,94 +269,94 @@ jobs: # # Build the whole product using Mono for Android and run runtime tests with Android emulator # -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - Android_x64 - #- Android_arm64 # disabled due to https://github.com/dotnet/runtime/issues/47850 - variables: - - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - - name: _HelixSource - value: pr/dotnet/runtime/$(Build.SourceBranch) - - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: - - name: _HelixSource - value: ci/dotnet/runtime/$(Build.SourceBranch) - - name: timeoutPerTestInMinutes - value: 60 - - name: timeoutPerTestCollectionInMinutes - value: 180 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_RuntimeTests - buildArgs: -s mono+libs -c $(_BuildConfig) - timeoutInMinutes: 240 - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(variables['isFullMatrix'], true)) - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: Mono_$(_BuildConfig) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- Android_x64 + ##- Android_arm64 # disabled due to https://github.com/dotnet/runtime/issues/47850 + #variables: + #- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: + #- name: _HelixSource + #value: pr/dotnet/runtime/$(Build.SourceBranch) + #- ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + #- name: _HelixSource + #value: ci/dotnet/runtime/$(Build.SourceBranch) + #- name: timeoutPerTestInMinutes + #value: 60 + #- name: timeoutPerTestCollectionInMinutes + #value: 180 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_RuntimeTests + #buildArgs: -s mono+libs -c $(_BuildConfig) + #timeoutInMinutes: 240 + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(variables['isFullMatrix'], true)) + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: Mono_$(_BuildConfig) -# Run disabled installer tests on Linux x64 -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - platforms: - - Linux_x64 - jobParameters: - nameSuffix: Installer_Tests - isOfficialBuild: ${{ variables.isOfficialBuild }} - buildArgs: -s clr+libs+host+packs -restore -build -test -c $(_BuildConfig) -lc Debug /p:PortableBuild=true /p:RunOnStaging=true - useContinueOnErrorDuringBuild: true - enablePublisTestResults: true - testResultsFormat: xunit +## Run disabled installer tests on Linux x64 +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #platforms: + #- Linux_x64 + #jobParameters: + #nameSuffix: Installer_Tests + #isOfficialBuild: ${{ variables.isOfficialBuild }} + #buildArgs: -s clr+libs+host+packs -restore -build -test -c $(_BuildConfig) -lc Debug /p:PortableBuild=true /p:RunOnStaging=true + #useContinueOnErrorDuringBuild: true + #enablePublisTestResults: true + #testResultsFormat: xunit -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: release - platforms: - - Browser_wasm_win - jobParameters: - testGroup: innerloop - nameSuffix: Browser_wasm_Windows - buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono -c $(_BuildConfig) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: release + #platforms: + #- Browser_wasm_win + #jobParameters: + #testGroup: innerloop + #nameSuffix: Browser_wasm_Windows + #buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono -c $(_BuildConfig) -# -# CoreCLR Build for running Apple Silicon libraries-innerloop -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml - buildConfig: release - platforms: - - ${{ if eq(variables['isFullMatrix'], true) }}: - - OSX_arm64 - jobParameters: - testGroup: innerloop -# -# Libraries Build for running Apple Silicon libraries-innerloop -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/libraries/build-job.yml - buildConfig: Release - platforms: - - ${{ if eq(variables['isFullMatrix'], true) }}: - - OSX_arm64 - helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - jobParameters: - isOfficialBuild: ${{ variables['isOfficialBuild'] }} - isFullMatrix: ${{ variables['isFullMatrix'] }} - runTests: true - testScope: innerloop - liveRuntimeBuildConfig: release +## +## CoreCLR Build for running Apple Silicon libraries-innerloop +## +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml + #buildConfig: release + #platforms: + #- ${{ if eq(variables['isFullMatrix'], true) }}: + #- OSX_arm64 + #jobParameters: + #testGroup: innerloop +## +## Libraries Build for running Apple Silicon libraries-innerloop +## +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/libraries/build-job.yml + #buildConfig: Release + #platforms: + #- ${{ if eq(variables['isFullMatrix'], true) }}: + #- OSX_arm64 + #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + #jobParameters: + #isOfficialBuild: ${{ variables['isOfficialBuild'] }} + #isFullMatrix: ${{ variables['isFullMatrix'] }} + #runTests: true + #testScope: innerloop + #liveRuntimeBuildConfig: release diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 000f31a11e9c0b..23d2d7cfd47289 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -216,48 +216,48 @@ jobs: # Build the whole product using Mono runtime # Only when libraries, mono or installer are changed # -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - MacCatalyst_x64 - - MacCatalyst_arm64 - - tvOSSimulator_x64 - - iOSSimulator_x86 - - iOS_arm64 - - Linux_arm - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + #runtimeFlavor: mono + #platforms: + #- MacCatalyst_x64 + #- MacCatalyst_arm64 + #- tvOSSimulator_x64 + #- iOSSimulator_x86 + #- iOS_arm64 + #- Linux_arm + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + #eq(variables['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - tvOS_arm64 - - iOS_arm - - Linux_musl_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- tvOS_arm64 + #- iOS_arm + #- Linux_musl_x64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + #eq(variables['isFullMatrix'], true)) # # Build the whole product using Mono and run libraries tests, multi-scenario @@ -279,7 +279,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true timeoutInMinutes: 180 condition: >- or( @@ -303,26 +303,26 @@ jobs: eq(variables['isFullMatrix'], true)) # Build and test libraries under single-file publishing -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - buildConfig: Release - platforms: - - windows_x64 - - Linux_x64 - jobParameters: - testGroup: innerloop - isFullMatrix: ${{ variables.isFullMatrix }} - isSingleFile: true - nameSuffix: SingleFile - buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) /p:TestSingleFile=true /p:ArchiveTests=true - timeoutInMinutes: 120 - # extra steps, run tests - extraStepsTemplate: /eng/pipelines/libraries/helix.yml - extraStepsParameters: - creator: dotnet-bot - testRunNamePrefixSuffix: SingleFile_$(_BuildConfig) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + #buildConfig: Release + #platforms: + #- windows_x64 + #- Linux_x64 + #jobParameters: + #testGroup: innerloop + #isFullMatrix: ${{ variables.isFullMatrix }} + #isSingleFile: true + #nameSuffix: SingleFile + #buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) /p:TestSingleFile=true /p:ArchiveTests=true + #timeoutInMinutes: 120 + ## extra steps, run tests + #extraStepsTemplate: /eng/pipelines/libraries/helix.yml + #extraStepsParameters: + #creator: dotnet-bot + #testRunNamePrefixSuffix: SingleFile_$(_BuildConfig) # # Build the whole product using Mono and run runtime tests @@ -365,86 +365,86 @@ jobs: # # Build Mono and Installer on LLVMJIT mode # -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - OSX_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMJIT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- OSX_x64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_LLVMJIT + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + #eq(variables['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - Linux_x64 - - Linux_arm64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMJIT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + #runtimeFlavor: mono + #platforms: + #- Linux_x64 + #- Linux_arm64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_LLVMJIT + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + #eq(variables['isFullMatrix'], true)) -# -# Build Mono and Installer on LLVMAOT mode -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Release - runtimeFlavor: mono - platforms: - - Linux_x64 - - Linux_arm64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMAOT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) +## +## Build Mono and Installer on LLVMAOT mode +## +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: Release + #runtimeFlavor: mono + #platforms: + #- Linux_x64 + #- Linux_arm64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_LLVMAOT + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + #eq(variables['isFullMatrix'], true)) -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - runtimeFlavor: mono - platforms: - - OSX_x64 - jobParameters: - testGroup: innerloop - nameSuffix: AllSubsets_Mono_LLVMAOT - buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - condition: >- - or( - eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - eq(variables['isFullMatrix'], true)) +#- template: /eng/pipelines/common/platform-matrix.yml + #parameters: + #jobTemplate: /eng/pipelines/common/global-build-job.yml + #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + #runtimeFlavor: mono + #platforms: + #- OSX_x64 + #jobParameters: + #testGroup: innerloop + #nameSuffix: AllSubsets_Mono_LLVMAOT + #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + #condition: >- + #or( + #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + #eq(variables['isFullMatrix'], true)) # # Build Mono debug diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index dea1d4643900ee..16e3b9c6d27a01 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -206,46 +206,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b859c851d0e7db02a27c5565af62bba79dd5c9bf Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Sun, 4 Apr 2021 20:05:32 -0400 Subject: [PATCH 50/97] [wasm][tests][eat] disable System.Linq.Expression tests ``` /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(503,82): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c.b__38_0(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(504,82): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c.b__38_1(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(459,74): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c.b__33_3(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(511,82): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c.b__39_0(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(448,76): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c__DisplayClass32_0.b__2(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(472,76): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c__DisplayClass34_0.b__3(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] /_/src/libraries/System.Linq.Expressions/tests/Member/MemberAccessTests.cs(482,74): Trim analysis error IL2103: System.Linq.Expressions.Tests.MemberAccessTests.<>c__DisplayClass35_0.b__2(): Value passed to the '#1' parameter of method 'System.Linq.Expressions.MemberExpression System.Linq.Expressions.Expression::Property(System.Linq.Expressions.Expression,System.Reflection.MethodInfo)' cannot be statically determined as a property accessor. [/__w/1/s/src/libraries/System.Linq.Expressions/tests/System.Linq.Expressions.Tests.csproj] ``` --- src/libraries/tests.proj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 16e3b9c6d27a01..fa77fbf2703651 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -206,6 +206,9 @@ + + + @@ -220,7 +223,6 @@ - From 102d58338519271ea80600cb9edc006951c4b5f0 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 00:48:47 -0400 Subject: [PATCH 51/97] [wasm] Disable failing tests, and add tracking issues --- src/libraries/tests.proj | 100 ++++++++++++++++++++++++--------------- 1 file changed, 61 insertions(+), 39 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index fa77fbf2703651..72b395ad40a683 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -209,45 +209,67 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From cc5ca0d58fa1468039fc176f14c5f9283525960f Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 02:37:33 -0400 Subject: [PATCH 52/97] Disable more tests --- src/libraries/tests.proj | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 72b395ad40a683..007d4f1614ec0f 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -221,6 +221,15 @@ + + + + + + + + + @@ -259,6 +268,8 @@ + + From 25f2a3612edadbde808308d5de64fdd39f100cce Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 03:08:00 -0400 Subject: [PATCH 53/97] Fix Wasm.Build tests --- src/libraries/sendtohelix.proj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 1b71fe2f063c47..22d2f24fad15ec 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -62,7 +62,8 @@ <_ProjectsToBuild Include="$(PerScenarioProjectFile)"> - $(_PropertiesToPass);Scenario=%(_Scenarios.Identity);TestArchiveRuntimeFile=$(TestArchiveRuntimeFile);NeedsToBuildWasmAppsOnHelix=$(NeedsToBuildWasmAppsOnHelix) + $(_PropertiesToPass);Scenario=%(_Scenarios.Identity);TestArchiveRuntimeFile=$(TestArchiveRuntimeFile) + %(_ProjectsToBuild.AdditionalProperties);NeedsToBuildWasmAppsOnHelix=$(NeedsToBuildWasmAppsOnHelix) From 488b2f8a7cef88b5d8cb1c7d22dce0f62e616e90 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 05:18:50 -0400 Subject: [PATCH 54/97] remove debug stuff --- eng/testing/tests.mobile.targets | 1 - 1 file changed, 1 deletion(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 509a74ccfad931..6c77f9fa28a0dc 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -20,7 +20,6 @@ - find $HELIX_CORRELATION_PAYLOAD -type d ; find . $(RunScriptCommand); dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /bl:$XHARNESS_OUT/AOTBuild.binlog $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) From 06eabc005384fd48346990692c074a095b6b883b Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 05:23:45 -0400 Subject: [PATCH 55/97] re-enable the builds that were disabled for quick testing --- eng/pipelines/runtime-staging.yml | 422 +++++++++++++++--------------- eng/pipelines/runtime.yml | 276 +++++++++---------- 2 files changed, 349 insertions(+), 349 deletions(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index f480cb5e9e37bb..720cbfe86267e0 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -57,133 +57,133 @@ jobs: # # Build the whole product using Mono and run libraries tests # -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- Android_x86 - #- Android_x64 - #- iOSSimulator_x64 - #- tvOSSimulator_x64 - #variables: - ## map dependencies variables to local variables - #- name: librariesContainsChange - #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - #- name: monoContainsChange - #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - #timeoutInMinutes: 180 - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - #eq(variables['isFullMatrix'], true)) - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/libraries/helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: Mono_$(_BuildConfig) - #condition: >- - #or( - #eq(variables['librariesContainsChange'], true), - #eq(variables['monoContainsChange'], true), - #eq(variables['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - Android_x86 + - Android_x64 + - iOSSimulator_x64 + - tvOSSimulator_x64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isFullMatrix'], true)) -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- Android_arm64 - #variables: - ## map dependencies variables to local variables - #- name: librariesContainsChange - #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - #- name: monoContainsChange - #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - #timeoutInMinutes: 180 - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - #eq(variables['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - Android_arm64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + timeoutInMinutes: 180 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) - ## don't run tests on PRs until we get more Android devices: https://github.com/dotnet/core-eng/issues/11781 - #${{ if eq(variables['isFullMatrix'], true) }}: - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/libraries/helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: Mono_$(_BuildConfig) - #condition: >- - #or( - #eq(variables['librariesContainsChange'], true), - #eq(variables['monoContainsChange'], true), - #eq(variables['isFullMatrix'], true)) + # don't run tests on PRs until we get more Android devices: https://github.com/dotnet/core-eng/issues/11781 + ${{ if eq(variables['isFullMatrix'], true) }}: + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isFullMatrix'], true)) -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #platforms: - #- Android_arm - #jobParameters: - #testGroup: innerloop - #nameSuffix: Build_Subset_Mono - #buildArgs: -subset mono+libs +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + platforms: + - Android_arm + jobParameters: + testGroup: innerloop + nameSuffix: Build_Subset_Mono + buildArgs: -subset mono+libs -## -## Build the whole product using Mono and run libraries tests -## -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- Windows_x64 - #variables: - ## map dependencies variables to local variables - #- name: librariesContainsChange - #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] - #- name: monoContainsChange - #value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] - #jobParameters: - #testScope: innerloop - #nameSuffix: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true - #timeoutInMinutes: 120 - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - #eq(variables['isFullMatrix'], true)) - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/libraries/helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: Mono_$(_BuildConfig) - #condition: >- - #or( - #eq(variables['librariesContainsChange'], true), - #eq(variables['monoContainsChange'], true), - #eq(variables['isFullMatrix'], true)) +# +# Build the whole product using Mono and run libraries tests +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - Windows_x64 + variables: + # map dependencies variables to local variables + - name: librariesContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'] ] + - name: monoContainsChange + value: $[ dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'] ] + jobParameters: + testScope: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true + timeoutInMinutes: 120 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) + condition: >- + or( + eq(variables['librariesContainsChange'], true), + eq(variables['monoContainsChange'], true), + eq(variables['isFullMatrix'], true)) # # Build the whole product using Mono and run libraries tests @@ -269,94 +269,94 @@ jobs: # # Build the whole product using Mono for Android and run runtime tests with Android emulator # -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- Android_x64 - ##- Android_arm64 # disabled due to https://github.com/dotnet/runtime/issues/47850 - #variables: - #- ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - #- name: _HelixSource - #value: pr/dotnet/runtime/$(Build.SourceBranch) - #- ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: - #- name: _HelixSource - #value: ci/dotnet/runtime/$(Build.SourceBranch) - #- name: timeoutPerTestInMinutes - #value: 60 - #- name: timeoutPerTestCollectionInMinutes - #value: 180 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_RuntimeTests - #buildArgs: -s mono+libs -c $(_BuildConfig) - #timeoutInMinutes: 240 - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(variables['isFullMatrix'], true)) - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: Mono_$(_BuildConfig) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - Android_x64 + #- Android_arm64 # disabled due to https://github.com/dotnet/runtime/issues/47850 + variables: + - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: pr/dotnet/runtime/$(Build.SourceBranch) + - ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + - name: _HelixSource + value: ci/dotnet/runtime/$(Build.SourceBranch) + - name: timeoutPerTestInMinutes + value: 60 + - name: timeoutPerTestCollectionInMinutes + value: 180 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_RuntimeTests + buildArgs: -s mono+libs -c $(_BuildConfig) + timeoutInMinutes: 240 + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_runtimetests.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(variables['isFullMatrix'], true)) + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/common/templates/runtimes/android-runtime-and-send-to-helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: Mono_$(_BuildConfig) -## Run disabled installer tests on Linux x64 -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #platforms: - #- Linux_x64 - #jobParameters: - #nameSuffix: Installer_Tests - #isOfficialBuild: ${{ variables.isOfficialBuild }} - #buildArgs: -s clr+libs+host+packs -restore -build -test -c $(_BuildConfig) -lc Debug /p:PortableBuild=true /p:RunOnStaging=true - #useContinueOnErrorDuringBuild: true - #enablePublisTestResults: true - #testResultsFormat: xunit +# Run disabled installer tests on Linux x64 +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + platforms: + - Linux_x64 + jobParameters: + nameSuffix: Installer_Tests + isOfficialBuild: ${{ variables.isOfficialBuild }} + buildArgs: -s clr+libs+host+packs -restore -build -test -c $(_BuildConfig) -lc Debug /p:PortableBuild=true /p:RunOnStaging=true + useContinueOnErrorDuringBuild: true + enablePublisTestResults: true + testResultsFormat: xunit -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: release - #platforms: - #- Browser_wasm_win - #jobParameters: - #testGroup: innerloop - #nameSuffix: Browser_wasm_Windows - #buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono -c $(_BuildConfig) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: release + platforms: + - Browser_wasm_win + jobParameters: + testGroup: innerloop + nameSuffix: Browser_wasm_Windows + buildArgs: -subset mono+libs /p:RuntimeFlavor=Mono -c $(_BuildConfig) -## -## CoreCLR Build for running Apple Silicon libraries-innerloop -## -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml - #buildConfig: release - #platforms: - #- ${{ if eq(variables['isFullMatrix'], true) }}: - #- OSX_arm64 - #jobParameters: - #testGroup: innerloop -## -## Libraries Build for running Apple Silicon libraries-innerloop -## -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/libraries/build-job.yml - #buildConfig: Release - #platforms: - #- ${{ if eq(variables['isFullMatrix'], true) }}: - #- OSX_arm64 - #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - #jobParameters: - #isOfficialBuild: ${{ variables['isOfficialBuild'] }} - #isFullMatrix: ${{ variables['isFullMatrix'] }} - #runTests: true - #testScope: innerloop - #liveRuntimeBuildConfig: release +# +# CoreCLR Build for running Apple Silicon libraries-innerloop +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml + buildConfig: release + platforms: + - ${{ if eq(variables['isFullMatrix'], true) }}: + - OSX_arm64 + jobParameters: + testGroup: innerloop +# +# Libraries Build for running Apple Silicon libraries-innerloop +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/libraries/build-job.yml + buildConfig: Release + platforms: + - ${{ if eq(variables['isFullMatrix'], true) }}: + - OSX_arm64 + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + jobParameters: + isOfficialBuild: ${{ variables['isOfficialBuild'] }} + isFullMatrix: ${{ variables['isFullMatrix'] }} + runTests: true + testScope: innerloop + liveRuntimeBuildConfig: release diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 23d2d7cfd47289..476150aad686ab 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -216,48 +216,48 @@ jobs: # Build the whole product using Mono runtime # Only when libraries, mono or installer are changed # -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - #runtimeFlavor: mono - #platforms: - #- MacCatalyst_x64 - #- MacCatalyst_arm64 - #- tvOSSimulator_x64 - #- iOSSimulator_x86 - #- iOS_arm64 - #- Linux_arm - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - #eq(variables['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - MacCatalyst_x64 + - MacCatalyst_arm64 + - tvOSSimulator_x64 + - iOSSimulator_x86 + - iOS_arm64 + - Linux_arm + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- tvOS_arm64 - #- iOS_arm - #- Linux_musl_x64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - #eq(variables['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - tvOS_arm64 + - iOS_arm + - Linux_musl_x64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) # # Build the whole product using Mono and run libraries tests, multi-scenario @@ -303,26 +303,26 @@ jobs: eq(variables['isFullMatrix'], true)) # Build and test libraries under single-file publishing -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - #buildConfig: Release - #platforms: - #- windows_x64 - #- Linux_x64 - #jobParameters: - #testGroup: innerloop - #isFullMatrix: ${{ variables.isFullMatrix }} - #isSingleFile: true - #nameSuffix: SingleFile - #buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) /p:TestSingleFile=true /p:ArchiveTests=true - #timeoutInMinutes: 120 - ## extra steps, run tests - #extraStepsTemplate: /eng/pipelines/libraries/helix.yml - #extraStepsParameters: - #creator: dotnet-bot - #testRunNamePrefixSuffix: SingleFile_$(_BuildConfig) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + buildConfig: Release + platforms: + - windows_x64 + - Linux_x64 + jobParameters: + testGroup: innerloop + isFullMatrix: ${{ variables.isFullMatrix }} + isSingleFile: true + nameSuffix: SingleFile + buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) /p:TestSingleFile=true /p:ArchiveTests=true + timeoutInMinutes: 120 + # extra steps, run tests + extraStepsTemplate: /eng/pipelines/libraries/helix.yml + extraStepsParameters: + creator: dotnet-bot + testRunNamePrefixSuffix: SingleFile_$(_BuildConfig) # # Build the whole product using Mono and run runtime tests @@ -365,86 +365,86 @@ jobs: # # Build Mono and Installer on LLVMJIT mode # -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- OSX_x64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_LLVMJIT - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - #eq(variables['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - OSX_x64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMJIT + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - #runtimeFlavor: mono - #platforms: - #- Linux_x64 - #- Linux_arm64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_LLVMJIT - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - #eq(variables['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - Linux_x64 + - Linux_arm64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMJIT + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=false + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) -## -## Build Mono and Installer on LLVMAOT mode -## -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: Release - #runtimeFlavor: mono - #platforms: - #- Linux_x64 - #- Linux_arm64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_LLVMAOT - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - #eq(variables['isFullMatrix'], true)) +# +# Build Mono and Installer on LLVMAOT mode +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: Release + runtimeFlavor: mono + platforms: + - Linux_x64 + - Linux_arm64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMAOT + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) -#- template: /eng/pipelines/common/platform-matrix.yml - #parameters: - #jobTemplate: /eng/pipelines/common/global-build-job.yml - #buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} - #runtimeFlavor: mono - #platforms: - #- OSX_x64 - #jobParameters: - #testGroup: innerloop - #nameSuffix: AllSubsets_Mono_LLVMAOT - #buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) - #/p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true - #condition: >- - #or( - #eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), - #eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), - #eq(variables['isFullMatrix'], true)) +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + buildConfig: ${{ variables.debugOnPrReleaseOnRolling }} + runtimeFlavor: mono + platforms: + - OSX_x64 + jobParameters: + testGroup: innerloop + nameSuffix: AllSubsets_Mono_LLVMAOT + buildArgs: -s mono+libs+host+packs -c $(_BuildConfig) + /p:MonoEnableLLVM=true /p:MonoBundleLLVMOptimizer=true + condition: >- + or( + eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_mono.containsChange'], true), + eq(dependencies.evaluate_paths.outputs['SetPathVars_installer.containsChange'], true), + eq(variables['isFullMatrix'], true)) # # Build Mono debug From 64faaf91dc217449da1cabac9870e01cc9d4fadc Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 17:04:46 -0400 Subject: [PATCH 56/97] fix RunTests.sh --- eng/testing/tests.mobile.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 6c77f9fa28a0dc..4095d6390912ce 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -20,7 +20,7 @@ - $(RunScriptCommand); dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /bl:$XHARNESS_OUT/AOTBuild.binlog + dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /bl:$XHARNESS_OUT/AOTBuild.binlog $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) $(RunScriptCommand) && cd AppBundle && From 8ad9bdfc4b43d6c3a5ff27b462e7dbbb9a4e83c3 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 17:15:19 -0400 Subject: [PATCH 57/97] cleanup --- eng/testing/tests.mobile.targets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 4095d6390912ce..d8124ae70704e9 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -294,8 +294,8 @@ - - + + From a83cf791ba18a0717cd366ff774e20623faf5563 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 17:36:07 -0400 Subject: [PATCH 58/97] Fix Version.Details.xml to match main --- eng/Version.Details.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 84533ed4b9eee0..82c908d05ef8f1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -90,9 +90,9 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization f69d7fc09c4fdb9e9427741b9a176e867dab577f - + https://github.com/microsoft/vstest - ca24ad0d8b48021ddbe98e4d688bb7e31c7b7eaf + 140434f7109d357d0158ade9e5164a4861513965 https://github.com/dotnet/runtime-assets @@ -162,9 +162,9 @@ https://github.com/dotnet/llvm-project a2bf9755287bdd3dcf998e41042e79dfd0136c85 - + https://github.com/dotnet/runtime - d86d0668bbb1c51695b7b914e60e49aec1fdefbb + 38017c3935de95d0335bac04f4901ddfc2718656 https://github.com/dotnet/runtime From a4e57978b72cac756f8ef609718cf1479b861c97 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 5 Apr 2021 17:39:30 -0400 Subject: [PATCH 59/97] cleanup --- Directory.Build.props | 1 - src/libraries/tests.proj | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 9d024eef3d5c3d..be3d42e18ba93f 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -70,7 +70,6 @@ $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'AndroidAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmAppBuilder', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'WasmBuildTasks', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) - $([MSBuild]::NormalizeDirectory('src', 'mono', 'wasm', 'build')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'MonoAOTCompiler', 'Debug', '$(NetCoreAppToolCurrent)')) $([MSBuild]::NormalizeDirectory('$(ArtifactsBinDir)', 'RuntimeConfigParser', 'Debug', '$(NetCoreAppToolCurrent)', 'publish')) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 007d4f1614ec0f..c29d32a0e0b686 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -391,8 +391,7 @@ Exclude="@(ProjectExclusions)" BuildInParallel="false" /> - - Date: Mon, 5 Apr 2021 17:41:29 -0400 Subject: [PATCH 60/97] set EMSDK_PATH for run-tests- targets --- src/mono/wasm/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mono/wasm/Makefile b/src/mono/wasm/Makefile index 83216f57413319..b9b3381f868c23 100644 --- a/src/mono/wasm/Makefile +++ b/src/mono/wasm/Makefile @@ -177,11 +177,11 @@ build-tasks: $(DOTNET) build $(TOP)/src/tasks/WasmBuildTasks $(MSBUILD_ARGS) run-tests-v8-%: - PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) /p:JSEngine=V8 $(MSBUILD_ARGS) + EMSDK_PATH=$(EMSDK_PATH) PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) /p:JSEngine=V8 $(MSBUILD_ARGS) run-tests-sm-%: - PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) /p:JSEngine=SpiderMonkey $(MSBUILD_ARGS) + EMSDK_PATH=$(EMSDK_PATH) PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) /p:JSEngine=SpiderMonkey $(MSBUILD_ARGS) run-tests-jsc-%: - PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) /p:JSEngine=JavaScriptCore $(MSBUILD_ARGS) + EMSDK_PATH=$(EMSDK_PATH) PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) /p:JSEngine=JavaScriptCore $(MSBUILD_ARGS) run-tests-%: EMSDK_PATH=$(EMSDK_PATH) PATH="$(JSVU):$(PATH)" $(DOTNET) build $(TOP)/src/libraries/$*/tests/ /t:Test $(_MSBUILD_WASM_BUILD_ARGS) $(MSBUILD_ARGS) From cac4de8431ca60f27562f15f1330135064a24749 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 6 Apr 2021 20:37:27 -0400 Subject: [PATCH 61/97] [wasm][tests][aot] Allow replicating the aot/eat test runs locally .. simply by adding `/p:BuildWasmAOTTestsOnHelix=true` to the build command line. --- eng/testing/tests.mobile.targets | 10 ++++++---- .../wasm/data/aot-tests/Directory.Build.props | 10 ++++++---- src/mono/wasm/data/aot-tests/aot-build.proj | 20 +++++++++---------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index d8124ae70704e9..9a8e360f3d30b3 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -15,15 +15,17 @@ helix - helix + helix local - dotnet msbuild publish/aot-build.proj /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build /bl:$XHARNESS_OUT/AOTBuild.binlog - $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) + dotnet msbuild publish/aot-build.proj /bl:$XHARNESS_OUT/AOTBuild.binlog + $(RunScriptCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration) + $(RunScriptCommand) /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build + $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) - $(RunScriptCommand) && cd AppBundle && + $(RunScriptCommand) && cd wasm_build/AppBundle && diff --git a/src/mono/wasm/data/aot-tests/Directory.Build.props b/src/mono/wasm/data/aot-tests/Directory.Build.props index fbb16f2124aecf..c78aa924bfd09b 100644 --- a/src/mono/wasm/data/aot-tests/Directory.Build.props +++ b/src/mono/wasm/data/aot-tests/Directory.Build.props @@ -1,11 +1,13 @@ - + $(HELIX_CORRELATION_PAYLOAD)\build\ - - <_WasmTargetsDir Condition="'$(RuntimeSrcDir)' != ''">$(RuntimeSrcDir)\src\mono\wasm\build\ <_WasmTargetsDir Condition="'$(WasmBuildSupportDir)' != ''">$(WasmBuildSupportDir)\wasm\ - $(WasmBuildSupportDir)\emsdk\ + + + <_WasmTargetsDir Condition="'$(_WasmTargetsDir)' == '' and '$(RuntimeSrcDir)' != ''">$(RuntimeSrcDir)\src\mono\wasm\build\ + + PrepareForWasmBuild;$(WasmBuildAppDependsOn) diff --git a/src/mono/wasm/data/aot-tests/aot-build.proj b/src/mono/wasm/data/aot-tests/aot-build.proj index b0b428dfa9619a..37d63927f3c3ef 100644 --- a/src/mono/wasm/data/aot-tests/aot-build.proj +++ b/src/mono/wasm/data/aot-tests/aot-build.proj @@ -2,9 +2,10 @@ true - $(HELIX_WORKITEM_ROOT)\ - $(TestRootDir)AppBundle\ - $(HELIX_WORKITEM_ROOT)\obj + $(HELIX_WORKITEM_ROOT)\wasm_build\ + $(MSBuildThisFileDirectory)..\wasm_build\ + $(TestRootDir)..\publish\ + $(TestRootDir)\obj false false true @@ -17,19 +18,18 @@ - $(BundleDir) - $(TestRootDir)\publish\WasmTestRunner.dll - $(TestRootDir)\publish\runtime-test.js - true - true + >$(TestRootDir)AppBundle\ + $(OriginalPublishDir)WasmTestRunner.dll + $(OriginalPublishDir)runtime-test.js + true - + $([System.IO.Directory]::GetParent('%(Identity)').Name) - + From 6e63861cf330e6c26e2f1c211f5ca21d017179c1 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 6 Apr 2021 21:41:26 -0400 Subject: [PATCH 62/97] [wasm][tests][aot] Propogate wasm properties from the original project .. to the proxy project on helix. This also fixes https://github.com/dotnet/runtime/issues/50727 , by correctly passing `$(InvariantGlobalization)` property to the proxy project. So, re-enable `Invariant.Tests`. --- eng/testing/tests.mobile.targets | 39 +++++++++++-- src/libraries/tests.proj | 3 - ...build.proj => AOTTestProjectForHelix.proj} | 7 ++- src/tasks/WasmBuildTasks/GenerateAOTProps.cs | 55 +++++++++++++++++++ 4 files changed, 93 insertions(+), 11 deletions(-) rename src/mono/wasm/data/aot-tests/{aot-build.proj => AOTTestProjectForHelix.proj} (93%) create mode 100644 src/tasks/WasmBuildTasks/GenerateAOTProps.cs diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 9a8e360f3d30b3..21bddd4db8397f 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -20,15 +20,21 @@ - dotnet msbuild publish/aot-build.proj /bl:$XHARNESS_OUT/AOTBuild.binlog - $(RunScriptCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration) - $(RunScriptCommand) /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build - $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) + dotnet msbuild publish/AOTTestProjectForHelix.proj /bl:$XHARNESS_OUT/AOTBuild.binlog - $(RunScriptCommand) && cd wasm_build/AppBundle && + + $(RunScriptCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration) + + + $(RunScriptCommand) /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build + + $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) + $(RunScriptCommand) && cd wasm_build/AppBundle + $(RunScriptCommand) && + $(RunScriptCommand) $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll $(RunScriptCommand) $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing @@ -280,6 +286,7 @@ + @@ -289,6 +296,28 @@ + + + <_WasmPropertyNames Include="InvariantGlobalization" /> + <_WasmPropertyNames Include="AOTMode" /> + <_WasmPropertyNames Include="WasmDebugLevel" /> + <_WasmPropertyNames Include="WasmBuildNative" /> + <_WasmPropertyNames Include="_WasmDevel" /> + <_WasmPropertyNames Include="WasmLinkIcalls" /> + <_WasmPropertyNames Include="WasmDedup" /> + + <_WasmPropertiesToPass + Include="$(%(_WasmPropertyNames.Identity))" + Name="%(_WasmPropertyNames.Identity)" + ConditionToUse="%(_WasmPropertyNames.ConditionToUse)" /> + + + + + diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index c29d32a0e0b686..57ae2024e314dd 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -274,9 +274,6 @@ - - - diff --git a/src/mono/wasm/data/aot-tests/aot-build.proj b/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj similarity index 93% rename from src/mono/wasm/data/aot-tests/aot-build.proj rename to src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj index 37d63927f3c3ef..4acc227dc95a77 100644 --- a/src/mono/wasm/data/aot-tests/aot-build.proj +++ b/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj @@ -6,19 +6,20 @@ $(MSBuildThisFileDirectory)..\wasm_build\ $(TestRootDir)..\publish\ $(TestRootDir)\obj + false - false true false - PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) + + - >$(TestRootDir)AppBundle\ + $(TestRootDir)AppBundle\ $(OriginalPublishDir)WasmTestRunner.dll $(OriginalPublishDir)runtime-test.js true diff --git a/src/tasks/WasmBuildTasks/GenerateAOTProps.cs b/src/tasks/WasmBuildTasks/GenerateAOTProps.cs new file mode 100644 index 00000000000000..8e6c9c3142a9b9 --- /dev/null +++ b/src/tasks/WasmBuildTasks/GenerateAOTProps.cs @@ -0,0 +1,55 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.IO; +using System.Text; +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; + +namespace Microsoft.WebAssembly.Build.Tasks +{ + public class GenerateAOTProps : Task + { + [NotNull] + [Required] + public ITaskItem[]? Properties { get; set; } + + [NotNull] + [Required] + public string? OutputFile { get; set; } + + public override bool Execute() + { + var outDir = Path.GetDirectoryName(OutputFile); + if (!string.IsNullOrEmpty(outDir) && !Directory.Exists(outDir)) + Directory.CreateDirectory(outDir); + + StringBuilder sb = new(); + + sb.AppendLine(""); + sb.AppendLine(" "); + + foreach (var prop in Properties) + { + string value = prop.ItemSpec; + string? name = prop.GetMetadata("Name"); + string? condition = prop.GetMetadata("ConditionToUse"); + + if (!string.IsNullOrEmpty(condition)) + sb.AppendLine($" <{name} Condition=\"{condition}\">{value}"); + else + sb.AppendLine($" <{name}>{value}"); + } + + sb.AppendLine(" "); + sb.AppendLine(""); + + File.WriteAllText(OutputFile, sb.ToString()); + return !Log.HasLoggedErrors; + } + + } +} From 403c155c61bbcd5b6661f31423bc2b603ff911da Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 6 Apr 2021 22:12:46 -0400 Subject: [PATCH 63/97] Document the AOT library test setup --- docs/workflow/testing/libraries/testing-wasm.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/workflow/testing/libraries/testing-wasm.md b/docs/workflow/testing/libraries/testing-wasm.md index 3979f9033a09b4..7f23b9503ebc62 100644 --- a/docs/workflow/testing/libraries/testing-wasm.md +++ b/docs/workflow/testing/libraries/testing-wasm.md @@ -132,6 +132,22 @@ At the moment supported values are: By default, `chrome` browser is used. +## AOT library tests + +- Building library tests with AOT, and (even) with `EnableAggressiveTrimming` takes 3-9mins on CI, and that adds up for all the assemblies, causing +a large build time. To circumvent that on CI, we build the test assemblies on the build machine, but skip the WasmApp build part of it, since +that includes the expensive AOT step. + +- Instead, we take the built test assembly+dependencies, and enough related bits to be able to run the `WasmBuildApp` target, with the original +inputs. + +- To recreate a similar build+test run locally, add `/p:BuildWasmAOTTestsOnHelix=true` to the usual command line. +- For example, with `./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Release` + + - AOT: add `/p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true /p:BuildWasmAOTTestsOnHelix=true` + - Only trimming (helpful to isolate issues caused by trimming): + - add `/p:EnableAggressiveTrimming=true /p:BuildWasmAOTTestsOnHelix=true` + ## Kicking off outer loop tests from GitHub Interface Add the following to the comment of a PR. From 285676706c36c31fbcd39c5e243620c947a4801f Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 6 Apr 2021 23:44:42 -0400 Subject: [PATCH 64/97] Fix path for extraFiles --- src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj b/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj index 4acc227dc95a77..638969e3368818 100644 --- a/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj +++ b/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj @@ -35,7 +35,7 @@ - <_ExtraFiles Include="$(TestRootDir)\extraFiles\**\*" /> + <_ExtraFiles Include="$(OriginalPublishDir)..\extraFiles\**\*" /> From 16c200476fb8535d4c04e08c09b9900311c12fa0 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 6 Apr 2021 23:48:23 -0400 Subject: [PATCH 65/97] Set EMSDK_PATH in case of WasmBuildSupportDir --- src/mono/wasm/data/aot-tests/Directory.Build.props | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mono/wasm/data/aot-tests/Directory.Build.props b/src/mono/wasm/data/aot-tests/Directory.Build.props index c78aa924bfd09b..4dd6d6452bb6cf 100644 --- a/src/mono/wasm/data/aot-tests/Directory.Build.props +++ b/src/mono/wasm/data/aot-tests/Directory.Build.props @@ -1,7 +1,8 @@ $(HELIX_CORRELATION_PAYLOAD)\build\ - <_WasmTargetsDir Condition="'$(WasmBuildSupportDir)' != ''">$(WasmBuildSupportDir)\wasm\ + <_WasmTargetsDir>$(WasmBuildSupportDir)\wasm\ + $(WasmBuildSupportDir)emsdk\ From ac3f73607939407f11eb812d3f1c441006e79392 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 7 Apr 2021 01:35:16 -0400 Subject: [PATCH 66/97] Fix WasmBuildSupportDir path --- src/mono/wasm/data/aot-tests/Directory.Build.props | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mono/wasm/data/aot-tests/Directory.Build.props b/src/mono/wasm/data/aot-tests/Directory.Build.props index 4dd6d6452bb6cf..a4f201e432c298 100644 --- a/src/mono/wasm/data/aot-tests/Directory.Build.props +++ b/src/mono/wasm/data/aot-tests/Directory.Build.props @@ -1,12 +1,14 @@ $(HELIX_CORRELATION_PAYLOAD)\build\ + $([MSBuild]::EnsureTrailingSlash($(WasmBuildSupportDir))) <_WasmTargetsDir>$(WasmBuildSupportDir)\wasm\ $(WasmBuildSupportDir)emsdk\ <_WasmTargetsDir Condition="'$(_WasmTargetsDir)' == '' and '$(RuntimeSrcDir)' != ''">$(RuntimeSrcDir)\src\mono\wasm\build\ + <_WasmTargetsDir Condition="'$(_WasmTargetsDir)' != ''">$([MSBuild]::EnsureTrailingSlash($(_WasmTargetsDir))) From 0f6f54999b4ce3d90b459b2e16c314e50163482b Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 7 Apr 2021 10:00:29 -0400 Subject: [PATCH 67/97] [wasm] Rename the BuildWasmAOT properties to BuildAOT, to be usable for non-wasm cases too --- .../testing/libraries/testing-wasm.md | 6 ++--- eng/pipelines/runtime-staging.yml | 4 +-- eng/testing/tests.mobile.targets | 25 +++++++++---------- src/libraries/tests.proj | 2 +- .../wasm/data/aot-tests/Directory.Build.props | 3 +-- 5 files changed, 19 insertions(+), 21 deletions(-) diff --git a/docs/workflow/testing/libraries/testing-wasm.md b/docs/workflow/testing/libraries/testing-wasm.md index 7f23b9503ebc62..933e65e2348788 100644 --- a/docs/workflow/testing/libraries/testing-wasm.md +++ b/docs/workflow/testing/libraries/testing-wasm.md @@ -141,12 +141,12 @@ that includes the expensive AOT step. - Instead, we take the built test assembly+dependencies, and enough related bits to be able to run the `WasmBuildApp` target, with the original inputs. -- To recreate a similar build+test run locally, add `/p:BuildWasmAOTTestsOnHelix=true` to the usual command line. +- To recreate a similar build+test run locally, add `/p:BuildAOTTestsOnHelix=true` to the usual command line. - For example, with `./dotnet.sh build /t:Test src/libraries/System.AppContext/tests /p:TargetOS=Browser /p:TargetArchitecture=wasm /p:Configuration=Release` - - AOT: add `/p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true /p:BuildWasmAOTTestsOnHelix=true` + - AOT: add `/p:EnableAggressiveTrimming=true /p:RunAOTCompilation=true /p:BuildAOTTestsOnHelix=true` - Only trimming (helpful to isolate issues caused by trimming): - - add `/p:EnableAggressiveTrimming=true /p:BuildWasmAOTTestsOnHelix=true` + - add `/p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true` ## Kicking off outer loop tests from GitHub Interface diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 720cbfe86267e0..66fe4eb17973bd 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -205,7 +205,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono_AOT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildWasmAOTTestsOnHelix=true /p:RunAOTCompilation=true + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=true timeoutInMinutes: 180 condition: >- or( @@ -244,7 +244,7 @@ jobs: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono_EAT - buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildWasmAOTTestsOnHelix=true /p:RunAOTCompilation=false + buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:EnableAggressiveTrimming=true /p:BuildAOTTestsOnHelix=true /p:RunAOTCompilation=false timeoutInMinutes: 180 condition: >- or( diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 21bddd4db8397f..6b810f696d4a3d 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -14,20 +14,17 @@ - helix - helix - local + helix + helix + local - + dotnet msbuild publish/AOTTestProjectForHelix.proj /bl:$XHARNESS_OUT/AOTBuild.binlog $(RunScriptCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration) - - $(RunScriptCommand) /p:WasmBuildSupportDir=$HELIX_CORRELATION_PAYLOAD/build - $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) $(RunScriptCommand) && cd wasm_build/AppBundle @@ -270,23 +267,25 @@ + Condition="'$(TargetOS)' == 'Browser' and '$(BuildAOTTestsOn)' == 'local'" /> + Condition="'$(TargetOS)' == 'Browser' and '$(BuildAOTTestsOn)' == 'local'" /> PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) - WasmBuildApp - StageEmSdkForHelix + WasmBuildApp + StageEmSdkForHelix - $(BundleTestWasmAppDependsOn);_BundleAOTTestWasmAppForHelix + $(BundleTestWasmAppDependsOn);_BundleAOTTestWasmAppForHelix - + diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 57ae2024e314dd..4d3f4c7a59b2e7 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -205,7 +205,7 @@ - + diff --git a/src/mono/wasm/data/aot-tests/Directory.Build.props b/src/mono/wasm/data/aot-tests/Directory.Build.props index a4f201e432c298..6b0501e8f631fe 100644 --- a/src/mono/wasm/data/aot-tests/Directory.Build.props +++ b/src/mono/wasm/data/aot-tests/Directory.Build.props @@ -1,9 +1,8 @@ $(HELIX_CORRELATION_PAYLOAD)\build\ - $([MSBuild]::EnsureTrailingSlash($(WasmBuildSupportDir))) <_WasmTargetsDir>$(WasmBuildSupportDir)\wasm\ - $(WasmBuildSupportDir)emsdk\ + $(WasmBuildSupportDir)\emsdk\ From 7bbb39075c030f2bff0d99c223e93626ffcea4e7 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 7 Apr 2021 12:47:52 -0400 Subject: [PATCH 68/97] Fix building the test command line for Wasm.Build.Tests --- eng/testing/tests.mobile.targets | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index 6b810f696d4a3d..6eb6c56aa247da 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -20,21 +20,22 @@ - dotnet msbuild publish/AOTTestProjectForHelix.proj /bl:$XHARNESS_OUT/AOTBuild.binlog + dotnet msbuild publish/AOTTestProjectForHelix.proj /bl:$XHARNESS_OUT/AOTBuild.binlog $(RunScriptCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration) - $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) - $(RunScriptCommand) && cd wasm_build/AppBundle + $(RunScriptCommand) /p:RunAOTCompilation=$(RunAOTCompilation) + $(RunScriptCommand) && cd wasm_build/AppBundle - $(RunScriptCommand) && - - $(RunScriptCommand) $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll - $(RunScriptCommand) $HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing + <_XHarnessCommandLine Condition="'$(IsFunctionalTest)' != 'true' and '$(Scenario)' != 'BuildWasmApps'">$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT -- $(RunTestsJSArguments) --run WasmTestRunner.dll $(AssemblyName).dll + <_XHarnessCommandLine Condition="'$(IsFunctionalTest)' == 'true'">$HARNESS_RUNNER wasm $XHARNESS_COMMAND --app=. --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js --output-directory=$XHARNESS_OUT --expected-exit-code=$(ExpectedExitCode) -- $(RunTestsJSArguments) --run $(AssemblyName).dll --testing + + $(RunScriptCommand) && $(_XHarnessCommandLine) + $(_XHarnessCommandLine) From 0399ccf107e2c2ff6be909d2cc5504041527e875 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 12 Apr 2021 16:23:14 -0400 Subject: [PATCH 69/97] [wasm] Make sure env vars for test args can be set for the run script --- eng/testing/tests.wasm.targets | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index becac84f0762d2..236d79b5d1eca3 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -19,14 +19,14 @@ <_XHarnessArgs Condition="'$(Scenario)' != 'WasmTestOnBrowser'">$(_XHarnessArgs) --engine=$(JSEngine) $(JSEngineArgs) --js-file=runtime.js <_XHarnessArgs Condition="'$(IsFunctionalTest)' == 'true'" >$(_XHarnessArgs) --expected-exit-code=$(ExpectedExitCode) - <_XHarnessArgs Condition="'$(WasmXHarnessArgs)' != ''" >$(_XHarnessArgs) $(WasmXHarnessArgs) %24WasmXHarnessArgs + <_XHarnessArgs Condition="'$(WasmXHarnessArgs)' != ''" >$(_XHarnessArgs) $(WasmXHarnessArgs) <_AppArgs Condition="'$(IsFunctionalTest)' != 'true' and '$(Scenario)' != 'BuildWasmApps'">--run WasmTestRunner.dll $(AssemblyName).dll <_AppArgs Condition="'$(IsFunctionalTest)' == 'true'">--run $(AssemblyName).dll --testing - <_AppArgs Condition="'$(WasmTestAppArgs)' != ''">$(_AppArgs) $(WasmTestAppArgs) %24WasmTestAppArgs + <_AppArgs Condition="'$(WasmTestAppArgs)' != ''">$(_AppArgs) $(WasmTestAppArgs) - $HARNESS_RUNNER $(_XHarnessArgs) -- $(WasmXHarnessMonoArgs) %24WasmXHarnessMonoArgs $(_AppArgs) + $HARNESS_RUNNER $(_XHarnessArgs) %24WasmXHarnessArgs -- $(WasmXHarnessMonoArgs) %24WasmXHarnessMonoArgs $(_AppArgs) %24WasmTestAppArgs From 9aea5cf6ca65c4cdd4b3eb29f2069ee9f0bf164d Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 12 Apr 2021 16:25:35 -0400 Subject: [PATCH 70/97] tests.wasm.targets: Remove unncessary conditions --- eng/testing/tests.wasm.targets | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index 236d79b5d1eca3..77aaf44b1303e5 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -5,7 +5,7 @@ true - + helix helix local @@ -29,7 +29,7 @@ $HARNESS_RUNNER $(_XHarnessArgs) %24WasmXHarnessArgs -- $(WasmXHarnessMonoArgs) %24WasmXHarnessMonoArgs $(_AppArgs) %24WasmTestAppArgs - + <_AOTBuildCommand>dotnet msbuild publish/AOTTestProjectForHelix.proj /bl:$XHARNESS_OUT/AOTBuild.binlog @@ -54,11 +54,11 @@ + Condition="'$(BuildAOTTestsOn)' == 'local'" /> + Condition="'$(BuildAOTTestsOn)' == 'local'" /> - + PrepareForWasmBuildApp;$(WasmBuildAppDependsOn) $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) @@ -68,9 +68,9 @@ $(BundleTestWasmAppDependsOn);_BundleAOTTestWasmAppForHelix - + - @@ -111,7 +111,7 @@ - + @@ -122,7 +122,7 @@ - + $(BundleDir) WasmTestRunner.dll From 9f5d10cc1335c122791e92a5e3f80ff296ba56ca Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Mon, 12 Apr 2021 19:18:13 -0400 Subject: [PATCH 71/97] [wasm] Fix support for satellite assemblies, and pdb files - pdb files need to be bundled - correctly bundle, and use satellite assemblies - Usually, satellite assemblies are not added to VFS, but some tests try to load them by path. So, make sure that they are available --- eng/testing/tests.wasm.targets | 42 ++++++++++++++----- .../aot-tests/AOTTestProjectForHelix.proj | 25 ++++++----- 2 files changed, 46 insertions(+), 21 deletions(-) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index 77aaf44b1303e5..8402b2b6cd64fd 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -73,15 +73,28 @@ + + + + true + + - + + + + <_BundlePdbFiles Include="$([System.IO.Path]::ChangeExtension('%(WasmAssembliesToBundle.Identity)', '.pdb'))" /> + + + @@ -92,11 +105,15 @@ <_WasmPropertyNames Include="_WasmDevel" /> <_WasmPropertyNames Include="WasmLinkIcalls" /> <_WasmPropertyNames Include="WasmDedup" /> + <_WasmPropertyNames Include="IncludeSatelliteAssembliesInVFS" /> <_WasmPropertiesToPass Include="$(%(_WasmPropertyNames.Identity))" Name="%(_WasmPropertyNames.Identity)" ConditionToUse="%(_WasmPropertyNames.ConditionToUse)" /> + + <_WasmVFSFilesToCopy Include="@(WasmFilesToIncludeInFileSystem)" /> + <_WasmVFSFilesToCopy TargetPath="%(FileName)%(Extension)" Condition="'%(TargetPath)' == ''" /> @@ -104,8 +121,8 @@ Properties="@(_WasmPropertiesToPass)" OutputFile="$(BundleDir)publish\AOTTestProjectForHelix.props" /> - - + + - + diff --git a/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj b/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj index 638969e3368818..f7b9d3fcc4fd0e 100644 --- a/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj +++ b/src/mono/wasm/data/aot-tests/AOTTestProjectForHelix.proj @@ -1,11 +1,13 @@ - true $(HELIX_WORKITEM_ROOT)\wasm_build\ $(MSBuildThisFileDirectory)..\wasm_build\ + + true $(TestRootDir)..\publish\ - $(TestRootDir)\obj + $(OriginalPublishDir)..\extraFiles\ + $(TestRootDir)\obj\ false true @@ -26,18 +28,21 @@ - - - $([System.IO.Directory]::GetParent('%(Identity)').Name) - - + + - + - <_ExtraFiles Include="$(OriginalPublishDir)..\extraFiles\**\*" /> + <_ExtraFiles Include="$(ExtraFilesPath)**\*" /> + + + <_SatelliteAssembliesForVFS Include="@(WasmSatelliteAssemblies)" /> + <_SatelliteAssembliesForVFS TargetPath="%(CultureName)\%(FileName)%(Extension)" /> + + + From 4742f4b7bd81e222e9a1ad31eb43e986eb267f9a Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Sat, 10 Apr 2021 21:09:22 -0400 Subject: [PATCH 72/97] [wasm] Fix trimming errors for System.Runtime.Loader.Tests .. and System.Runtime.Loader.DefaultContext.Tests . One of the errors: ``` [02:19:22] fail: [FAIL] System.Runtime.Loader.Tests.AssemblyLoadContextTest.LoadAssemblyByStream_ValidUserAssembly [02:19:22] info: System.IO.FileNotFoundException : Could not load file or assembly 'System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. [02:19:22] info: at System.Reflection.RuntimeModule.GetTypes() [02:19:22] info: at System.Reflection.Assembly.GetTypes() [02:19:22] info: at System.Reflection.Assembly.get_DefinedTypes() [02:19:22] info: at System.Runtime.Loader.Tests.AssemblyLoadContextTest.LoadAssemblyByStream_ValidUserAssembly() [02:19:22] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) [02:19:22] info: System.MissingMethodException: Method 'ReferencedClassLib.Program.Describe' not found. [02:19:22] info: at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) [02:19:22] info: at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args) [02:19:22] info: at System.Runtime.Loader.Tests.SatelliteAssembliesTests.describeLib(String alc, String type, String culture, String expected) ``` Errors were due to dependent assemblies getting trimmed. Fixes https://github.com/dotnet/runtime/issues/50718 . --- .../System.Runtime.Loader.DefaultContext.Tests.csproj | 2 ++ .../tests/System.Runtime.Loader.Tests.csproj | 6 ++++++ src/libraries/tests.proj | 4 ---- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj b/src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj index a0304394916779..551fbe6ec6452c 100644 --- a/src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj +++ b/src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj @@ -7,6 +7,8 @@ + + + + + + + + diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 19197060883984..7675a5f3988de5 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -247,10 +247,6 @@ - - - - From b14d0ffb2174d8bb8fcb4433d12a523e21c93355 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 13 Apr 2021 13:44:27 -0400 Subject: [PATCH 73/97] [wasm] tests.wasm.targets Set DebuggerSupport, only it wasn't set already, allowing projects to override it --- eng/testing/tests.wasm.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index 8402b2b6cd64fd..6dc438d9cf72fb 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -49,7 +49,7 @@ false - false + false From 02c3bcb14efd12f21ffba8399198c5c3dcaa5ffd Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 13 Apr 2021 13:44:40 -0400 Subject: [PATCH 74/97] [wasm] fix build error for System.Diagnostics.StackTrace.Tests This depends on pdb files, which are included only if `DebuggerSupport==true`, but that is set to false by default for tests. Override that for this project. --- .../tests/System.Diagnostics.StackTrace.Tests.csproj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/System.Diagnostics.StackTrace/tests/System.Diagnostics.StackTrace.Tests.csproj b/src/libraries/System.Diagnostics.StackTrace/tests/System.Diagnostics.StackTrace.Tests.csproj index 93673781e705f4..d6d002664cfef3 100644 --- a/src/libraries/System.Diagnostics.StackTrace/tests/System.Diagnostics.StackTrace.Tests.csproj +++ b/src/libraries/System.Diagnostics.StackTrace/tests/System.Diagnostics.StackTrace.Tests.csproj @@ -3,6 +3,9 @@ $(NetCoreAppCurrent) true true + + + true From 14f74378f805b6d00251c47826b4454cf5f7030e Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 13 Apr 2021 13:03:00 -0400 Subject: [PATCH 75/97] Bump chromedriver version to current stable --- src/libraries/sendtohelixhelp.proj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index d326ebfae53103..12ed5f66b07189 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -248,8 +248,8 @@ - - 768968 + + 843830 https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chrome-linux.zip https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chromedriver_linux64.zip $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) From 854fb3401e8f5420af02a1a095e2b5c44fca68eb Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 13 Apr 2021 20:28:56 -0400 Subject: [PATCH 76/97] Revert "Bump chromedriver version to current stable" This reverts commit 14f74378f805b6d00251c47826b4454cf5f7030e. --- src/libraries/sendtohelixhelp.proj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index 12ed5f66b07189..d326ebfae53103 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -248,8 +248,8 @@ - - 843830 + + 768968 https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chrome-linux.zip https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/$(ChromiumRevision)/chromedriver_linux64.zip $([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk')) From e6be69f80859cb21bcf8e4e77e4ab15c7aa27d58 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 13 Apr 2021 22:57:21 -0400 Subject: [PATCH 77/97] [wasm] Fix build Honor `$(IncludeSatelliteAssembliesInVFS)` non-aot test builds too. --- eng/testing/tests.wasm.targets | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/eng/testing/tests.wasm.targets b/eng/testing/tests.wasm.targets index 01baf72d170fbe..97e72ea56dc388 100644 --- a/eng/testing/tests.wasm.targets +++ b/eng/testing/tests.wasm.targets @@ -3,6 +3,9 @@ $(BundleTestAppTargets);BundleTestWasmApp true + + true @@ -77,12 +80,6 @@ AssemblyFile="$(WasmBuildTasksAssemblyPath)" /> - - - true - - @@ -161,6 +158,10 @@ + <_CopyLocalPaths Include="@(PublishItemsOutputGroupOutputs)" From 73052fd919fc68185241fec1abc37abf1b6b39f2 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 13 Apr 2021 23:23:11 -0400 Subject: [PATCH 78/97] [wasm] Fix trimming errors for System.Collections.Immutable.Tests Debugger attributes get applied when `DebuggerSupport==true` ``` [02:40:53] fail: [FAIL] System.Collections.Immutable.Tests.ImmutableHashSetTest.TestDebuggerAttributes_Null [02:40:53] info: System.InvalidOperationException : Expected one DebuggerTypeProxyAttribute on System.Collections.Immutable.ImmutableHashSet`1[System.String]. [02:40:53] info: at System.Diagnostics.DebuggerAttributes.GetProxyType(Type type, Type[] genericTypeArguments) [02:40:53] info: at System.Diagnostics.DebuggerAttributes.GetProxyType(Type type) [02:40:53] info: at System.Diagnostics.DebuggerAttributes.GetProxyType(Object obj) [02:40:53] info: at System.Collections.Immutable.Tests.ImmutableHashSetTest.TestDebuggerAttributes_Null() [02:40:53] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ``` --- .../tests/System.Collections.Immutable.Tests.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Collections.Immutable/tests/System.Collections.Immutable.Tests.csproj b/src/libraries/System.Collections.Immutable/tests/System.Collections.Immutable.Tests.csproj index f71e364a81ea28..5dc59a38382154 100644 --- a/src/libraries/System.Collections.Immutable/tests/System.Collections.Immutable.Tests.csproj +++ b/src/libraries/System.Collections.Immutable/tests/System.Collections.Immutable.Tests.csproj @@ -2,6 +2,7 @@ 0436 $(NetCoreAppCurrent);net461 + true Date: Tue, 13 Apr 2021 23:26:14 -0400 Subject: [PATCH 79/97] [wasm] Fix trimming errors for System.Collections.Tests ``` [02:40:53] fail: [FAIL] System.Collections.Tests.QueueTests.DebuggerAttribute [02:40:53] info: System.InvalidOperationException : Expected one DebuggerDisplayAttribute on System.Collections.Queue. [02:40:53] info: at System.Diagnostics.DebuggerAttributes.ValidateDebuggerDisplayReferences(Object obj) [02:40:53] info: at System.Collections.Tests.QueueTests.DebuggerAttribute() [02:40:53] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ``` - `System.Collections.NonGeneric.Tests` - `System.Collections.Concurrent.Tests`: ``` [02:40:55] fail: [FAIL] System.Collections.Concurrent.Tests.ConcurrentBagTests.DebuggerAttributes_Success(count: 0) [02:40:55] info: System.InvalidOperationException : Expected one DebuggerDisplayAttribute on System.Collections.Concurrent.ConcurrentBag`1[System.Int32]. [02:40:55] info: at System.Diagnostics.DebuggerAttributes.ValidateDebuggerDisplayReferences(Object obj) [02:40:55] info: at System.Collections.Concurrent.Tests.ProducerConsumerCollectionTests.DebuggerAttributes_Success(Int32 count) [02:40:55] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ``` - `System.Composition.TypedParts.Tests`: ``` [02:41:16] fail: [FAIL] System.Composition.Hosting.Tests.ContainerConfigurationTests.DebuggerAttributes_GetViaReflection_Success(configuration: ContainerConfiguration { }) [02:41:16] info: System.InvalidOperationException : Expected one DebuggerTypeProxyAttribute on System.Composition.Hosting.ContainerConfiguration. [02:41:16] info: at System.Diagnostics.DebuggerAttributes.GetProxyType(Type type, Type[] genericTypeArguments) [02:41:16] info: at System.Diagnostics.DebuggerAttributes.ValidateDebuggerTypeProxyProperties(Type type, Type[] genericTypeArguments, Object obj) [02:41:16] info: at System.Diagnostics.DebuggerAttributes.ValidateDebuggerTypeProxyProperties(Type type, Object obj) [02:41:16] info: at System.Diagnostics.DebuggerAttributes.ValidateDebuggerTypeProxyProperties(Object obj) [02:41:16] info: at System.Composition.Hosting.Tests.ContainerConfigurationTests.DebuggerAttributes_GetViaReflection_Success(ContainerConfiguration configuration) [02:41:16] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ``` `System.Drawing.Primitives.Tests`: ``` [02:40:49] fail: [FAIL] System.Drawing.Primitives.Tests.ColorTests.DebuggerAttributesAreValid [02:40:49] info: System.InvalidOperationException : Expected one DebuggerDisplayAttribute on System.Drawing.Color. [02:40:49] info: at System.Diagnostics.DebuggerAttributes.ValidateDebuggerDisplayReferences(Object obj) [02:40:49] info: at System.Drawing.Primitives.Tests.ColorTests.DebuggerAttributesAreValid() [02:40:49] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ``` - `System.Text.RegularExpressions.Tests`: ``` [02:41:30] fail: [FAIL] System.Text.RegularExpressions.Tests.CaptureCollectionTests.DebuggerAttributeTests [02:41:30] info: System.InvalidOperationException : Expected one DebuggerDisplayAttribute on System.Text.RegularExpressions.CaptureCollection. [02:41:30] info: at System.Diagnostics.DebuggerAttributes.ValidateDebuggerDisplayReferences(Object obj) [02:41:30] info: at System.Text.RegularExpressions.Tests.CaptureCollectionTests.DebuggerAttributeTests() [02:41:30] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ``` - `System.Threading.Channels.Tests` ``` [02:41:25] fail: [FAIL] System.Threading.Channels.Tests.DebugAttributeTests.TestDebuggerDisplaysAndTypeProxies(obj: UnboundedChannel`1 { Reader = UnboundedChannelReader { CanCount = True, Completion = Task { Status = WaitingForActivation }, Count = 0 }, Writer = UnboundedChannelWriter { } }) [02:41:25] info: System.InvalidOperationException : Expected one DebuggerDisplayAttribute on System.Threading.Channels.UnboundedChannel`1[System.Int32]. [02:41:25] info: at System.Diagnostics.DebuggerAttributes.ValidateDebuggerDisplayReferences(Object obj) [02:41:25] info: at System.Threading.Channels.Tests.DebugAttributeTests.TestDebuggerDisplaysAndTypeProxies(Object obj) [02:41:25] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ``` - `System.Linq.Tests` ``` [02:42:09] fail: [FAIL] System.Linq.Tests.GroupByTests.DebuggerAttributesValid(grouping: [1], keyString: "\"1\"") [02:42:09] info: System.InvalidOperationException : Expected one DebuggerDisplayAttribute on System.Linq.Grouping`2[System.String,System.Int32]. [02:42:09] info: at System.Diagnostics.DebuggerAttributes.ValidateDebuggerDisplayReferences(Object obj) [02:42:09] info: at System.Linq.Tests.GroupByTests.DebuggerAttributesValid[String,Int32](IGrouping`2 grouping, String keyString) [02:42:09] info: at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) ``` --- .../tests/System.Collections.Concurrent.Tests.csproj | 3 ++- .../tests/System.Collections.NonGeneric.Tests.csproj | 1 + .../System.Collections/tests/System.Collections.Tests.csproj | 1 + .../tests/System.Composition.TypedParts.Tests.csproj | 3 ++- .../tests/System.Drawing.Primitives.Tests.csproj | 1 + src/libraries/System.Linq/tests/System.Linq.Tests.csproj | 3 ++- .../tests/System.Text.RegularExpressions.Tests.csproj | 1 + .../tests/System.Threading.Channels.Tests.csproj | 1 + 8 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/libraries/System.Collections.Concurrent/tests/System.Collections.Concurrent.Tests.csproj b/src/libraries/System.Collections.Concurrent/tests/System.Collections.Concurrent.Tests.csproj index 1ef1827987185f..d0beb0ebc46996 100644 --- a/src/libraries/System.Collections.Concurrent/tests/System.Collections.Concurrent.Tests.csproj +++ b/src/libraries/System.Collections.Concurrent/tests/System.Collections.Concurrent.Tests.csproj @@ -3,6 +3,7 @@ true true $(NetCoreAppCurrent) + true - \ No newline at end of file + diff --git a/src/libraries/System.Collections.NonGeneric/tests/System.Collections.NonGeneric.Tests.csproj b/src/libraries/System.Collections.NonGeneric/tests/System.Collections.NonGeneric.Tests.csproj index a7c767971ce90f..96c0b9471cb72a 100644 --- a/src/libraries/System.Collections.NonGeneric/tests/System.Collections.NonGeneric.Tests.csproj +++ b/src/libraries/System.Collections.NonGeneric/tests/System.Collections.NonGeneric.Tests.csproj @@ -2,6 +2,7 @@ true $(NetCoreAppCurrent) + true diff --git a/src/libraries/System.Collections/tests/System.Collections.Tests.csproj b/src/libraries/System.Collections/tests/System.Collections.Tests.csproj index a9aba5d5add000..66f5dee8d5ba6d 100644 --- a/src/libraries/System.Collections/tests/System.Collections.Tests.csproj +++ b/src/libraries/System.Collections/tests/System.Collections.Tests.csproj @@ -2,6 +2,7 @@ $(NetCoreAppCurrent) true + true diff --git a/src/libraries/System.Composition.TypedParts/tests/System.Composition.TypedParts.Tests.csproj b/src/libraries/System.Composition.TypedParts/tests/System.Composition.TypedParts.Tests.csproj index 5701c13ee3fb59..293590ae99aff9 100644 --- a/src/libraries/System.Composition.TypedParts/tests/System.Composition.TypedParts.Tests.csproj +++ b/src/libraries/System.Composition.TypedParts/tests/System.Composition.TypedParts.Tests.csproj @@ -1,6 +1,7 @@ $(NetCoreAppCurrent);net461 + true @@ -16,4 +17,4 @@ - \ No newline at end of file + diff --git a/src/libraries/System.Drawing.Primitives/tests/System.Drawing.Primitives.Tests.csproj b/src/libraries/System.Drawing.Primitives/tests/System.Drawing.Primitives.Tests.csproj index b3a3a3ea5e3d6f..53f60dbcb90928 100644 --- a/src/libraries/System.Drawing.Primitives/tests/System.Drawing.Primitives.Tests.csproj +++ b/src/libraries/System.Drawing.Primitives/tests/System.Drawing.Primitives.Tests.csproj @@ -1,6 +1,7 @@ $(NetCoreAppCurrent) + true diff --git a/src/libraries/System.Linq/tests/System.Linq.Tests.csproj b/src/libraries/System.Linq/tests/System.Linq.Tests.csproj index 4e4a90f7f2f0d8..cd15cfbbf59d5d 100644 --- a/src/libraries/System.Linq/tests/System.Linq.Tests.csproj +++ b/src/libraries/System.Linq/tests/System.Linq.Tests.csproj @@ -1,6 +1,7 @@ $(NetCoreAppCurrent) + true @@ -75,4 +76,4 @@ - \ No newline at end of file + diff --git a/src/libraries/System.Text.RegularExpressions/tests/System.Text.RegularExpressions.Tests.csproj b/src/libraries/System.Text.RegularExpressions/tests/System.Text.RegularExpressions.Tests.csproj index 45fe74f6287690..dff58ce1bf5ce5 100644 --- a/src/libraries/System.Text.RegularExpressions/tests/System.Text.RegularExpressions.Tests.csproj +++ b/src/libraries/System.Text.RegularExpressions/tests/System.Text.RegularExpressions.Tests.csproj @@ -4,6 +4,7 @@ $(NoWarn);xUnit2008 $(NetCoreAppCurrent);net48 + true diff --git a/src/libraries/System.Threading.Channels/tests/System.Threading.Channels.Tests.csproj b/src/libraries/System.Threading.Channels/tests/System.Threading.Channels.Tests.csproj index c67e5e5fed5cdf..45be5f85721731 100644 --- a/src/libraries/System.Threading.Channels/tests/System.Threading.Channels.Tests.csproj +++ b/src/libraries/System.Threading.Channels/tests/System.Threading.Channels.Tests.csproj @@ -1,6 +1,7 @@ $(NetCoreAppCurrent);net461 + true From 34105a1ee02a53db15c7531bbaf55bd2fd8d6151 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 14 Apr 2021 00:12:09 -0400 Subject: [PATCH 80/97] [wasm] Disable some tests --- src/libraries/tests.proj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 7675a5f3988de5..404d5c3a83481d 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -289,6 +289,12 @@ + + + + + + From a1cd01c741a165e00f772f95b7496a16c34ef86a Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 14 Apr 2021 09:12:57 -0400 Subject: [PATCH 81/97] [wasm] Fix errors due to trimming for Microsoft.CSharp.Tests ``` [05:44:07] fail: [FAIL] Microsoft.CSharp.RuntimeBinder.Tests.DynamicDebuggerProxyTests.Items_Empty [05:44:07] info: System.TypeInitializationException : The type initializer for 'Microsoft.CSharp.RuntimeBinder.Tests.DynamicDebuggerProxyTests' threw an exception. [05:44:07] info: ---- System.TypeLoadException : Could not load type 'Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView' from assembly 'Microsoft.CSharp, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. [05:44:07] info: at System.Reflection.RuntimeConstructorInfo.InternalInvoke(Object obj, Object[] parameters, Boolean wrapExceptions) [05:44:07] info: ----- Inner Stack Trace ----- [05:44:07] info: at System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase) [05:44:07] info: at System.Reflection.Assembly.GetType(String name, Boolean throwOnError) [05:44:07] info: at Microsoft.CSharp.RuntimeBinder.Tests.DynamicDebuggerProxyTests.GetType(String typeName) [05:44:07] info: at Microsoft.CSharp.RuntimeBinder.Tests.DynamicDebuggerProxyTests..cctor() ``` --- .../Microsoft.CSharp/tests/Microsoft.CSharp.Tests.csproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libraries/Microsoft.CSharp/tests/Microsoft.CSharp.Tests.csproj b/src/libraries/Microsoft.CSharp/tests/Microsoft.CSharp.Tests.csproj index bc793f0595eeff..c115e0c43497f6 100644 --- a/src/libraries/Microsoft.CSharp/tests/Microsoft.CSharp.Tests.csproj +++ b/src/libraries/Microsoft.CSharp/tests/Microsoft.CSharp.Tests.csproj @@ -7,6 +7,8 @@ "Operator '-' cannot be applied to operands of type 'ushort' and 'EnumArithmeticTests.UInt16Enum'" --> $(Features.Replace('strict', '') + + true From 867a38137c2d8516956b5093c903f4c1f9a78a6a Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 14 Apr 2021 13:02:29 -0400 Subject: [PATCH 82/97] [wasm] Disable broken test System.Xml.Tests.CTransformRegressionTest.RegressionTest1 .. tracked in https://github.com/dotnet/runtime/issues/51244 . --- .../tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs b/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs index c323dcb5dc7998..81bbafc28a0e72 100644 --- a/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs +++ b/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs @@ -3331,6 +3331,7 @@ public CTransformRegressionTest(ITestOutputHelper output) : base(output) } //[Variation("Bug398968 - Globalization is broken for document() function")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/51244", TestPlatforms.Browser)] [InlineData(XslInputType.URI, ReaderType.XmlValidatingReader, OutputType.Stream, NavType.XPathDocument)] [Theory] public void RegressionTest1(XslInputType xslInputType, ReaderType readerType, OutputType outputType, NavType navType) From b09c9cb0af68230d1f095b10b9a00d5b5d246fe5 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 15 Apr 2021 14:00:04 -0400 Subject: [PATCH 83/97] System.ComponentModel.TypeConverter: fix path to il descriptors file --- .../tests/System.ComponentModel.TypeConverter.Tests.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj b/src/libraries/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj index b8a634b041a8ff..a9452cfcb36560 100644 --- a/src/libraries/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj +++ b/src/libraries/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj @@ -163,6 +163,6 @@ - + - \ No newline at end of file + From 79fa75b6a1d7d396a7d75004f5dc3013af2b2310 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Thu, 15 Apr 2021 19:56:12 -0400 Subject: [PATCH 84/97] [wasm] Fix build errors due to trimming in System.Reflection.MetadataLoadContext The test project explicitly copies, and needs `mscorlib.dll`, which gets trimmed out with `EnableAggressiveTrimming=true`. Preserve that. --- .../tests/ILLink.Descriptors.xml | 3 +++ .../tests/System.Reflection.MetadataLoadContext.Tests.csproj | 2 ++ 2 files changed, 5 insertions(+) create mode 100644 src/libraries/System.Reflection.MetadataLoadContext/tests/ILLink.Descriptors.xml diff --git a/src/libraries/System.Reflection.MetadataLoadContext/tests/ILLink.Descriptors.xml b/src/libraries/System.Reflection.MetadataLoadContext/tests/ILLink.Descriptors.xml new file mode 100644 index 00000000000000..cf15f17b4ba973 --- /dev/null +++ b/src/libraries/System.Reflection.MetadataLoadContext/tests/ILLink.Descriptors.xml @@ -0,0 +1,3 @@ + + + diff --git a/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj b/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj index 1703956fc6c52c..62a8a2e49b35b3 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj +++ b/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj @@ -78,5 +78,7 @@ + + From 0ec02105e3327d86cba15920c5b72f5667302c7b Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Fri, 16 Apr 2021 05:24:42 -0400 Subject: [PATCH 85/97] Skip xunit trimming descriptors for wasm build tests Fails because it can't find `xunit.runner.utility.netcoreapp10` --- eng/testing/tests.mobile.targets | 2 +- .../BuildWasmApps/Wasm.Build.Tests/Wasm.Build.Tests.csproj | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets index e85778249f854e..aea51ddee8c283 100644 --- a/eng/testing/tests.mobile.targets +++ b/eng/testing/tests.mobile.targets @@ -243,7 +243,7 @@ - + diff --git a/src/tests/BuildWasmApps/Wasm.Build.Tests/Wasm.Build.Tests.csproj b/src/tests/BuildWasmApps/Wasm.Build.Tests/Wasm.Build.Tests.csproj index b6991b4d528c4a..a8048fb95a80ff 100644 --- a/src/tests/BuildWasmApps/Wasm.Build.Tests/Wasm.Build.Tests.csproj +++ b/src/tests/BuildWasmApps/Wasm.Build.Tests/Wasm.Build.Tests.csproj @@ -2,6 +2,7 @@ $(NetCoreAppToolCurrent) true + true true true BuildAndRun From f81fde9fb01371698028b1fff4b68eb869bd9dc3 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Fri, 16 Apr 2021 05:13:07 -0400 Subject: [PATCH 86/97] [wasm] Fix tests skipped, or not discovered due to trimming `InlineDataDiscoverer`, and `MemberDataDiscoverer` were getting trimmed, which would cause some tests to get skipped. For example, ~9k tests in `System.Data.Common.Tests` --- eng/testing/ILLink.Descriptor.xunit.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/eng/testing/ILLink.Descriptor.xunit.xml b/eng/testing/ILLink.Descriptor.xunit.xml index 5de0fb2b1d798d..16da46cbccb733 100644 --- a/eng/testing/ILLink.Descriptor.xunit.xml +++ b/eng/testing/ILLink.Descriptor.xunit.xml @@ -12,6 +12,7 @@ + From f33e181f47859be35f37a8e6ff2c44f5c95aa787 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Fri, 16 Apr 2021 06:29:04 -0400 Subject: [PATCH 87/97] [wasm] Disable broken test System.Data.Tests.XmlDataReaderTest.XmlLoadTest Tracked in https://github.com/dotnet/runtime/issues/51369 --- .../System.Data.Common/tests/System/Data/XmlDataReaderTest.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs b/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs index 1435d58a77e9d4..c042f09704f7b6 100644 --- a/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs +++ b/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs @@ -34,6 +34,7 @@ namespace System.Data.Tests public class XmlDataReaderTest { [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/51369", TestPlatforms.Browser)] public void XmlLoadTest() { var ds = new DataSet(); From 77184f6232645ea0274b9cf36fcf8a1071143334 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 20 Apr 2021 12:57:16 -0400 Subject: [PATCH 88/97] Revert "[wasm] Fix build errors due to trimming in System.Reflection.MetadataLoadContext" This reverts commit 79fa75b6a1d7d396a7d75004f5dc3013af2b2310. --- .../tests/ILLink.Descriptors.xml | 3 --- .../tests/System.Reflection.MetadataLoadContext.Tests.csproj | 2 -- 2 files changed, 5 deletions(-) delete mode 100644 src/libraries/System.Reflection.MetadataLoadContext/tests/ILLink.Descriptors.xml diff --git a/src/libraries/System.Reflection.MetadataLoadContext/tests/ILLink.Descriptors.xml b/src/libraries/System.Reflection.MetadataLoadContext/tests/ILLink.Descriptors.xml deleted file mode 100644 index cf15f17b4ba973..00000000000000 --- a/src/libraries/System.Reflection.MetadataLoadContext/tests/ILLink.Descriptors.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj b/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj index 62a8a2e49b35b3..1703956fc6c52c 100644 --- a/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj +++ b/src/libraries/System.Reflection.MetadataLoadContext/tests/System.Reflection.MetadataLoadContext.Tests.csproj @@ -78,7 +78,5 @@ - - From 5021fec44088ed5a21a00654cbcb165ee06316b2 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 20 Apr 2021 12:58:13 -0400 Subject: [PATCH 89/97] Revert "[wasm] Fix trimming errors for System.Runtime.Loader.Tests" This reverts commit 4742f4b7bd81e222e9a1ad31eb43e986eb267f9a. --- .../System.Runtime.Loader.DefaultContext.Tests.csproj | 2 -- .../tests/System.Runtime.Loader.Tests.csproj | 6 ------ src/libraries/tests.proj | 4 ++++ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj b/src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj index 551fbe6ec6452c..a0304394916779 100644 --- a/src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj +++ b/src/libraries/System.Runtime.Loader/tests/DefaultContext/System.Runtime.Loader.DefaultContext.Tests.csproj @@ -7,8 +7,6 @@ - - - - - - - - diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 6868b7e9232c4f..83bfe5afd1eab3 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -252,6 +252,10 @@ + + + + From da1aca941bcc72eac774d6335e621c943a988354 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 20 Apr 2021 13:08:54 -0400 Subject: [PATCH 90/97] [wasm] Disable System.Reflection.MetadataLoadContext tests --- src/libraries/tests.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 83bfe5afd1eab3..3ea968dbdab11a 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -246,6 +246,9 @@ + + + From ec9255c4ae09c48ffaf337f4cfd612ba62a38a0f Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 20 Apr 2021 13:13:44 -0400 Subject: [PATCH 91/97] Revert "[wasm] Disable broken test System.Xml.Tests.CTransformRegressionTest.RegressionTest1" This reverts commit 867a38137c2d8516956b5093c903f4c1f9a78a6a. --- .../tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs b/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs index 81bbafc28a0e72..c323dcb5dc7998 100644 --- a/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs +++ b/src/libraries/System.Private.Xml/tests/Xslt/XslCompiledTransformApi/XslCompiledTransform.cs @@ -3331,7 +3331,6 @@ public CTransformRegressionTest(ITestOutputHelper output) : base(output) } //[Variation("Bug398968 - Globalization is broken for document() function")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/51244", TestPlatforms.Browser)] [InlineData(XslInputType.URI, ReaderType.XmlValidatingReader, OutputType.Stream, NavType.XPathDocument)] [Theory] public void RegressionTest1(XslInputType xslInputType, ReaderType readerType, OutputType outputType, NavType navType) From 29aed77308fa1b8f4d1b43df55820f67824f4982 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 20 Apr 2021 13:14:43 -0400 Subject: [PATCH 92/97] Revert "[wasm] Disable broken test System.Data.Tests.XmlDataReaderTest.XmlLoadTest" This reverts commit f33e181f47859be35f37a8e6ff2c44f5c95aa787. --- .../System.Data.Common/tests/System/Data/XmlDataReaderTest.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs b/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs index c042f09704f7b6..1435d58a77e9d4 100644 --- a/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs +++ b/src/libraries/System.Data.Common/tests/System/Data/XmlDataReaderTest.cs @@ -34,7 +34,6 @@ namespace System.Data.Tests public class XmlDataReaderTest { [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/51369", TestPlatforms.Browser)] public void XmlLoadTest() { var ds = new DataSet(); From 50dddbb230bd6bc0b39a1379a633dda87ca4e59b Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 20 Apr 2021 20:32:38 -0400 Subject: [PATCH 93/97] [wasm] Disable failing tests build for System.ComponentModel.Primitives.Tests --- src/libraries/tests.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 3ea968dbdab11a..3c225875c6b7fb 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -307,6 +307,9 @@ + + + From 160f05329f10f4b6496f6d7abdae2c2b8eac4c2a Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 20 Apr 2021 23:08:02 -0400 Subject: [PATCH 94/97] Disable System.Data.Common.Tests --- src/libraries/tests.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 3c225875c6b7fb..67137051794773 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -310,6 +310,9 @@ + + + From 17693cd69e9c34237bba3506f9a640a5cd2faa1c Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 20 Apr 2021 23:12:30 -0400 Subject: [PATCH 95/97] Disable System.Text.Json.Tests --- src/libraries/tests.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 67137051794773..1258503497cf01 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -313,6 +313,9 @@ + + + From fcfb527755502032201446e2ca5516c3f03549f8 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Tue, 20 Apr 2021 23:14:38 -0400 Subject: [PATCH 96/97] disable System.Xml.Xsl.XslCompiledTransformApi.Tests --- src/libraries/tests.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 1258503497cf01..5ff64f1971d85d 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -316,6 +316,9 @@ + + + From 6bee3b7cbe724f3236ca26da930964e6f7379e11 Mon Sep 17 00:00:00 2001 From: Ankit Jain Date: Wed, 21 Apr 2021 16:39:02 -0400 Subject: [PATCH 97/97] [wasm] Disable System.ComponentModel.TypeConverter.Tests --- src/libraries/tests.proj | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 5ff64f1971d85d..acd3fd1f87f17e 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -319,6 +319,9 @@ + + +