From 21cf29938ebc042b84425288941de409175a234c Mon Sep 17 00:00:00 2001 From: TIHan Date: Wed, 4 Oct 2023 16:13:41 -0700 Subject: [PATCH 1/5] Added 'standalone' option when building tests --- .../common/templates/runtimes/build-test-job.yml | 8 ++++++-- src/tests/build.cmd | 2 ++ src/tests/build.sh | 5 +++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/templates/runtimes/build-test-job.yml b/eng/pipelines/common/templates/runtimes/build-test-job.yml index e249e8ac922a7f..6fb7c406f1ceaa 100644 --- a/eng/pipelines/common/templates/runtimes/build-test-job.yml +++ b/eng/pipelines/common/templates/runtimes/build-test-job.yml @@ -109,8 +109,12 @@ 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 - displayName: Build managed test components + - ${{ if in(parameters.testGroup, 'ilasm') }}: + - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout standalone skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS + displayName: Build managed test components for ilasm + - ${{ else }}: + - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) $(logRootNameArg)Managed allTargets skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(runtimeFlavorArgs) $(crossArg) $(priorityArg) $(testTreeFilterArg) ci /p:TargetOS=AnyOS + displayName: Build managed test components - ${{ if in(parameters.osGroup, 'osx', 'ios', 'tvos') }}: - script: | diff --git a/src/tests/build.cmd b/src/tests/build.cmd index 6e1b8f684d9f42..c21254e519ca1c 100644 --- a/src/tests/build.cmd +++ b/src/tests/build.cmd @@ -101,6 +101,7 @@ if /i "%arg%" == "SkipManaged" (set __SkipManaged=1&set processedArgs= if /i "%arg%" == "SkipNative" (set __SkipNative=1&set __CopyNativeProjectsAfterCombinedTestBuild=false&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%arg%" == "SkipTestWrappers" (set __SkipTestWrappers=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%arg%" == "SkipGenerateLayout" (set __SkipGenerateLayout=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) +if /i "%arg%" == "Standalone" (set BuildAsStandalone=true&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%arg%" == "CopyNativeOnly" (set __CopyNativeTestBinaries=1&set __SkipNative=1&set __CopyNativeProjectsAfterCombinedTestBuild=false&set __SkipGenerateLayout=1&set __SkipTestWrappers=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%arg%" == "GenerateLayoutOnly" (set __GenerateLayoutOnly=1&set __SkipManaged=1&set __SkipNative=1&set __CopyNativeProjectsAfterCombinedTestBuild=false&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) @@ -382,6 +383,7 @@ echo -SkipManaged: Skip the managed tests build. echo -SkipNative: Skip the native tests build. echo -SkipTestWrappers: Skip generating test wrappers. echo -SkipGenerateLayout: Skip generating the Core_Root layout. +echo -Standalone: Builds the tests as standalone exes. echo. echo -CopyNativeOnly: Only copy the native test binaries to the managed output. Do not build the native or managed tests. echo -GenerateLayoutOnly: Only generate the Core_Root layout without building managed or native test components. diff --git a/src/tests/build.sh b/src/tests/build.sh index f222c69988c788..5a76345e0998a0 100755 --- a/src/tests/build.sh +++ b/src/tests/build.sh @@ -146,6 +146,7 @@ usage_list+=("-skipmanaged - Skip the managed tests build.") usage_list+=("-skipnative - Skip the native tests build.") usage_list+=("-skiptestwrappers - Skip generating test wrappers.") usage_list+=("-skipgeneratelayout - Skip generating the Core_Root layout.") +usage_list+=("-standalone - Builds the tests as standalone exes.") usage_list+=("") usage_list+=("-copynativeonly - Only copy the native test binaries to the managed output. Do not build the native or managed tests.") usage_list+=("-generatelayoutonly - Only generate the Core_Root layout without building managed or native test components.") @@ -281,6 +282,10 @@ handle_arguments_local() { __SkipGenerateLayout=1 ;; + standalone|-standalone) + BuildAsStandalone=true + ;; + excludemonofailures|-excludemonofailures) __Mono=1 ;; From e3ff1fd353c72caf83f06acc7b453a84d23b130c Mon Sep 17 00:00:00 2001 From: TIHan Date: Thu, 5 Oct 2023 09:08:16 -0700 Subject: [PATCH 2/5] Fix sh env var --- src/tests/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/build.sh b/src/tests/build.sh index 5a76345e0998a0..81b7c3cd86c5b5 100755 --- a/src/tests/build.sh +++ b/src/tests/build.sh @@ -283,7 +283,7 @@ handle_arguments_local() { ;; standalone|-standalone) - BuildAsStandalone=true + export BuildAsStandalone=true ;; excludemonofailures|-excludemonofailures) From 9b3fa8ff0917edd9be864dfff9ed52133c62c94a Mon Sep 17 00:00:00 2001 From: TIHan Date: Mon, 9 Oct 2023 14:31:01 -0700 Subject: [PATCH 3/5] Fix provider test --- src/tests/Regressions/coreclr/22021/provider.il | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/tests/Regressions/coreclr/22021/provider.il b/src/tests/Regressions/coreclr/22021/provider.il index 7dcfbc229be596..be6ccad2d65f59 100644 --- a/src/tests/Regressions/coreclr/22021/provider.il +++ b/src/tests/Regressions/coreclr/22021/provider.il @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. .assembly extern System.Runtime { } +.assembly extern xunit.core {} .assembly provider { } @@ -63,3 +64,17 @@ ret } } + +.class public auto ansi beforefieldinit ProviderStubTest + extends [System.Runtime]System.Object +{ + .method public hidebysig static int32 Main() + { + .custom instance void [xunit.core]Xunit.FactAttribute::.ctor() = ( + 01 00 00 00 + ) + .entrypoint + ldc.i4 100 + ret + } +} From 7fb4c9e44b520d7afea4d21fe4feabdb66782ded Mon Sep 17 00:00:00 2001 From: Will Smith Date: Mon, 9 Oct 2023 17:40:29 -0700 Subject: [PATCH 4/5] Update build.sh --- src/tests/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tests/build.sh b/src/tests/build.sh index 81b7c3cd86c5b5..67af21d9526fe8 100755 --- a/src/tests/build.sh +++ b/src/tests/build.sh @@ -111,6 +111,7 @@ build_Tests() export __ErrMsgPrefix export __Exclude export EnableNativeSanitizers + export BuildAsStandalone # Generate build command buildArgs=("$__RepoRootDir/src/tests/build.proj") @@ -283,7 +284,7 @@ handle_arguments_local() { ;; standalone|-standalone) - export BuildAsStandalone=true + BuildAsStandalone=true ;; excludemonofailures|-excludemonofailures) From 2db8fb61451b8ecb7b1729b2c2b3b7036e6f19a5 Mon Sep 17 00:00:00 2001 From: TIHan Date: Tue, 10 Oct 2023 11:37:13 -0700 Subject: [PATCH 5/5] Revert provider --- src/tests/Regressions/coreclr/22021/provider.il | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/tests/Regressions/coreclr/22021/provider.il b/src/tests/Regressions/coreclr/22021/provider.il index be6ccad2d65f59..7dcfbc229be596 100644 --- a/src/tests/Regressions/coreclr/22021/provider.il +++ b/src/tests/Regressions/coreclr/22021/provider.il @@ -2,7 +2,6 @@ // The .NET Foundation licenses this file to you under the MIT license. .assembly extern System.Runtime { } -.assembly extern xunit.core {} .assembly provider { } @@ -64,17 +63,3 @@ ret } } - -.class public auto ansi beforefieldinit ProviderStubTest - extends [System.Runtime]System.Object -{ - .method public hidebysig static int32 Main() - { - .custom instance void [xunit.core]Xunit.FactAttribute::.ctor() = ( - 01 00 00 00 - ) - .entrypoint - ldc.i4 100 - ret - } -}