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/