diff --git a/eng/pipelines/common/templates/runtimes/build-test-job.yml b/eng/pipelines/common/templates/runtimes/build-test-job.yml index 2813c45915c5e3..ea185260fe5d38 100644 --- a/eng/pipelines/common/templates/runtimes/build-test-job.yml +++ b/eng/pipelines/common/templates/runtimes/build-test-job.yml @@ -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 @@ -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') }}: diff --git a/eng/pipelines/common/templates/runtimes/run-test-job.yml b/eng/pipelines/common/templates/runtimes/run-test-job.yml index d6c49f05be77b9..5bc2991938919f 100644 --- a/eng/pipelines/common/templates/runtimes/run-test-job.yml +++ b/eng/pipelines/common/templates/runtimes/run-test-job.yml @@ -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) diff --git a/eng/pipelines/common/templates/runtimes/test-variables.yml b/eng/pipelines/common/templates/runtimes/test-variables.yml index 108b9f03ddb139..3b5b22fa90f5f9 100644 --- a/eng/pipelines/common/templates/runtimes/test-variables.yml +++ b/eng/pipelines/common/templates/runtimes/test-variables.yml @@ -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' diff --git a/src/tests/Common/testgrouping.proj b/src/tests/Common/testgrouping.proj index fe677242679b62..6c32c7f7e61953 100644 --- a/src/tests/Common/testgrouping.proj +++ b/src/tests/Common/testgrouping.proj @@ -25,6 +25,197 @@ $(TestBinDir)JIT\jit64\JIT.jit64.XUnitWrapper.dll + + JIT.HardwareIntrinsics.Arm.AdvSimd + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.Arm.Aes + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.Arm.ArmBase + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.Arm.Crc32 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.Arm.Dp + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.Arm.Rdm + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.Arm.Sha1 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.Arm.Sha256 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.General.NotSupported + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.General.Vector64 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.General.Vector128 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.General.Vector256 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Aes + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Avx1 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Avx2 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.AvxVnni + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Bmi1 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Bmi2 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Fma + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.General + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Lzcnt + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Pclmulqdq + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Popcnt + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Regression + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Sse1 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Sse2 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Sse3 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Sse41 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Sse42 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.Ssse3 + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.HardwareIntrinsics.X86.X86Base + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + + + JIT.Methodical.a-dA-D + $(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll + + + + JIT.Methodical.eh + $(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll + + + + JIT.Methodical.eE + $(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll + + + + JIT.Methodical.f-iF-I + $(TestBinDir)JIT\Methodical\JIT.Methodical.XUnitWrapper.dll + + @@ -43,6 +234,11 @@ $(TestBinDir)JIT\Regression\JIT.Regression.XUnitWrapper.dll + + JIT.HardwareIntrinsics.S + $(TestBinDir)JIT\HardwareIntrinsics\JIT.HardwareIntrinsics.XUnitWrapper.dll + + Loader.classloader.generics $(TestBinDir)Loader\classloader\Loader.classloader.XUnitWrapper.dll diff --git a/src/tests/Directory.Build.targets b/src/tests/Directory.Build.targets index 6f6fc552ba222c..90fd877fe0e2d9 100644 --- a/src/tests/Directory.Build.targets +++ b/src/tests/Directory.Build.targets @@ -298,13 +298,14 @@ - - + + 1 - + @@ -415,7 +416,7 @@ - + MergedTestAssembly @@ -437,7 +438,7 @@ $(GroupBuildCmd) /maxcpucount $(GroupBuildCmd) "/p:DevTeamProvisioning=-" $(GroupBuildCmd) /bl:$(ArtifactsDir)/log/$(Configuration)/InnerManagedTestBuild.$(__TestGroupToBuild).binlog + $(GroupBuildCmd) "/p:BuildAsStandalone=true" $(GroupBuildCmd) "/p:CrossBuild=true" $(GroupBuildCmd) "/p:DefaultBuildAllTarget=BuildNativeAot" $(GroupBuildCmd) "/p:IlcMultiModule=true"