diff --git a/eng/pipelines/runtime-sanitized.yml b/eng/pipelines/runtime-sanitized.yml
index 5db421762ed0d..ed0334b61b3e9 100644
--- a/eng/pipelines/runtime-sanitized.yml
+++ b/eng/pipelines/runtime-sanitized.yml
@@ -30,6 +30,7 @@ extends:
platforms:
- linux_x64
- osx_x64
+ - windows_x64
variables:
- name: _nativeSanitizersArg
value: -fsanitize address
@@ -81,6 +82,38 @@ extends:
scenarios:
- normal
+ #
+ # Build the whole product with CoreCLR and run libraries tests with AddressSanitizer
+ #
+ - template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ buildConfig: Debug
+ runtimeFlavor: coreclr
+ platforms:
+ - windows_x64
+ variables:
+ - name: _nativeSanitizersArg
+ value: -fsanitize address
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: CoreCLR_LibrariesTests
+ buildArgs: -s clr+libs+libs.tests -c $(_BuildConfig) -rc Checked $(_nativeSanitizersArg) /p:ArchiveTests=true
+ timeoutInMinutes: 360
+ # Hard-code queues here as we don't want to run on pre Win-10 queues
+ # and we don't want to overcompilcate helix-queues-setup.yml just for this case.
+ helixQueues:
+ - Windows.Amd64.Server2022.Open
+ - Windows.11.Amd64.Client.Open
+ # extra steps, run tests
+ postBuildSteps:
+ - template: /eng/pipelines/libraries/helix.yml
+ parameters:
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: Libraries_$(_BuildConfig)
+ scenarios:
+ - normal
+
#
# NativeAOT release build and smoke tests with AddressSanitizer
#
@@ -92,6 +125,7 @@ extends:
platforms:
- linux_x64
- osx_x64
+ - windows_x64
variables:
- name: _nativeSanitizersArg
value: -fsanitize address
diff --git a/eng/testing/linker/project.csproj.template b/eng/testing/linker/project.csproj.template
index f4177ee854261..41466e8d4492a 100644
--- a/eng/testing/linker/project.csproj.template
+++ b/eng/testing/linker/project.csproj.template
@@ -98,4 +98,8 @@
+
+
+
+
diff --git a/eng/testing/linker/trimmingTests.targets b/eng/testing/linker/trimmingTests.targets
index a13c1a1250442..926bafa52cfef 100644
--- a/eng/testing/linker/trimmingTests.targets
+++ b/eng/testing/linker/trimmingTests.targets
@@ -119,7 +119,8 @@
.Replace('{MicrosoftNetCoreAppRuntimePackDir}', '$(MicrosoftNetCoreAppRuntimePackDir)')
.Replace('{NativeSanitizersTargets}', '$(RepositoryEngineeringDir)nativeSanitizers.targets')
.Replace('{AppHostSourcePath}', '$(AppHostSourcePath)')
- .Replace('{SingleFileHostSourcePath}', '$(SingleFileHostSourcePath)'))"
+ .Replace('{SingleFileHostSourcePath}', '$(SingleFileHostSourcePath)')
+ .Replace('{SanitizerRuntimeFolder}', '$(DotNetHostBinDir)'))"
Overwrite="true" />
false
true
+
+ true
@@ -156,7 +158,7 @@ export DOTNET_GCName DOTNET_GCStress DOTNET_HeapVerify DOTNET_ReadyToRun
]]>
-
+
test.dll
$(OutputPath)/../testv1/test/
diff --git a/src/tests/readytorun/tests/mainv2.csproj b/src/tests/readytorun/tests/mainv2.csproj
index 9ff6350fef141..72e5d816629f0 100644
--- a/src/tests/readytorun/tests/mainv2.csproj
+++ b/src/tests/readytorun/tests/mainv2.csproj
@@ -5,6 +5,8 @@
false
true
+
+ true
@@ -158,7 +160,7 @@ export DOTNET_GCName DOTNET_GCStress DOTNET_HeapVerify DOTNET_ReadyToRun
]]>
-
+
test.dll
$(OutputPath)/../testv1/test/