Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion eng/pipelines/common/templates/runtimes/build-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -88,6 +88,13 @@ jobs:
- name: testTreeFilterArg
value: 'tree GC/Scenarios/GCSimulator'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'

steps:

# Install test build dependencies
Expand All@@ -106,7 +113,7 @@ jobs:
displayName: Disk Usage before Build

# Build managed test components
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS $(buildAsStandaloneArg)
displayName: Build managed test components

- ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
Expand Down
6 changes: 3 additions & 3 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -267,19 +267,19 @@ jobs:
# and directly unzip them there after download). Unfortunately the logic to copy
# the native artifacts to the final test folders is dependent on availability of the
# managed test artifacts. This step also generates the final test execution scripts.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg) $(buildAsStandaloneArg)
displayName: Copy native test components to test output folder


# Generate test wrappers. This is the step that examines issues.targets to exclude tests.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate test wrappers


# Compose the Core_Root folder containing all artifacts needed for running
# CoreCLR tests. This step also compiles the framework using Crossgen2
# in ReadyToRun jobs.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate CORE_ROOT

# Build a Mono LLVM AOT cross-compiler for non-amd64 targets (in this case, just arm64)
Expand Down
7 changes: 7 additions & 0 deletions eng/pipelines/common/templates/runtimes/test-variables.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -98,3 +98,10 @@ variables:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- name: priorityArg
value: '-priority=1'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'
196 changes: 196 additions & 0 deletions src/tests/Common/testgrouping.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,6 +25,197 @@
<XUnitWrapperDll>$(TestBinDir)JIT\jit64\JIT.jit64.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\AdvSimd*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.AdvSimd</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\ArmBase*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.ArmBase</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Crc32*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Crc32</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Dp*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Dp</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Rdm*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Rdm</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha1*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha256*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\NotSupported*\**">
<TestGroup>JIT.HardwareIntrinsics.General.NotSupported</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector64*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector64</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector128*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector128</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector256*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\AvxVnni*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.AvxVnni</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Fma*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Fma</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\General*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.General</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Lzcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Lzcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Pclmulqdq*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Pclmulqdq</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Popcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Popcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Regression*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Regression</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse41*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse41</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse42*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse42</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Ssse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Ssse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\X86Base*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.X86Base</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\a*\**;
$(TestBinDir)JIT\Methodical\b*\**;
$(TestBinDir)JIT\Methodical\c*\**;
$(TestBinDir)JIT\Methodical\d*\**;
$(TestBinDir)JIT\Methodical\A*\**;
$(TestBinDir)JIT\Methodical\B*\**;
$(TestBinDir)JIT\Methodical\C*\**;
$(TestBinDir)JIT\Methodical\D*\**">
<TestGroup>JIT.Methodical.a-dA-D</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eh</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\e*\**;
$(TestBinDir)JIT\Methodical\E*\**"
Exclude="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eE</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\f*\**;
$(TestBinDir)JIT\Methodical\g*\**;
$(TestBinDir)JIT\Methodical\h*\**;
$(TestBinDir)JIT\Methodical\i*\**;
$(TestBinDir)JIT\Methodical\F*\**;
$(TestBinDir)JIT\Methodical\G*\**;
$(TestBinDir)JIT\Methodical\H*\**;
$(TestBinDir)JIT\Methodical\I*\**">
<TestGroup>JIT.Methodical.f-iF-I</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M09*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M10*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M11*\**">
Expand All@@ -43,6 +234,11 @@
<XUnitWrapperDll>$(TestBinDir)JIT\Regression\JIT.Regression.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\S*\**">
<TestGroup>JIT.HardwareIntrinsics.S</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)Loader\classloader\generics\**">
<TestGroup>Loader.classloader.generics</TestGroup>
<XUnitWrapperDll>$(TestBinDir)Loader\classloader\Loader.classloader.XUnitWrapper.dll</XUnitWrapperDll>
Expand Down
11 changes: 6 additions & 5 deletions src/tests/Directory.Build.targets
Original file line numberDiff line numberDiff line change
Expand Up@@ -298,13 +298,14 @@
</PropertyGroup>
</Target>

<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths"
Condition="'$(IsMergedTestRunnerAssembly)' == 'true' and !$(BuildAsStandalone)">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == ''">
<NumberOfStripesToUseInStress>1</NumberOfStripesToUseInStress> <!-- Set a custom number of stripes in stress to allow very large merged groups to function in the presence of GCStress -->
</PropertyGroup>

<!-- Generate a set of stress marker files to be used in stress scenarios in CI runs -->
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != ''">
<SequenceOfIntegers Include="0"/>
<SequenceOfIntegers Include="1"/>
<SequenceOfIntegers Include="2"/>
Expand DownExpand Up@@ -415,7 +416,7 @@

<ItemGroup>
<Content Include="$(AssemblyName).reflect.xml" Condition="Exists('$(AssemblyName).reflect.xml')" CopyToOutputDirectory="PreserveNewest" />
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly" Condition="'$(IsMergedTestRunnerAssembly)' == 'true'">
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly">
<Type>MergedTestAssembly</Type>
</MarkerFile>
<MarkerFile Include="$(IntermediateOutputPath)\$(AssemblyName).NoMonoAot" Condition="'$(MonoAotIncompatible)' == 'true'">
Expand All@@ -437,7 +438,7 @@

<!-- We don't want the out-of-process test marker file to be included in referencing projects, so we don't include it as content. -->
<WriteLinesToFile
Condition="'$(RequiresProcessIsolation)' == 'true' and '$(BuildAsStandalone)' != 'true'"
Condition="'$(RequiresProcessIsolation)' == 'true'"
File="$(OutputPath)\$(AssemblyName).OutOfProcessTest"
Lines="OutOfProcessTest"
Overwrite="true"
Expand Down
1 change: 1 addition & 0 deletions src/tests/build.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -589,6 +589,7 @@
<GroupBuildCmd>$(GroupBuildCmd) /maxcpucount</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">$(GroupBuildCmd) "/p:DevTeamProvisioning=-"</GroupBuildCmd>
<GroupBuildCmd>$(GroupBuildCmd) /bl:$(ArtifactsDir)/log/$(Configuration)/InnerManagedTestBuild.$(__TestGroupToBuild).binlog</GroupBuildCmd>
<GroupBuildCmd Condition="'$(BuildAsStandalone)' == 'true'">$(GroupBuildCmd) "/p:BuildAsStandalone=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(CrossBuild)' == 'true'">$(GroupBuildCmd) "/p:CrossBuild=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TestBuildMode)' == 'nativeaot'">$(GroupBuildCmd) "/p:DefaultBuildAllTarget=BuildNativeAot"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(IlcMultiModule)' == 'true'">$(GroupBuildCmd) "/p:IlcMultiModule=true"</GroupBuildCmd>
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Set BuildAsStandalone for gcstress test builds by markples · Pull Request #85284 · dotnet/runtime · GitHub
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion eng/pipelines/common/templates/runtimes/build-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -88,6 +88,13 @@ jobs:
- name: testTreeFilterArg
value: 'tree GC/Scenarios/GCSimulator'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'

steps:

# Install test build dependencies
Expand All@@ -106,7 +113,7 @@ jobs:
displayName: Disk Usage before Build

# Build managed test components
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS $(buildAsStandaloneArg)
displayName: Build managed test components

- ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
Expand Down
6 changes: 3 additions & 3 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -267,19 +267,19 @@ jobs:
# and directly unzip them there after download). Unfortunately the logic to copy
# the native artifacts to the final test folders is dependent on availability of the
# managed test artifacts. This step also generates the final test execution scripts.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg) $(buildAsStandaloneArg)
displayName: Copy native test components to test output folder


# Generate test wrappers. This is the step that examines issues.targets to exclude tests.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate test wrappers


# Compose the Core_Root folder containing all artifacts needed for running
# CoreCLR tests. This step also compiles the framework using Crossgen2
# in ReadyToRun jobs.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate CORE_ROOT

# Build a Mono LLVM AOT cross-compiler for non-amd64 targets (in this case, just arm64)
Expand Down
7 changes: 7 additions & 0 deletions eng/pipelines/common/templates/runtimes/test-variables.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -98,3 +98,10 @@ variables:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- name: priorityArg
value: '-priority=1'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'
196 changes: 196 additions & 0 deletions src/tests/Common/testgrouping.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,6 +25,197 @@
<XUnitWrapperDll>$(TestBinDir)JIT\jit64\JIT.jit64.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\AdvSimd*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.AdvSimd</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\ArmBase*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.ArmBase</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Crc32*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Crc32</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Dp*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Dp</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Rdm*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Rdm</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha1*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha256*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\NotSupported*\**">
<TestGroup>JIT.HardwareIntrinsics.General.NotSupported</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector64*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector64</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector128*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector128</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector256*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\AvxVnni*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.AvxVnni</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Fma*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Fma</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\General*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.General</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Lzcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Lzcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Pclmulqdq*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Pclmulqdq</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Popcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Popcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Regression*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Regression</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse41*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse41</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse42*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse42</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Ssse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Ssse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\X86Base*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.X86Base</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\a*\**;
$(TestBinDir)JIT\Methodical\b*\**;
$(TestBinDir)JIT\Methodical\c*\**;
$(TestBinDir)JIT\Methodical\d*\**;
$(TestBinDir)JIT\Methodical\A*\**;
$(TestBinDir)JIT\Methodical\B*\**;
$(TestBinDir)JIT\Methodical\C*\**;
$(TestBinDir)JIT\Methodical\D*\**">
<TestGroup>JIT.Methodical.a-dA-D</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eh</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\e*\**;
$(TestBinDir)JIT\Methodical\E*\**"
Exclude="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eE</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\f*\**;
$(TestBinDir)JIT\Methodical\g*\**;
$(TestBinDir)JIT\Methodical\h*\**;
$(TestBinDir)JIT\Methodical\i*\**;
$(TestBinDir)JIT\Methodical\F*\**;
$(TestBinDir)JIT\Methodical\G*\**;
$(TestBinDir)JIT\Methodical\H*\**;
$(TestBinDir)JIT\Methodical\I*\**">
<TestGroup>JIT.Methodical.f-iF-I</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M09*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M10*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M11*\**">
Expand All@@ -43,6 +234,11 @@
<XUnitWrapperDll>$(TestBinDir)JIT\Regression\JIT.Regression.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\S*\**">
<TestGroup>JIT.HardwareIntrinsics.S</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)Loader\classloader\generics\**">
<TestGroup>Loader.classloader.generics</TestGroup>
<XUnitWrapperDll>$(TestBinDir)Loader\classloader\Loader.classloader.XUnitWrapper.dll</XUnitWrapperDll>
Expand Down
11 changes: 6 additions & 5 deletions src/tests/Directory.Build.targets
Original file line numberDiff line numberDiff line change
Expand Up@@ -298,13 +298,14 @@
</PropertyGroup>
</Target>

<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths"
Condition="'$(IsMergedTestRunnerAssembly)' == 'true' and !$(BuildAsStandalone)">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == ''">
<NumberOfStripesToUseInStress>1</NumberOfStripesToUseInStress> <!-- Set a custom number of stripes in stress to allow very large merged groups to function in the presence of GCStress -->
</PropertyGroup>

<!-- Generate a set of stress marker files to be used in stress scenarios in CI runs -->
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != ''">
<SequenceOfIntegers Include="0"/>
<SequenceOfIntegers Include="1"/>
<SequenceOfIntegers Include="2"/>
Expand DownExpand Up@@ -415,7 +416,7 @@

<ItemGroup>
<Content Include="$(AssemblyName).reflect.xml" Condition="Exists('$(AssemblyName).reflect.xml')" CopyToOutputDirectory="PreserveNewest" />
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly" Condition="'$(IsMergedTestRunnerAssembly)' == 'true'">
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly">
<Type>MergedTestAssembly</Type>
</MarkerFile>
<MarkerFile Include="$(IntermediateOutputPath)\$(AssemblyName).NoMonoAot" Condition="'$(MonoAotIncompatible)' == 'true'">
Expand All@@ -437,7 +438,7 @@

<!-- We don't want the out-of-process test marker file to be included in referencing projects, so we don't include it as content. -->
<WriteLinesToFile
Condition="'$(RequiresProcessIsolation)' == 'true' and '$(BuildAsStandalone)' != 'true'"
Condition="'$(RequiresProcessIsolation)' == 'true'"
File="$(OutputPath)\$(AssemblyName).OutOfProcessTest"
Lines="OutOfProcessTest"
Overwrite="true"
Expand Down
1 change: 1 addition & 0 deletions src/tests/build.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -589,6 +589,7 @@
<GroupBuildCmd>$(GroupBuildCmd) /maxcpucount</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">$(GroupBuildCmd) "/p:DevTeamProvisioning=-"</GroupBuildCmd>
<GroupBuildCmd>$(GroupBuildCmd) /bl:$(ArtifactsDir)/log/$(Configuration)/InnerManagedTestBuild.$(__TestGroupToBuild).binlog</GroupBuildCmd>
<GroupBuildCmd Condition="'$(BuildAsStandalone)' == 'true'">$(GroupBuildCmd) "/p:BuildAsStandalone=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(CrossBuild)' == 'true'">$(GroupBuildCmd) "/p:CrossBuild=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TestBuildMode)' == 'nativeaot'">$(GroupBuildCmd) "/p:DefaultBuildAllTarget=BuildNativeAot"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(IlcMultiModule)' == 'true'">$(GroupBuildCmd) "/p:IlcMultiModule=true"</GroupBuildCmd>
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Set BuildAsStandalone for gcstress test builds by markples · Pull Request #85284 · dotnet/runtime · GitHub
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion eng/pipelines/common/templates/runtimes/build-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -88,6 +88,13 @@ jobs:
- name: testTreeFilterArg
value: 'tree GC/Scenarios/GCSimulator'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'

steps:

# Install test build dependencies
Expand All@@ -106,7 +113,7 @@ jobs:
displayName: Disk Usage before Build

# Build managed test components
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS $(buildAsStandaloneArg)
displayName: Build managed test components

- ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
Expand Down
6 changes: 3 additions & 3 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -267,19 +267,19 @@ jobs:
# and directly unzip them there after download). Unfortunately the logic to copy
# the native artifacts to the final test folders is dependent on availability of the
# managed test artifacts. This step also generates the final test execution scripts.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg) $(buildAsStandaloneArg)
displayName: Copy native test components to test output folder


# Generate test wrappers. This is the step that examines issues.targets to exclude tests.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate test wrappers


# Compose the Core_Root folder containing all artifacts needed for running
# CoreCLR tests. This step also compiles the framework using Crossgen2
# in ReadyToRun jobs.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate CORE_ROOT

# Build a Mono LLVM AOT cross-compiler for non-amd64 targets (in this case, just arm64)
Expand Down
7 changes: 7 additions & 0 deletions eng/pipelines/common/templates/runtimes/test-variables.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -98,3 +98,10 @@ variables:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- name: priorityArg
value: '-priority=1'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'
196 changes: 196 additions & 0 deletions src/tests/Common/testgrouping.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,6 +25,197 @@
<XUnitWrapperDll>$(TestBinDir)JIT\jit64\JIT.jit64.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\AdvSimd*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.AdvSimd</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\ArmBase*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.ArmBase</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Crc32*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Crc32</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Dp*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Dp</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Rdm*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Rdm</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha1*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha256*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\NotSupported*\**">
<TestGroup>JIT.HardwareIntrinsics.General.NotSupported</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector64*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector64</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector128*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector128</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector256*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\AvxVnni*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.AvxVnni</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Fma*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Fma</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\General*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.General</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Lzcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Lzcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Pclmulqdq*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Pclmulqdq</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Popcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Popcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Regression*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Regression</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse41*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse41</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse42*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse42</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Ssse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Ssse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\X86Base*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.X86Base</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\a*\**;
$(TestBinDir)JIT\Methodical\b*\**;
$(TestBinDir)JIT\Methodical\c*\**;
$(TestBinDir)JIT\Methodical\d*\**;
$(TestBinDir)JIT\Methodical\A*\**;
$(TestBinDir)JIT\Methodical\B*\**;
$(TestBinDir)JIT\Methodical\C*\**;
$(TestBinDir)JIT\Methodical\D*\**">
<TestGroup>JIT.Methodical.a-dA-D</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eh</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\e*\**;
$(TestBinDir)JIT\Methodical\E*\**"
Exclude="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eE</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\f*\**;
$(TestBinDir)JIT\Methodical\g*\**;
$(TestBinDir)JIT\Methodical\h*\**;
$(TestBinDir)JIT\Methodical\i*\**;
$(TestBinDir)JIT\Methodical\F*\**;
$(TestBinDir)JIT\Methodical\G*\**;
$(TestBinDir)JIT\Methodical\H*\**;
$(TestBinDir)JIT\Methodical\I*\**">
<TestGroup>JIT.Methodical.f-iF-I</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M09*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M10*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M11*\**">
Expand All@@ -43,6 +234,11 @@
<XUnitWrapperDll>$(TestBinDir)JIT\Regression\JIT.Regression.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\S*\**">
<TestGroup>JIT.HardwareIntrinsics.S</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)Loader\classloader\generics\**">
<TestGroup>Loader.classloader.generics</TestGroup>
<XUnitWrapperDll>$(TestBinDir)Loader\classloader\Loader.classloader.XUnitWrapper.dll</XUnitWrapperDll>
Expand Down
11 changes: 6 additions & 5 deletions src/tests/Directory.Build.targets
Original file line numberDiff line numberDiff line change
Expand Up@@ -298,13 +298,14 @@
</PropertyGroup>
</Target>

<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths"
Condition="'$(IsMergedTestRunnerAssembly)' == 'true' and !$(BuildAsStandalone)">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == ''">
<NumberOfStripesToUseInStress>1</NumberOfStripesToUseInStress> <!-- Set a custom number of stripes in stress to allow very large merged groups to function in the presence of GCStress -->
</PropertyGroup>

<!-- Generate a set of stress marker files to be used in stress scenarios in CI runs -->
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != ''">
<SequenceOfIntegers Include="0"/>
<SequenceOfIntegers Include="1"/>
<SequenceOfIntegers Include="2"/>
Expand DownExpand Up@@ -415,7 +416,7 @@

<ItemGroup>
<Content Include="$(AssemblyName).reflect.xml" Condition="Exists('$(AssemblyName).reflect.xml')" CopyToOutputDirectory="PreserveNewest" />
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly" Condition="'$(IsMergedTestRunnerAssembly)' == 'true'">
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly">
<Type>MergedTestAssembly</Type>
</MarkerFile>
<MarkerFile Include="$(IntermediateOutputPath)\$(AssemblyName).NoMonoAot" Condition="'$(MonoAotIncompatible)' == 'true'">
Expand All@@ -437,7 +438,7 @@

<!-- We don't want the out-of-process test marker file to be included in referencing projects, so we don't include it as content. -->
<WriteLinesToFile
Condition="'$(RequiresProcessIsolation)' == 'true' and '$(BuildAsStandalone)' != 'true'"
Condition="'$(RequiresProcessIsolation)' == 'true'"
File="$(OutputPath)\$(AssemblyName).OutOfProcessTest"
Lines="OutOfProcessTest"
Overwrite="true"
Expand Down
1 change: 1 addition & 0 deletions src/tests/build.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -589,6 +589,7 @@
<GroupBuildCmd>$(GroupBuildCmd) /maxcpucount</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">$(GroupBuildCmd) "/p:DevTeamProvisioning=-"</GroupBuildCmd>
<GroupBuildCmd>$(GroupBuildCmd) /bl:$(ArtifactsDir)/log/$(Configuration)/InnerManagedTestBuild.$(__TestGroupToBuild).binlog</GroupBuildCmd>
<GroupBuildCmd Condition="'$(BuildAsStandalone)' == 'true'">$(GroupBuildCmd) "/p:BuildAsStandalone=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(CrossBuild)' == 'true'">$(GroupBuildCmd) "/p:CrossBuild=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TestBuildMode)' == 'nativeaot'">$(GroupBuildCmd) "/p:DefaultBuildAllTarget=BuildNativeAot"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(IlcMultiModule)' == 'true'">$(GroupBuildCmd) "/p:IlcMultiModule=true"</GroupBuildCmd>
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Set BuildAsStandalone for gcstress test builds by markples · Pull Request #85284 · dotnet/runtime · GitHub
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion eng/pipelines/common/templates/runtimes/build-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -88,6 +88,13 @@ jobs:
- name: testTreeFilterArg
value: 'tree GC/Scenarios/GCSimulator'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'

steps:

# Install test build dependencies
Expand All@@ -106,7 +113,7 @@ jobs:
displayName: Disk Usage before Build

# Build managed test components
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS $(buildAsStandaloneArg)
displayName: Build managed test components

- ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
Expand Down
6 changes: 3 additions & 3 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -267,19 +267,19 @@ jobs:
# and directly unzip them there after download). Unfortunately the logic to copy
# the native artifacts to the final test folders is dependent on availability of the
# managed test artifacts. This step also generates the final test execution scripts.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg) $(buildAsStandaloneArg)
displayName: Copy native test components to test output folder


# Generate test wrappers. This is the step that examines issues.targets to exclude tests.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate test wrappers


# Compose the Core_Root folder containing all artifacts needed for running
# CoreCLR tests. This step also compiles the framework using Crossgen2
# in ReadyToRun jobs.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate CORE_ROOT

# Build a Mono LLVM AOT cross-compiler for non-amd64 targets (in this case, just arm64)
Expand Down
7 changes: 7 additions & 0 deletions eng/pipelines/common/templates/runtimes/test-variables.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -98,3 +98,10 @@ variables:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- name: priorityArg
value: '-priority=1'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'
196 changes: 196 additions & 0 deletions src/tests/Common/testgrouping.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,6 +25,197 @@
<XUnitWrapperDll>$(TestBinDir)JIT\jit64\JIT.jit64.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\AdvSimd*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.AdvSimd</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\ArmBase*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.ArmBase</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Crc32*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Crc32</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Dp*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Dp</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Rdm*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Rdm</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha1*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha256*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\NotSupported*\**">
<TestGroup>JIT.HardwareIntrinsics.General.NotSupported</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector64*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector64</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector128*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector128</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector256*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\AvxVnni*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.AvxVnni</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Fma*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Fma</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\General*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.General</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Lzcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Lzcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Pclmulqdq*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Pclmulqdq</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Popcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Popcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Regression*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Regression</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse41*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse41</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse42*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse42</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Ssse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Ssse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\X86Base*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.X86Base</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\a*\**;
$(TestBinDir)JIT\Methodical\b*\**;
$(TestBinDir)JIT\Methodical\c*\**;
$(TestBinDir)JIT\Methodical\d*\**;
$(TestBinDir)JIT\Methodical\A*\**;
$(TestBinDir)JIT\Methodical\B*\**;
$(TestBinDir)JIT\Methodical\C*\**;
$(TestBinDir)JIT\Methodical\D*\**">
<TestGroup>JIT.Methodical.a-dA-D</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eh</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\e*\**;
$(TestBinDir)JIT\Methodical\E*\**"
Exclude="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eE</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\f*\**;
$(TestBinDir)JIT\Methodical\g*\**;
$(TestBinDir)JIT\Methodical\h*\**;
$(TestBinDir)JIT\Methodical\i*\**;
$(TestBinDir)JIT\Methodical\F*\**;
$(TestBinDir)JIT\Methodical\G*\**;
$(TestBinDir)JIT\Methodical\H*\**;
$(TestBinDir)JIT\Methodical\I*\**">
<TestGroup>JIT.Methodical.f-iF-I</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M09*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M10*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M11*\**">
Expand All@@ -43,6 +234,11 @@
<XUnitWrapperDll>$(TestBinDir)JIT\Regression\JIT.Regression.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\S*\**">
<TestGroup>JIT.HardwareIntrinsics.S</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)Loader\classloader\generics\**">
<TestGroup>Loader.classloader.generics</TestGroup>
<XUnitWrapperDll>$(TestBinDir)Loader\classloader\Loader.classloader.XUnitWrapper.dll</XUnitWrapperDll>
Expand Down
11 changes: 6 additions & 5 deletions src/tests/Directory.Build.targets
Original file line numberDiff line numberDiff line change
Expand Up@@ -298,13 +298,14 @@
</PropertyGroup>
</Target>

<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths"
Condition="'$(IsMergedTestRunnerAssembly)' == 'true' and !$(BuildAsStandalone)">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == ''">
<NumberOfStripesToUseInStress>1</NumberOfStripesToUseInStress> <!-- Set a custom number of stripes in stress to allow very large merged groups to function in the presence of GCStress -->
</PropertyGroup>

<!-- Generate a set of stress marker files to be used in stress scenarios in CI runs -->
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != ''">
<SequenceOfIntegers Include="0"/>
<SequenceOfIntegers Include="1"/>
<SequenceOfIntegers Include="2"/>
Expand DownExpand Up@@ -415,7 +416,7 @@

<ItemGroup>
<Content Include="$(AssemblyName).reflect.xml" Condition="Exists('$(AssemblyName).reflect.xml')" CopyToOutputDirectory="PreserveNewest" />
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly" Condition="'$(IsMergedTestRunnerAssembly)' == 'true'">
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly">
<Type>MergedTestAssembly</Type>
</MarkerFile>
<MarkerFile Include="$(IntermediateOutputPath)\$(AssemblyName).NoMonoAot" Condition="'$(MonoAotIncompatible)' == 'true'">
Expand All@@ -437,7 +438,7 @@

<!-- We don't want the out-of-process test marker file to be included in referencing projects, so we don't include it as content. -->
<WriteLinesToFile
Condition="'$(RequiresProcessIsolation)' == 'true' and '$(BuildAsStandalone)' != 'true'"
Condition="'$(RequiresProcessIsolation)' == 'true'"
File="$(OutputPath)\$(AssemblyName).OutOfProcessTest"
Lines="OutOfProcessTest"
Overwrite="true"
Expand Down
1 change: 1 addition & 0 deletions src/tests/build.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -589,6 +589,7 @@
<GroupBuildCmd>$(GroupBuildCmd) /maxcpucount</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">$(GroupBuildCmd) "/p:DevTeamProvisioning=-"</GroupBuildCmd>
<GroupBuildCmd>$(GroupBuildCmd) /bl:$(ArtifactsDir)/log/$(Configuration)/InnerManagedTestBuild.$(__TestGroupToBuild).binlog</GroupBuildCmd>
<GroupBuildCmd Condition="'$(BuildAsStandalone)' == 'true'">$(GroupBuildCmd) "/p:BuildAsStandalone=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(CrossBuild)' == 'true'">$(GroupBuildCmd) "/p:CrossBuild=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TestBuildMode)' == 'nativeaot'">$(GroupBuildCmd) "/p:DefaultBuildAllTarget=BuildNativeAot"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(IlcMultiModule)' == 'true'">$(GroupBuildCmd) "/p:IlcMultiModule=true"</GroupBuildCmd>
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Set BuildAsStandalone for gcstress test builds by markples · Pull Request #85284 · dotnet/runtime · GitHub
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion eng/pipelines/common/templates/runtimes/build-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -88,6 +88,13 @@ jobs:
- name: testTreeFilterArg
value: 'tree GC/Scenarios/GCSimulator'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'

steps:

# Install test build dependencies
Expand All@@ -106,7 +113,7 @@ jobs:
displayName: Disk Usage before Build

# Build managed test components
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS $(buildAsStandaloneArg)
displayName: Build managed test components

- ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
Expand Down
6 changes: 3 additions & 3 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -267,19 +267,19 @@ jobs:
# and directly unzip them there after download). Unfortunately the logic to copy
# the native artifacts to the final test folders is dependent on availability of the
# managed test artifacts. This step also generates the final test execution scripts.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg) $(buildAsStandaloneArg)
displayName: Copy native test components to test output folder


# Generate test wrappers. This is the step that examines issues.targets to exclude tests.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate test wrappers


# Compose the Core_Root folder containing all artifacts needed for running
# CoreCLR tests. This step also compiles the framework using Crossgen2
# in ReadyToRun jobs.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate CORE_ROOT

# Build a Mono LLVM AOT cross-compiler for non-amd64 targets (in this case, just arm64)
Expand Down
7 changes: 7 additions & 0 deletions eng/pipelines/common/templates/runtimes/test-variables.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -98,3 +98,10 @@ variables:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- name: priorityArg
value: '-priority=1'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'
196 changes: 196 additions & 0 deletions src/tests/Common/testgrouping.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,6 +25,197 @@
<XUnitWrapperDll>$(TestBinDir)JIT\jit64\JIT.jit64.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\AdvSimd*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.AdvSimd</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\ArmBase*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.ArmBase</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Crc32*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Crc32</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Dp*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Dp</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Rdm*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Rdm</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha1*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha256*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\NotSupported*\**">
<TestGroup>JIT.HardwareIntrinsics.General.NotSupported</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector64*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector64</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector128*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector128</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector256*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\AvxVnni*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.AvxVnni</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Fma*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Fma</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\General*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.General</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Lzcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Lzcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Pclmulqdq*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Pclmulqdq</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Popcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Popcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Regression*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Regression</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse41*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse41</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse42*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse42</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Ssse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Ssse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\X86Base*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.X86Base</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\a*\**;
$(TestBinDir)JIT\Methodical\b*\**;
$(TestBinDir)JIT\Methodical\c*\**;
$(TestBinDir)JIT\Methodical\d*\**;
$(TestBinDir)JIT\Methodical\A*\**;
$(TestBinDir)JIT\Methodical\B*\**;
$(TestBinDir)JIT\Methodical\C*\**;
$(TestBinDir)JIT\Methodical\D*\**">
<TestGroup>JIT.Methodical.a-dA-D</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eh</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\e*\**;
$(TestBinDir)JIT\Methodical\E*\**"
Exclude="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eE</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\f*\**;
$(TestBinDir)JIT\Methodical\g*\**;
$(TestBinDir)JIT\Methodical\h*\**;
$(TestBinDir)JIT\Methodical\i*\**;
$(TestBinDir)JIT\Methodical\F*\**;
$(TestBinDir)JIT\Methodical\G*\**;
$(TestBinDir)JIT\Methodical\H*\**;
$(TestBinDir)JIT\Methodical\I*\**">
<TestGroup>JIT.Methodical.f-iF-I</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M09*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M10*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M11*\**">
Expand All@@ -43,6 +234,11 @@
<XUnitWrapperDll>$(TestBinDir)JIT\Regression\JIT.Regression.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\S*\**">
<TestGroup>JIT.HardwareIntrinsics.S</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)Loader\classloader\generics\**">
<TestGroup>Loader.classloader.generics</TestGroup>
<XUnitWrapperDll>$(TestBinDir)Loader\classloader\Loader.classloader.XUnitWrapper.dll</XUnitWrapperDll>
Expand Down
11 changes: 6 additions & 5 deletions src/tests/Directory.Build.targets
Original file line numberDiff line numberDiff line change
Expand Up@@ -298,13 +298,14 @@
</PropertyGroup>
</Target>

<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths"
Condition="'$(IsMergedTestRunnerAssembly)' == 'true' and !$(BuildAsStandalone)">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == ''">
<NumberOfStripesToUseInStress>1</NumberOfStripesToUseInStress> <!-- Set a custom number of stripes in stress to allow very large merged groups to function in the presence of GCStress -->
</PropertyGroup>

<!-- Generate a set of stress marker files to be used in stress scenarios in CI runs -->
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != ''">
<SequenceOfIntegers Include="0"/>
<SequenceOfIntegers Include="1"/>
<SequenceOfIntegers Include="2"/>
Expand DownExpand Up@@ -415,7 +416,7 @@

<ItemGroup>
<Content Include="$(AssemblyName).reflect.xml" Condition="Exists('$(AssemblyName).reflect.xml')" CopyToOutputDirectory="PreserveNewest" />
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly" Condition="'$(IsMergedTestRunnerAssembly)' == 'true'">
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly">
<Type>MergedTestAssembly</Type>
</MarkerFile>
<MarkerFile Include="$(IntermediateOutputPath)\$(AssemblyName).NoMonoAot" Condition="'$(MonoAotIncompatible)' == 'true'">
Expand All@@ -437,7 +438,7 @@

<!-- We don't want the out-of-process test marker file to be included in referencing projects, so we don't include it as content. -->
<WriteLinesToFile
Condition="'$(RequiresProcessIsolation)' == 'true' and '$(BuildAsStandalone)' != 'true'"
Condition="'$(RequiresProcessIsolation)' == 'true'"
File="$(OutputPath)\$(AssemblyName).OutOfProcessTest"
Lines="OutOfProcessTest"
Overwrite="true"
Expand Down
1 change: 1 addition & 0 deletions src/tests/build.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -589,6 +589,7 @@
<GroupBuildCmd>$(GroupBuildCmd) /maxcpucount</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">$(GroupBuildCmd) "/p:DevTeamProvisioning=-"</GroupBuildCmd>
<GroupBuildCmd>$(GroupBuildCmd) /bl:$(ArtifactsDir)/log/$(Configuration)/InnerManagedTestBuild.$(__TestGroupToBuild).binlog</GroupBuildCmd>
<GroupBuildCmd Condition="'$(BuildAsStandalone)' == 'true'">$(GroupBuildCmd) "/p:BuildAsStandalone=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(CrossBuild)' == 'true'">$(GroupBuildCmd) "/p:CrossBuild=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TestBuildMode)' == 'nativeaot'">$(GroupBuildCmd) "/p:DefaultBuildAllTarget=BuildNativeAot"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(IlcMultiModule)' == 'true'">$(GroupBuildCmd) "/p:IlcMultiModule=true"</GroupBuildCmd>
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Set BuildAsStandalone for gcstress test builds by markples · Pull Request #85284 · dotnet/runtime · GitHub
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion eng/pipelines/common/templates/runtimes/build-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -88,6 +88,13 @@ jobs:
- name: testTreeFilterArg
value: 'tree GC/Scenarios/GCSimulator'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'

steps:

# Install test build dependencies
Expand All@@ -106,7 +113,7 @@ jobs:
displayName: Disk Usage before Build

# Build managed test components
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS $(buildAsStandaloneArg)
displayName: Build managed test components

- ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
Expand Down
6 changes: 3 additions & 3 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -267,19 +267,19 @@ jobs:
# and directly unzip them there after download). Unfortunately the logic to copy
# the native artifacts to the final test folders is dependent on availability of the
# managed test artifacts. This step also generates the final test execution scripts.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg) $(buildAsStandaloneArg)
displayName: Copy native test components to test output folder


# Generate test wrappers. This is the step that examines issues.targets to exclude tests.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate test wrappers


# Compose the Core_Root folder containing all artifacts needed for running
# CoreCLR tests. This step also compiles the framework using Crossgen2
# in ReadyToRun jobs.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate CORE_ROOT

# Build a Mono LLVM AOT cross-compiler for non-amd64 targets (in this case, just arm64)
Expand Down
7 changes: 7 additions & 0 deletions eng/pipelines/common/templates/runtimes/test-variables.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -98,3 +98,10 @@ variables:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- name: priorityArg
value: '-priority=1'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'
196 changes: 196 additions & 0 deletions src/tests/Common/testgrouping.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,6 +25,197 @@
<XUnitWrapperDll>$(TestBinDir)JIT\jit64\JIT.jit64.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\AdvSimd*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.AdvSimd</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\ArmBase*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.ArmBase</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Crc32*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Crc32</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Dp*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Dp</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Rdm*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Rdm</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha1*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha256*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\NotSupported*\**">
<TestGroup>JIT.HardwareIntrinsics.General.NotSupported</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector64*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector64</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector128*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector128</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector256*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\AvxVnni*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.AvxVnni</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Fma*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Fma</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\General*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.General</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Lzcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Lzcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Pclmulqdq*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Pclmulqdq</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Popcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Popcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Regression*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Regression</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse41*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse41</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse42*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse42</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Ssse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Ssse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\X86Base*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.X86Base</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\a*\**;
$(TestBinDir)JIT\Methodical\b*\**;
$(TestBinDir)JIT\Methodical\c*\**;
$(TestBinDir)JIT\Methodical\d*\**;
$(TestBinDir)JIT\Methodical\A*\**;
$(TestBinDir)JIT\Methodical\B*\**;
$(TestBinDir)JIT\Methodical\C*\**;
$(TestBinDir)JIT\Methodical\D*\**">
<TestGroup>JIT.Methodical.a-dA-D</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eh</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\e*\**;
$(TestBinDir)JIT\Methodical\E*\**"
Exclude="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eE</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\f*\**;
$(TestBinDir)JIT\Methodical\g*\**;
$(TestBinDir)JIT\Methodical\h*\**;
$(TestBinDir)JIT\Methodical\i*\**;
$(TestBinDir)JIT\Methodical\F*\**;
$(TestBinDir)JIT\Methodical\G*\**;
$(TestBinDir)JIT\Methodical\H*\**;
$(TestBinDir)JIT\Methodical\I*\**">
<TestGroup>JIT.Methodical.f-iF-I</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M09*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M10*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M11*\**">
Expand All@@ -43,6 +234,11 @@
<XUnitWrapperDll>$(TestBinDir)JIT\Regression\JIT.Regression.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\S*\**">
<TestGroup>JIT.HardwareIntrinsics.S</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)Loader\classloader\generics\**">
<TestGroup>Loader.classloader.generics</TestGroup>
<XUnitWrapperDll>$(TestBinDir)Loader\classloader\Loader.classloader.XUnitWrapper.dll</XUnitWrapperDll>
Expand Down
11 changes: 6 additions & 5 deletions src/tests/Directory.Build.targets
Original file line numberDiff line numberDiff line change
Expand Up@@ -298,13 +298,14 @@
</PropertyGroup>
</Target>

<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths"
Condition="'$(IsMergedTestRunnerAssembly)' == 'true' and !$(BuildAsStandalone)">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == ''">
<NumberOfStripesToUseInStress>1</NumberOfStripesToUseInStress> <!-- Set a custom number of stripes in stress to allow very large merged groups to function in the presence of GCStress -->
</PropertyGroup>

<!-- Generate a set of stress marker files to be used in stress scenarios in CI runs -->
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != ''">
<SequenceOfIntegers Include="0"/>
<SequenceOfIntegers Include="1"/>
<SequenceOfIntegers Include="2"/>
Expand DownExpand Up@@ -415,7 +416,7 @@

<ItemGroup>
<Content Include="$(AssemblyName).reflect.xml" Condition="Exists('$(AssemblyName).reflect.xml')" CopyToOutputDirectory="PreserveNewest" />
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly" Condition="'$(IsMergedTestRunnerAssembly)' == 'true'">
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly">
<Type>MergedTestAssembly</Type>
</MarkerFile>
<MarkerFile Include="$(IntermediateOutputPath)\$(AssemblyName).NoMonoAot" Condition="'$(MonoAotIncompatible)' == 'true'">
Expand All@@ -437,7 +438,7 @@

<!-- We don't want the out-of-process test marker file to be included in referencing projects, so we don't include it as content. -->
<WriteLinesToFile
Condition="'$(RequiresProcessIsolation)' == 'true' and '$(BuildAsStandalone)' != 'true'"
Condition="'$(RequiresProcessIsolation)' == 'true'"
File="$(OutputPath)\$(AssemblyName).OutOfProcessTest"
Lines="OutOfProcessTest"
Overwrite="true"
Expand Down
1 change: 1 addition & 0 deletions src/tests/build.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -589,6 +589,7 @@
<GroupBuildCmd>$(GroupBuildCmd) /maxcpucount</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">$(GroupBuildCmd) "/p:DevTeamProvisioning=-"</GroupBuildCmd>
<GroupBuildCmd>$(GroupBuildCmd) /bl:$(ArtifactsDir)/log/$(Configuration)/InnerManagedTestBuild.$(__TestGroupToBuild).binlog</GroupBuildCmd>
<GroupBuildCmd Condition="'$(BuildAsStandalone)' == 'true'">$(GroupBuildCmd) "/p:BuildAsStandalone=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(CrossBuild)' == 'true'">$(GroupBuildCmd) "/p:CrossBuild=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TestBuildMode)' == 'nativeaot'">$(GroupBuildCmd) "/p:DefaultBuildAllTarget=BuildNativeAot"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(IlcMultiModule)' == 'true'">$(GroupBuildCmd) "/p:IlcMultiModule=true"</GroupBuildCmd>
Expand Down
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Set BuildAsStandalone for gcstress test builds by markples · Pull Request #85284 · dotnet/runtime · GitHub
Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion eng/pipelines/common/templates/runtimes/build-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -88,6 +88,13 @@ jobs:
- name: testTreeFilterArg
value: 'tree GC/Scenarios/GCSimulator'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'

steps:

# Install test build dependencies
Expand All@@ -106,7 +113,7 @@ jobs:
displayName: Disk Usage before Build

# Build managed test components
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS $(buildAsStandaloneArg)
displayName: Build managed test components

- ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}:
Expand Down
6 changes: 3 additions & 3 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -267,19 +267,19 @@ jobs:
# and directly unzip them there after download). Unfortunately the logic to copy
# the native artifacts to the final test folders is dependent on availability of the
# managed test artifacts. This step also generates the final test execution scripts.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) copynativeonly $(logRootNameArg)Native $(testTreeFilterArg) $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg) $(codeFlowEnforcementArg) $(buildAsStandaloneArg)
displayName: Copy native test components to test output folder


# Generate test wrappers. This is the step that examines issues.targets to exclude tests.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) buildtestwrappersonly $(logRootNameArg)Wrappers $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate test wrappers


# Compose the Core_Root folder containing all artifacts needed for running
# CoreCLR tests. This step also compiles the framework using Crossgen2
# in ReadyToRun jobs.
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg)
- script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) generatelayoutonly $(logRootNameArg)Layout $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg) $(runtimeVariantArg) $(buildAsStandaloneArg)
displayName: Generate CORE_ROOT

# Build a Mono LLVM AOT cross-compiler for non-amd64 targets (in this case, just arm64)
Expand Down
7 changes: 7 additions & 0 deletions eng/pipelines/common/templates/runtimes/test-variables.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -98,3 +98,10 @@ variables:
- ${{ if eq(parameters.osGroup, 'windows') }}:
- name: priorityArg
value: '-priority=1'

- name: buildAsStandaloneArg
value: ''

- ${{ if in(parameters.testGroup, 'gcstress0x3-gcstress0xc', 'gcstress-extra')}}:
- name: buildAsStandaloneArg
value: '/p:BuildAsStandalone=true'
196 changes: 196 additions & 0 deletions src/tests/Common/testgrouping.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,6 +25,197 @@
<XUnitWrapperDll>$(TestBinDir)JIT\jit64\JIT.jit64.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\AdvSimd*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.AdvSimd</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\ArmBase*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.ArmBase</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Crc32*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Crc32</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Dp*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Dp</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Rdm*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Rdm</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha1*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\Arm\Sha256*\**">
<TestGroup>JIT.HardwareIntrinsics.Arm.Sha256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\NotSupported*\**">
<TestGroup>JIT.HardwareIntrinsics.General.NotSupported</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector64*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector64</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector128*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector128</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\General\Vector256*\**">
<TestGroup>JIT.HardwareIntrinsics.General.Vector256</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Aes*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Aes</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Avx2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Avx2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\AvxVnni*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.AvxVnni</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Bmi2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Bmi2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Fma*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Fma</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\General*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.General</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Lzcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Lzcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Pclmulqdq*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Pclmulqdq</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Popcnt*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Popcnt</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Regression*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Regression</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse1*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse1</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse2*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse2</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse41*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse41</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Sse42*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Sse42</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\Ssse3*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.Ssse3</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\X86Base*\**">
<TestGroup>JIT.HardwareIntrinsics.X86.X86Base</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\a*\**;
$(TestBinDir)JIT\Methodical\b*\**;
$(TestBinDir)JIT\Methodical\c*\**;
$(TestBinDir)JIT\Methodical\d*\**;
$(TestBinDir)JIT\Methodical\A*\**;
$(TestBinDir)JIT\Methodical\B*\**;
$(TestBinDir)JIT\Methodical\C*\**;
$(TestBinDir)JIT\Methodical\D*\**">
<TestGroup>JIT.Methodical.a-dA-D</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eh</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\e*\**;
$(TestBinDir)JIT\Methodical\E*\**"
Exclude="$(TestBinDir)JIT\Methodical\eh\**">
<TestGroup>JIT.Methodical.eE</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Methodical\f*\**;
$(TestBinDir)JIT\Methodical\g*\**;
$(TestBinDir)JIT\Methodical\h*\**;
$(TestBinDir)JIT\Methodical\i*\**;
$(TestBinDir)JIT\Methodical\F*\**;
$(TestBinDir)JIT\Methodical\G*\**;
$(TestBinDir)JIT\Methodical\H*\**;
$(TestBinDir)JIT\Methodical\I*\**">
<TestGroup>JIT.Methodical.f-iF-I</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M09*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M10*\**;
$(TestBinDir)JIT\Regression\CLR-x86-JIT\V1-M11*\**">
Expand All@@ -43,6 +234,11 @@
<XUnitWrapperDll>$(TestBinDir)JIT\Regression\JIT.Regression.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)JIT\HardwareIntrinsics\X86\S*\**">
<TestGroup>JIT.HardwareIntrinsics.S</TestGroup>
<XUnitWrapperDll>$(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll</XUnitWrapperDll>
</TestGrouping>

<TestGrouping Include="$(TestBinDir)Loader\classloader\generics\**">
<TestGroup>Loader.classloader.generics</TestGroup>
<XUnitWrapperDll>$(TestBinDir)Loader\classloader\Loader.classloader.XUnitWrapper.dll</XUnitWrapperDll>
Expand Down
11 changes: 6 additions & 5 deletions src/tests/Directory.Build.targets
Original file line numberDiff line numberDiff line change
Expand Up@@ -298,13 +298,14 @@
</PropertyGroup>
</Target>

<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<Target Name="GenerateMarkerFiles" BeforeTargets="AssignTargetPaths"
Condition="'$(IsMergedTestRunnerAssembly)' == 'true' and !$(BuildAsStandalone)">
<PropertyGroup Condition="'$(NumberOfStripesToUseInStress)' == ''">
<NumberOfStripesToUseInStress>1</NumberOfStripesToUseInStress> <!-- Set a custom number of stripes in stress to allow very large merged groups to function in the presence of GCStress -->
</PropertyGroup>

<!-- Generate a set of stress marker files to be used in stress scenarios in CI runs -->
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != '' and '$(IsMergedTestRunnerAssembly)' == 'true'">
<ItemGroup Condition="'$(NumberOfStripesToUseInStress)' != ''">
<SequenceOfIntegers Include="0"/>
<SequenceOfIntegers Include="1"/>
<SequenceOfIntegers Include="2"/>
Expand DownExpand Up@@ -415,7 +416,7 @@

<ItemGroup>
<Content Include="$(AssemblyName).reflect.xml" Condition="Exists('$(AssemblyName).reflect.xml')" CopyToOutputDirectory="PreserveNewest" />
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly" Condition="'$(IsMergedTestRunnerAssembly)' == 'true'">
<MarkerFile Include="$(IntermediateOutputPath)\$(MSBuildProjectName).MergedTestAssembly">
<Type>MergedTestAssembly</Type>
</MarkerFile>
<MarkerFile Include="$(IntermediateOutputPath)\$(AssemblyName).NoMonoAot" Condition="'$(MonoAotIncompatible)' == 'true'">
Expand All@@ -437,7 +438,7 @@

<!-- We don't want the out-of-process test marker file to be included in referencing projects, so we don't include it as content. -->
<WriteLinesToFile
Condition="'$(RequiresProcessIsolation)' == 'true' and '$(BuildAsStandalone)' != 'true'"
Condition="'$(RequiresProcessIsolation)' == 'true'"
File="$(OutputPath)\$(AssemblyName).OutOfProcessTest"
Lines="OutOfProcessTest"
Overwrite="true"
Expand Down
1 change: 1 addition & 0 deletions src/tests/build.proj
Original file line numberDiff line numberDiff line change
Expand Up@@ -589,6 +589,7 @@
<GroupBuildCmd>$(GroupBuildCmd) /maxcpucount</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TargetOS)' == 'ios' or '$(TargetOS)' == 'tvos'">$(GroupBuildCmd) "/p:DevTeamProvisioning=-"</GroupBuildCmd>
<GroupBuildCmd>$(GroupBuildCmd) /bl:$(ArtifactsDir)/log/$(Configuration)/InnerManagedTestBuild.$(__TestGroupToBuild).binlog</GroupBuildCmd>
<GroupBuildCmd Condition="'$(BuildAsStandalone)' == 'true'">$(GroupBuildCmd) "/p:BuildAsStandalone=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(CrossBuild)' == 'true'">$(GroupBuildCmd) "/p:CrossBuild=true"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(TestBuildMode)' == 'nativeaot'">$(GroupBuildCmd) "/p:DefaultBuildAllTarget=BuildNativeAot"</GroupBuildCmd>
<GroupBuildCmd Condition="'$(IlcMultiModule)' == 'true'">$(GroupBuildCmd) "/p:IlcMultiModule=true"</GroupBuildCmd>
Expand Down