diff options
-rw-r--r-- | azure-pipelines.yml | 17 | ||||
-rw-r--r-- | eng/send-to-helix-step.yml | 1 | ||||
-rw-r--r-- | eng/test-job.yml | 2 | ||||
-rw-r--r-- | tests/helixpublishwitharcade.proj | 6 |
4 files changed, 22 insertions, 4 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 0762ed408b..a837b7391b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -45,6 +45,7 @@ jobs: ## \---------> Pri1 -----------------> plain runtests ## | \----------------> jitstress ## | \----------------> gcstress +## | \----------------> runincontext ## | \----------------> maybe more (dynamically selected runtest modes) ## | ## \---------> Pri1 crossgen --------> plain runtests @@ -155,6 +156,11 @@ jobs: platforms: - Linux_x64 - Windows_NT_x64 + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-runincontext') }}: + platforms: + - Linux_x64 + - Windows_NT_x64 + - Windows_NT_x86 # # Release builds @@ -199,7 +205,7 @@ jobs: # # The test jobs that can be triggered by a PR, manually from ADO and that are scheduled # 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')) }}: +- ${{ 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', 'coreclr-runincontext')) }}: - template: eng/platform-matrix.yml parameters: jobTemplate: test-job.yml @@ -237,6 +243,11 @@ jobs: - Linux_x64 - Windows_NT_x64 - Windows_NT_x86 + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-runincontext') }}: + platforms: + - Linux_x64 + - Windows_NT_x64 + - Windows_NT_x86 jobParameters: ${{ if eq(variables['Build.DefinitionName'], 'coreclr-ci') }}: testGroup: innerloop @@ -266,6 +277,10 @@ jobs: testGroup: r2r-extra readyToRun: true displayNameArgs: R2R + ${{ if eq(variables['Build.DefinitionName'], 'coreclr-runincontext') }}: + testGroup: outerloop + runInUnloadableContext: true + displayNameArgs: RunInContext # ReadyToRun test jobs that are triggered by default from a PR. diff --git a/eng/send-to-helix-step.yml b/eng/send-to-helix-step.yml index 29c677c48e..9f7816c35b 100644 --- a/eng/send-to-helix-step.yml +++ b/eng/send-to-helix-step.yml @@ -16,6 +16,7 @@ parameters: timeoutPerTestInMinutes: '' runCrossGen: '' helixProjectArguments: '' + runInUnloadableContext: '' steps: - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: diff --git a/eng/test-job.yml b/eng/test-job.yml index 522ef8bebd..239e52b496 100644 --- a/eng/test-job.yml +++ b/eng/test-job.yml @@ -10,6 +10,7 @@ parameters: # If true, run the corefx tests instead of the coreclr ones corefxTests: false displayNameArgs: '' + runInUnloadableContext: false ### Test job @@ -205,6 +206,7 @@ jobs: timeoutPerTestInMinutes: 90 runCrossGen: ${{ parameters.readyToRun }} + runInUnloadableContext: ${{ parameters.runInUnloadableContext }} ${{ if eq(variables['System.TeamProject'], 'internal') }}: # Access token variable for internal project from the diff --git a/tests/helixpublishwitharcade.proj b/tests/helixpublishwitharcade.proj index c7994c3293..a361d4b58e 100644 --- a/tests/helixpublishwitharcade.proj +++ b/tests/helixpublishwitharcade.proj @@ -127,8 +127,8 @@ </ItemGroup> <Copy SourceFiles="@(_XUnitConsoleRunnerFiles)" DestinationFolder="$(CoreRootDirectory)" /> - <Copy SourceFiles="$(MSBuildThisFileDirectory)\scripts\runincontext.cmd" DestinationFolder="$(CoreRootDirectory)" Condition=" '$(TargetsWindows)' == 'true' and '$(RunInUnloadableContext)' == 'true'" /> - <Copy SourceFiles="$(MSBuildThisFileDirectory)/scripts/runincontext.sh" DestinationFolder="$(CoreRootDirectory)" Condition=" '$(TargetsWindows)' != 'true' and '$(RunInUnloadableContext)' == 'true'" /> + <Copy SourceFiles="$(MSBuildThisFileDirectory)\scripts\runincontext.cmd" DestinationFolder="$(CoreRootDirectory)" Condition=" '$(TargetsWindows)' == 'true' and '$(_RunInUnloadableContext)' == 'true'" /> + <Copy SourceFiles="$(MSBuildThisFileDirectory)/scripts/runincontext.sh" DestinationFolder="$(CoreRootDirectory)" Condition=" '$(TargetsWindows)' != 'true' and '$(_RunInUnloadableContext)' == 'true'" /> </Target> <Target Name="CreateTestEnvFiles"> @@ -193,7 +193,7 @@ <HelixPreCommand Include="export CORE_ROOT=$HELIX_CORRELATION_PAYLOAD" /> <HelixPreCommand Include="export RunCrossGen=1" Condition=" '$(RunCrossGen)' == 'true' " /> <HelixPreCommand Include="export RunInUnloadableContext=1" Condition=" '$(RunInUnloadableContext)' == 'true' " /> - <HelixPreCommand Include="export CLRCustomTestLauncher=$HELIX_WORKITEM_PAYLOAD/runincontext.sh" Condition=" '$(RunInUnloadableContext)' == 'true' " /> + <HelixPreCommand Include="export CLRCustomTestLauncher=$HELIX_CORRELATION_PAYLOAD/runincontext.sh" Condition=" '$(RunInUnloadableContext)' == 'true' " /> <HelixPreCommand Include="export __TestEnv=$HELIX_WORKITEM_PAYLOAD/$(TestEnvFileName)" /> <HelixPreCommand Include="export __TestTimeout=$(TimeoutPerTestInMilliseconds)" Condition=" '$(TimeoutPerTestInMilliseconds)' != '' " /> <HelixPreCommand Include="cat $__TestEnv" /> |