From: Bruce Forstall Date: Tue, 11 Jun 2019 21:18:08 +0000 (-0700) Subject: Improve corefx testing (dotnet/coreclr#24962) X-Git-Tag: submit/tizen/20210909.063632~11030^2~1248 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c4a1b3047510039de99eabe2bb14841b88d4d7b2;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Improve corefx testing (dotnet/coreclr#24962) CoreFX tests are now used to test CoreCLR on Windows/x64 and Linux/x64. PR testing includes normal and no-tiered modes. CI testing will include all JIT stress modes that apply to CoreCLR testing. Many tests have been disabled to allow the jobs to (mostly) run error-free. Support for other platforms requires fixes to the testhost generation. Commit migrated from https://github.com/dotnet/coreclr/commit/96c8a1259f5605f52a4d08d804c5f0cdb59308b2 --- diff --git a/eng/helixcorefxtests.proj b/eng/helixcorefxtests.proj index 166eafe..980c5c4 100644 --- a/eng/helixcorefxtests.proj +++ b/eng/helixcorefxtests.proj @@ -1,10 +1,77 @@ - + + + + + + + + - - - netstandard2.0 - + + + + + + + + <_PropertiesToPass> + __BuildArch=$(__BuildArch); + __BuildOS=$(__BuildOS); + __BuildType=$(__BuildType); + Creator=$(_Creator); + HelixAccessToken=$(_HelixAccessToken); + HelixBuild=$(_HelixBuild); + HelixSource=$(_HelixSource); + HelixTargetQueues=$(_HelixTargetQueues); + HelixType=$(_HelixType); + PublishTestResults=$(_PublishTestResults); + RunCrossGen=$(_RunCrossGen); + TimeoutPerTestCollectionInMinutes=$(_TimeoutPerTestCollectionInMinutes) + + + + + + + + + <_Scenarios Include="$(_Scenarios.Split(','))" /> + + + <_ProjectsToBuild Include="$(MSBuildProjectFile)"> + $(_PropertiesToPass);Scenario=%(_Scenarios.Identity) + + + + + <_BuildInParallel>false + <_BuildInParallel Condition=" '@(_ProjectsToBuild->Count())' > '1' ">true + + + + + + + $(_Creator) @@ -13,8 +80,6 @@ $(_HelixSource) $(_HelixTargetQueues) $(_HelixType) - $(__BuildArch) - $(__BuildType) + $(ProjectDir)tests\CoreFX\CoreFX.issues.rsp + $(TestWorkingDir)testhost\ $(TestWorkingDir)helix\ - $(TestArchiveRuntimeRoot)testhost-runtime.zip - - $(_PublishTestResults) - false - true - true - true - - 600 - $([System.TimeSpan]::FromSeconds($(TimeoutInSeconds))) - 4 - true + https://dotnetfeed.blob.core.windows.net/dotnet-core call RunTests.cmd -r %HELIX_CORRELATION_PAYLOAD% --rsp-file %HELIX_CORRELATION_PAYLOAD%\CoreFX.issues.rsp ./RunTests.sh -r $HELIX_CORRELATION_PAYLOAD --rsp-file $HELIX_CORRELATION_PAYLOAD/CoreFX.issues.rsp - - - - + + + - + + + SetStressModes_$(Scenario).cmd + SetStressModes_$(Scenario).sh + - + + - + + $(TestHostRootPath)$(TestEnvFileName) + - + + <_ProjectsToBuild Include="..\tests\testenvironment.proj"> + Scenario=$(Scenario);TestEnvFileName=$(TestEnvFilePath);TargetsWindows=$(TargetsWindows) + + + + + + + - - https://dotnetfeed.blob.core.windows.net/dotnet-core - + + - + + <_Scenario Include="$(Scenarios.Split(','))" /> + <_ProjectsToBuild Include="$(MSBuildProjectFile)"> + Scenario=%(_Scenario.Identity) + + + + + + + + + + + <_TargetGroup>netcoreapp <_AssetManifestPath>$(TestAssetBlobFeedUrl)/corefx-tests/$(MicrosoftPrivateCoreFxNETCoreAppVersion)/$(__BuildOS).$(__BuildArch)/$(_TargetGroup)/corefx-test-assets.xml @@ -95,22 +197,87 @@ - + - - + + + + + + + + + + + + + + + + + + + + @(HelixPreCommand) + + + + $(__BuildArch) + + $(BuildType) + $(BuildType)-$(Scenario) + + CoreFX + $(TestRunNamePrefix)$(BuildOS) $(BuildArch) $(BuildType) @ + $(TestRunNamePrefix)$(BuildOS) $(BuildArch) $(BuildType) $(Scenario) @ + + + $(_PublishTestResults) + false + + true + true + true + true + + + + + + + + + + + $(TestAssetBlobFeedUrl)/%(Identity) $(HelixCommand) - $(CommandTimeoutSpan) + $([System.TimeSpan]::FromMinutes($(TimeoutPerTestCollectionInMinutes))) - - + + + diff --git a/eng/pipelines/coreclr/azure-pipelines.yml b/eng/pipelines/coreclr/azure-pipelines.yml index fb05c8f..0762ed4 100644 --- a/eng/pipelines/coreclr/azure-pipelines.yml +++ b/eng/pipelines/coreclr/azure-pipelines.yml @@ -151,6 +151,10 @@ jobs: - Linux_x64 - Windows_NT_x64 - Windows_NT_x86 + ${{ if in(variables['Build.DefinitionName'], 'coreclr-corefx', 'coreclr-corefx-jitstress', 'coreclr-corefx-jitstressregs', 'coreclr-corefx-jitstress2-jitstressregs') }}: + platforms: + - Linux_x64 + - Windows_NT_x64 # # Release builds @@ -194,7 +198,8 @@ jobs: # Checked test builds # # The test jobs that can be triggered by a PR, manually from ADO and that are scheduled -- ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'Manual', 'Schedule')) }}: +# TODO: This long 'in' condition needs to be make data driven, perhaps by adding another layer of template. +- ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'Manual', 'Schedule'), in(variables['Build.DefinitionName'], 'coreclr-ci', 'coreclr-outerloop', 'coreclr-outerloop-jitstress', 'coreclr-outerloop-jitstress-isas-arm', 'coreclr-outerloop-jitstress-isas-x86', 'coreclr-outerloop-jitstressregs-x86', 'coreclr-outerloop-jitstressregs', 'coreclr-outerloop-jitstress2-jitstressregs', 'coreclr-outerloop-gcstress0x3-gcstress0xc', 'coreclr-outerloop-gcstress-extra', 'coreclr-outerloop-r2r', 'coreclr-outerloop-r2r-extra')) }}: - template: eng/platform-matrix.yml parameters: jobTemplate: test-job.yml @@ -238,31 +243,32 @@ jobs: ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop') }}: testGroup: outerloop ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress') }}: - testGroup: outerloop-jitstress + testGroup: jitstress ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress-isas-arm') }}: - testGroup: outerloop-jitstress-isas-arm + testGroup: jitstress-isas-arm ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress-isas-x86') }}: - testGroup: outerloop-jitstress-isas-x86 + testGroup: jitstress-isas-x86 ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstressregs-x86') }}: - testGroup: outerloop-jitstressregs-x86 + testGroup: jitstressregs-x86 ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstressregs') }}: - testGroup: outerloop-jitstressregs + testGroup: jitstressregs ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-jitstress2-jitstressregs') }}: - testGroup: outerloop-jitstress2-jitstressregs + testGroup: jitstress2-jitstressregs ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-gcstress0x3-gcstress0xc') }}: - testGroup: outerloop-gcstress0x3-gcstress0xc + testGroup: gcstress0x3-gcstress0xc ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-gcstress-extra') }}: - testGroup: outerloop-gcstress-extra + testGroup: gcstress-extra ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-r2r') }}: testGroup: outerloop readyToRun: true displayNameArgs: R2R ${{ if eq(variables['Build.DefinitionName'], 'coreclr-outerloop-r2r-extra') }}: - testGroup: outerloop-r2r-extra + testGroup: r2r-extra readyToRun: true displayNameArgs: R2R -# The ReadyToRun test jobs that are triggered by default from a PR. +# ReadyToRun test jobs that are triggered by default from a PR. + - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}: - template: eng/platform-matrix.yml parameters: @@ -277,19 +283,43 @@ jobs: readyToRun: true testGroup: innerloop displayNameArgs: R2R - # The CoreFX runs against CoreCLR + +# +# CoreFX test runs against CoreCLR +# + +# PR innerloop checked build + +# TODO: This long 'in' condition needs to be make data driven, perhaps by adding another layer of template. +- ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest', 'Manual', 'Schedule'), in(variables['Build.DefinitionName'], 'coreclr-ci', 'coreclr-corefx', 'coreclr-corefx-jitstress', 'coreclr-corefx-jitstressregs', 'coreclr-corefx-jitstress2-jitstressregs')) }}: - template: eng/platform-matrix.yml parameters: jobTemplate: test-job.yml - buildConfig: release - platforms: - - Windows_NT_x64 + buildConfig: checked + ${{ if and(eq(variables['Build.Reason'], 'PullRequest'), eq(variables['Build.DefinitionName'], 'coreclr-ci')) }}: + platforms: + - Linux_x64 + - Windows_NT_x64 + ${{ if in(variables['Build.DefinitionName'], 'coreclr-corefx', 'coreclr-corefx-jitstress', 'coreclr-corefx-jitstressregs', 'coreclr-corefx-jitstress2-jitstressregs') }}: + platforms: + - Linux_x64 + - Windows_NT_x64 jobParameters: + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-ci') }}: + testGroup: innerloop + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-corefx') }}: + testGroup: outerloop + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-corefx-jitstress') }}: + testGroup: jitstress + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-corefx-jitstressregs') }}: + testGroup: jitstressregs + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-corefx-jitstress2-jitstressregs') }}: + testGroup: jitstress2-jitstressregs corefxTests: true - testGroup: innerloop displayNameArgs: CoreFX -# CI +# CI (merge) jobs + - ${{ if and(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}: - template: eng/platform-matrix.yml parameters: @@ -314,8 +344,8 @@ jobs: - Windows_NT_arm - Windows_NT_arm64 jobParameters: - readyToRun: true testGroup: outerloop + readyToRun: true displayNameArgs: R2R # diff --git a/eng/test-job.yml b/eng/test-job.yml index 010fb61..522ef8b 100644 --- a/eng/test-job.yml +++ b/eng/test-job.yml @@ -26,19 +26,28 @@ jobs: helixType: 'build/tests/' # Compute job name from template parameters - ${{ if eq(parameters.testGroup, 'innerloop') }}: - name: ${{ format('testbuild_pri0_{0}_{1}_{2}_{3}', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} - displayName: ${{ format('Test Pri0 {0} {1} {2}_{3}', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + ${{ if and(eq(parameters.testGroup, 'innerloop'), eq(parameters.displayNameArgs, '')) }}: + name: ${{ format('test_{0}_{1}_{2}_{3}', 'p0', parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + displayName: ${{ format('Test {0} {1} {2} {3}', 'Pri0', parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + + ${{ if and(ne(parameters.testGroup, 'innerloop'), eq(parameters.displayNameArgs, '')) }}: + name: ${{ format('test_{0}_{1}_{2}_{3}', 'p1', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + displayName: ${{ format('Test {0} {1} {2} {3}', 'Pri1', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} - ${{ if ne(parameters.testGroup, 'innerloop') }}: - name: ${{ format('testbuild_pri1_{0}_{1}_{2}_{3}', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} - displayName: ${{ format('Test Pri1 {0} {1} {2} {3}', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + ${{ if and(eq(parameters.testGroup, 'innerloop'), ne(parameters.displayNameArgs, '')) }}: + name: ${{ format('test_{0}_{1}_{2}_{3}_{4}', 'p0', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + displayName: ${{ format('Test {0} {1} {2} {3} {4}', 'Pri0', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + + ${{ if and(ne(parameters.testGroup, 'innerloop'), ne(parameters.displayNameArgs, '')) }}: + name: ${{ format('test_{0}_{1}_{2}_{3}_{4}', 'p1', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + displayName: ${{ format('Test {0} {1} {2} {3} {4}', 'Pri1', parameters.displayNameArgs, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} crossrootfsDir: ${{ parameters.crossrootfsDir }} variables: - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - group: DotNet-HelixApi-Access + # Map template parameters to command line arguments - name: priorityArg value: '' @@ -92,11 +101,11 @@ jobs: # this number should be adjusted accordingly. ${{ if eq(parameters.testGroup, 'innerloop') }}: timeoutInMinutes: 240 - ${{ if eq(parameters.testGroup, 'outerloop') }}: + ${{ if in(parameters.testGroup, 'outerloop') }}: timeoutInMinutes: 360 - ${{ if in(parameters.testGroup, 'outerloop-jitstress', 'outerloop-jitstress-isas-arm', 'outerloop-jitstressregs-x86', 'outerloop-jitstressregs', 'outerloop-jitstress2-jitstressregs', 'outerloop-gcstress0x3-gcstress0xc') }}: + ${{ if in(parameters.testGroup, 'jitstress', 'jitstress-isas-arm', 'jitstressregs-x86', 'jitstressregs', 'jitstress2-jitstressregs', 'gcstress0x3-gcstress0xc') }}: timeoutInMinutes: 480 - ${{ if in(parameters.testGroup, 'outerloop-jitstress-isas-x86', 'outerloop-gcstress-extra', 'outerloop-r2r-extra') }}: + ${{ if in(parameters.testGroup, 'jitstress-isas-x86', 'gcstress-extra', 'r2r-extra') }}: timeoutInMinutes: 600 steps: @@ -149,10 +158,16 @@ jobs: helixBuild: $(Build.BuildNumber) helixSource: $(_HelixSource) - ${{ if eq(parameters.readyToRun, false) }}: - helixType: 'test/functional/cli/' - ${{ if eq(parameters.readyToRun, true) }}: + # REVIEW: not sure why "cli" is part of the names here. Leave it for the ones that already had it, + # but don't add it to new ones. + ${{ if and(eq(parameters.corefxTests, true), eq(parameters.readyToRun, true)) }}: + helixType: 'test/functional/r2r_corefx/' + ${{ if and(eq(parameters.corefxTests, true), ne(parameters.readyToRun, true)) }}: + helixType: 'test/functional/corefx/' + ${{ if and(ne(parameters.corefxTests, true), eq(parameters.readyToRun, true)) }}: helixType: 'test/functional/r2r/cli/' + ${{ if and(ne(parameters.corefxTests, true), ne(parameters.readyToRun, true)) }}: + helixType: 'test/functional/cli/' helixQueues: ${{ parameters.helixQueues }} @@ -162,22 +177,30 @@ jobs: publishTestResults: true - ${{ if eq(parameters.testGroup, 'innerloop') }}: - # "PerCollection" is time needed for the "biggest" xUnit test collection to complete. - # In case xUnit test wrappers get refactored this number should also be adjusted. + # Set job timeouts + # + # "timeoutPerTestCollectionInMinutes" is the time needed for the "biggest" xUnit test collection to complete. + # In case xUnit test wrappers get refactored this number should also be adjusted. + # + # "timeoutPerTestInMinutes" corresponds to individual test running time. This is implemented by setting + # the __TestTimeout variable, which is later read by the coreclr xunit test wrapper code (the code in the + # xunit test dlls that invokes the actual tests). Note this doesn't apply to CoreFX testing. + + ${{ if and(eq(parameters.corefxTests, true), eq(parameters.testGroup, 'innerloop')) }}: + timeoutPerTestCollectionInMinutes: 120 + ${{ if and(ne(parameters.corefxTests, true), eq(parameters.testGroup, 'innerloop')) }}: timeoutPerTestCollectionInMinutes: 30 - # "PerTest" corresponds to individual test running time (i.e. __TestTimeout). timeoutPerTestInMinutes: 10 - ${{ if eq(parameters.testGroup, 'outerloop') }}: + ${{ if in(parameters.testGroup, 'outerloop') }}: timeoutPerTestCollectionInMinutes: 120 timeoutPerTestInMinutes: 10 - ${{ if in(parameters.testGroup, 'outerloop-jitstress', 'outerloop-jitstress-isas-arm', 'outerloop-jitstress-isas-x86', 'outerloop-jitstressregs-x86', 'outerloop-jitstressregs', 'outerloop-jitstress2-jitstressregs') }}: + ${{ if in(parameters.testGroup, 'jitstress', 'jitstress-isas-arm', 'jitstress-isas-x86', 'jitstressregs-x86', 'jitstressregs', 'jitstress2-jitstressregs' ) }}: timeoutPerTestCollectionInMinutes: 120 timeoutPerTestInMinutes: 30 - ${{ if in(parameters.testGroup, 'outerloop-gcstress0x3-gcstress0xc') }}: + ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc') }}: timeoutPerTestCollectionInMinutes: 240 timeoutPerTestInMinutes: 60 - ${{ if in(parameters.testGroup, 'outerloop-gcstress-extra', 'outerloop-r2r-extra') }}: + ${{ if in(parameters.testGroup, 'gcstress-extra', 'r2r-extra') }}: timeoutPerTestCollectionInMinutes: 300 timeoutPerTestInMinutes: 90 @@ -188,17 +211,17 @@ jobs: # DotNet-HelixApi-Access variable group helixAccessToken: $(HelixApiAccessToken) - # Sets up the template to run the corefx tests + # Choose which tests to send to Helix: CoreFX or CoreCLR. ${{ if eq(parameters.corefxTests, true) }}: - helixProjectArguments: 'eng/helixcorefxtests.proj /t:Test /p:ArcadeBuild=True' - ${{ if eq(parameters.corefxTests, false) }}: + helixProjectArguments: 'eng/helixcorefxtests.proj' + ${{ if ne(parameters.corefxTests, true) }}: helixProjectArguments: 'tests/helixpublishwitharcade.proj' ${{ if in(parameters.testGroup, 'innerloop', 'outerloop') }}: scenarios: - normal - no_tiered_compilation - ${{ if eq(parameters.testGroup, 'outerloop-jitstress') }}: + ${{ if in(parameters.testGroup, 'jitstress') }}: scenarios: - jitminopts - jitstress1 @@ -207,13 +230,13 @@ jobs: - jitstress2_tiered - zapdisable - tailcallstress - ${{ if eq(parameters.testGroup, 'outerloop-jitstress-isas-arm') }}: + ${{ if in(parameters.testGroup, 'jitstress-isas-arm') }}: scenarios: - jitstress_isas_incompletehwintrinsic - jitstress_isas_nohwintrinsic - jitstress_isas_nohwintrinsic_nosimd - jitstress_isas_nosimd - ${{ if eq(parameters.testGroup, 'outerloop-jitstress-isas-x86') }}: + ${{ if in(parameters.testGroup, 'jitstress-isas-x86') }}: scenarios: - jitstress_isas_incompletehwintrinsic - jitstress_isas_nohwintrinsic @@ -236,7 +259,7 @@ jobs: - jitstress_isas_x86_nosse41 - jitstress_isas_x86_nosse42 - jitstress_isas_x86_nossse3 - ${{ if eq(parameters.testGroup, 'outerloop-jitstressregs-x86') }}: + ${{ if in(parameters.testGroup, 'jitstressregs-x86') }}: scenarios: - jitstressregs1_x86_noavx - jitstressregs2_x86_noavx @@ -246,7 +269,7 @@ jobs: - jitstressregs0x10_x86_noavx - jitstressregs0x80_x86_noavx - jitstressregs0x1000_x86_noavx - ${{ if eq(parameters.testGroup, 'outerloop-jitstressregs') }}: + ${{ if in(parameters.testGroup, 'jitstressregs' ) }}: scenarios: - jitstressregs1 - jitstressregs2 @@ -256,7 +279,7 @@ jobs: - jitstressregs0x10 - jitstressregs0x80 - jitstressregs0x1000 - ${{ if eq(parameters.testGroup, 'outerloop-jitstress2-jitstressregs') }}: + ${{ if in(parameters.testGroup, 'jitstress2-jitstressregs') }}: scenarios: - jitstress2_jitstressregs1 - jitstress2_jitstressregs2 @@ -266,11 +289,11 @@ jobs: - jitstress2_jitstressregs0x10 - jitstress2_jitstressregs0x80 - jitstress2_jitstressregs0x1000 - ${{ if eq(parameters.testGroup, 'outerloop-gcstress0x3-gcstress0xc') }}: + ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc') }}: scenarios: - gcstress0x3 - gcstress0xc - ${{ if eq(parameters.testGroup, 'outerloop-gcstress-extra') }}: + ${{ if in(parameters.testGroup, 'gcstress-extra') }}: scenarios: - heapverify1 - gcstress0xc_zapdisable @@ -279,7 +302,7 @@ jobs: - gcstress0xc_jitstress1 - gcstress0xc_jitstress2 - gcstress0xc_jitminopts_heapverify1 - ${{ if eq(parameters.testGroup, 'outerloop-r2r-extra') }}: + ${{ if in(parameters.testGroup, 'r2r-extra') }}: scenarios: - jitstress1 - jitstress2 @@ -303,9 +326,13 @@ jobs: displayName: Publish Logs inputs: pathtoPublish: $(Build.SourcesDirectory)/bin/Logs - ${{ if eq(parameters.readyToRun, false) }}: - artifactName: ${{ format('testbuild_{0}_{1}_{2}_{3}_Logs', parameters.osIdentifier, parameters.archType, parameters.buildConfig, parameters.testGroup) }} - ${{ if eq(parameters.readyToRun, true) }}: - artifactName: ${{ format('testbuild_{0}_{1}_{2}_{3}_r2r_Logs', parameters.osIdentifier, parameters.archType, parameters.buildConfig, parameters.testGroup) }} + ${{ if and(eq(parameters.corefxTests, true), eq(parameters.readyToRun, true)) }}: + artifactName: ${{ format('test{0}_{1}_{2}_{3}_{4}_Logs', '_r2r_corefx', parameters.osIdentifier, parameters.archType, parameters.buildConfig, parameters.testGroup) }} + ${{ if and(eq(parameters.corefxTests, true), ne(parameters.readyToRun, true)) }}: + artifactName: ${{ format('test{0}_{1}_{2}_{3}_{4}_Logs', '_corefx', parameters.osIdentifier, parameters.archType, parameters.buildConfig, parameters.testGroup) }} + ${{ if and(ne(parameters.corefxTests, true), eq(parameters.readyToRun, true)) }}: + artifactName: ${{ format('test{0}_{1}_{2}_{3}_{4}_Logs', '_r2r', parameters.osIdentifier, parameters.archType, parameters.buildConfig, parameters.testGroup) }} + ${{ if and(ne(parameters.corefxTests, true), ne(parameters.readyToRun, true)) }}: + artifactName: ${{ format('test{0}_{1}_{2}_{3}_{4}_Logs', '', parameters.osIdentifier, parameters.archType, parameters.buildConfig, parameters.testGroup) }} continueOnError: true condition: always() diff --git a/src/coreclr/tests/CoreFX/CoreFX.issues.rsp b/src/coreclr/tests/CoreFX/CoreFX.issues.rsp index 743f0d5..632658c 100644 --- a/src/coreclr/tests/CoreFX/CoreFX.issues.rsp +++ b/src/coreclr/tests/CoreFX/CoreFX.issues.rsp @@ -70,4 +70,46 @@ -nomethod System.Tests.StringTests.CasingNegativeTest -nomethod System.Tests.StringTests.CompareNegativeTest -nomethod System.Tests.StringTests.ToLowerNullCulture --nomethod System.Tests.StringTests.ToUpperNullCulture \ No newline at end of file +-nomethod System.Tests.StringTests.ToUpperNullCulture + +# +# Temporarily disable tests while bringing more CoreFX job configurations online. +# + +-nonamespace System.Net.Http.Functional.Tests +-nonamespace System.Net.Sockets.Tests + +-noclass System.Net.Tests.HttpListenerContextTests +-noclass System.Net.Tests.HttpListenerAuthenticationTests +-noclass System.Net.Tests.HttpListenerResponseTests +-noclass System.Net.Tests.HttpListenerResponseCookiesTests + +-nomethod System.Net.Tests.HttpListenerResponseTests.Redirect_Invoke_SetsRedirectionProperties +-nomethod System.Net.Mail.Tests.SmtpClientTest.TestMailDeliveryAsync + +-nomethod System.Net.Security.Tests.LoggingTest.EventSource_EventsRaisedAsExpected +-nomethod System.Net.Security.Tests.SslStreamSniTest.SslStream_NoSniFromClient_CallbackReturnsNull + +# System.Linq.Expressions.Tests: timeout on Linux/x64 +-nonamespace System.Linq.Expressions.Tests + +# assert/crashes +-nomethod System.Tests.RealFormatterTestsBase.TestFormatterSingle_F20 +-noclass System.Tests.RealFormatterTestsBase +-noclass System.Tests.RealFormatterTests +-noclass System.Buffers.Text.Tests.RealFormatterTests + +# System.Runtime.Serialization.Formatters.Tests: timeouts +-nonamespace System.Runtime.Serialization.Formatters.Tests + +-nomethod Generic.Dictionary.DictionaryConcurrentAccessDetectionTests.DictionaryConcurrentAccessDetection_ReferenceTypeKey +-nomethod Generic.Dictionary.DictionaryConcurrentAccessDetectionTests.DictionaryConcurrentAccessDetection_ValueTypeKey +-nomethod MonoTests.System.Runtime.Caching.MemoryCacheTest.Contains +-nomethod System.Numerics.Tests.ToStringTest.RunRegionSpecificStandardFormatToStringTests +-nomethod System.Text.RegularExpressions.Tests.RegexMatchTests.Match_ExcessPrefix + +# Assert with JITMinOpts=1: https://github.com/dotnet/coreclr/issues/25070 +-nonamespace Microsoft.VisualBasic.Tests + +# Assert: https://github.com/dotnet/coreclr/issues/25050 +-nonamespace System.Data.Common.Tests diff --git a/src/coreclr/tests/helixpublishwitharcade.proj b/src/coreclr/tests/helixpublishwitharcade.proj index 74d5eb7..c7994c3 100644 --- a/src/coreclr/tests/helixpublishwitharcade.proj +++ b/src/coreclr/tests/helixpublishwitharcade.proj @@ -31,6 +31,8 @@ + + diff --git a/src/coreclr/tests/testenvironment.proj b/src/coreclr/tests/testenvironment.proj index ee6c039..7a0aa63 100644 --- a/src/coreclr/tests/testenvironment.proj +++ b/src/coreclr/tests/testenvironment.proj @@ -154,7 +154,6 @@ - <_TestEnvFileLine Include="@echo off" /> <_TestEnvFileLine Include="@(_COMPlusVariable->'set %(Identity)=%(Value)')" />