## \---------> Pri1 -----------------> plain runtests
## | \----------------> jitstress
## | \----------------> gcstress
+## | \----------------> runincontext
## | \----------------> maybe more (dynamically selected runtest modes)
## |
## \---------> Pri1 crossgen --------> plain runtests
platforms:
- Linux_x64
- Windows_NT_x64
+ ${{ if eq(variables['Build.DefinitionName'], 'coreclr-runincontext') }}:
+ platforms:
+ - Linux_x64
+ - Windows_NT_x64
+ - Windows_NT_x86
#
# Release builds
#
# 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
- 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
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.
# If true, run the corefx tests instead of the coreclr ones
corefxTests: false
displayNameArgs: ''
+ runInUnloadableContext: false
### Test job
timeoutPerTestInMinutes: 90
runCrossGen: ${{ parameters.readyToRun }}
+ runInUnloadableContext: ${{ parameters.runInUnloadableContext }}
${{ if eq(variables['System.TeamProject'], 'internal') }}:
# Access token variable for internal project from the
</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">
<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" />