diff --git a/src/coreclr/build-test.cmd b/src/coreclr/build-test.cmd index 2dbb3b134ddaa6..6ae3904d022f18 100644 --- a/src/coreclr/build-test.cmd +++ b/src/coreclr/build-test.cmd @@ -73,6 +73,8 @@ set __GenerateLayoutOnly=0 set __Priority=0 set __PriorityArg= +set __BuildNeedTargetArg= + :Arg_Loop if "%1" == "" goto ArgsDone @@ -108,6 +110,8 @@ if /i "%1" == "runtimeid" (set __RuntimeId=%2&set processedArgs=!pro if /i "%1" == "targetsNonWindows" (set __TargetsWindows=0&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "Exclude" (set __Exclude=%2&set processedArgs=!processedArgs! %1 %2&shift&shift&goto Arg_Loop) if /i "%1" == "-priority" (set __Priority=%2&shift&set processedArgs=!processedArgs! %1=%2&shift&goto Arg_Loop) +if /i "%1" == "targetGeneric" (set "__BuildNeedTargetArg=/p:CLRTestNeedTargetToBuild=%1"&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) +if /i "%1" == "targetSpecific" (set "__BuildNeedTargetArg=/p:CLRTestNeedTargetToBuild=%1"&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "copynativeonly" (set __CopyNativeTestBinaries=1&set __SkipNative=1&set __CopyNativeProjectsAfterCombinedTestBuild=false&set __SkipCrossgenFramework=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "skipgeneratelayout" (set __SkipGenerateLayout=1&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) if /i "%1" == "generatelayoutonly" (set __SkipManaged=1&set __SkipNative=1&set __CopyNativeProjectsAfterCombinedTestBuild=false&set processedArgs=!processedArgs! %1&shift&goto Arg_Loop) @@ -300,7 +304,7 @@ powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -Command "%__RepoRootDir%\ /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^ /p:UsePartialNGENOptimization=false /maxcpucount^ %__SkipFXRestoreArg%^ - !__Logging! %__CommonMSBuildArgs% %__PriorityArg% %__UnprocessedBuildArgs% + !__Logging! %__CommonMSBuildArgs% %__PriorityArg% %__BuildNeedTargetArg% %__UnprocessedBuildArgs% if errorlevel 1 ( echo %__ErrMsgPrefix%%__MsgPrefix%Error: Package restoration failed. Refer to the build log files for details: @@ -360,7 +364,7 @@ for /l %%G in (1, 1, %__NumberOfTestGroups%) do ( set __MSBuildBuildArgs=!__MSBuildBuildArgs! !__Logging! set __MSBuildBuildArgs=!__MSBuildBuildArgs! !TargetsWindowsMsbuildArg! set __MSBuildBuildArgs=!__MSBuildBuildArgs! !__msbuildArgs! - set __MSBuildBuildArgs=!__MSBuildBuildArgs! !__PriorityArg! + set __MSBuildBuildArgs=!__MSBuildBuildArgs! !__PriorityArg! !__BuildNeedTargetArg! set __MSBuildBuildArgs=!__MSBuildBuildArgs! !__UnprocessedBuildArgs! set __MSBuildBuildArgs=!__MSBuildBuildArgs! /p:CopyNativeProjectBinaries=!__CopyNativeProjectsAfterCombinedTestBuild! set __MSBuildBuildArgs=!__MSBuildBuildArgs! /p:__SkipPackageRestore=true @@ -379,7 +383,7 @@ for /l %%G in (1, 1, %__NumberOfTestGroups%) do ( goto :Exit_Failure ) ) else ( - set __MSBuildBuildArgs=!__ProjectDir!\tests\build.proj -warnAsError:0 /nodeReuse:false !__Logging! !TargetsWindowsMsbuildArg! !__msbuildArgs! !__PriorityArg! !__SkipFXRestoreArg! !__UnprocessedBuildArgs! "/t:CopyAllNativeProjectReferenceBinaries" + set __MSBuildBuildArgs=!__ProjectDir!\tests\build.proj -warnAsError:0 /nodeReuse:false !__Logging! !TargetsWindowsMsbuildArg! !__msbuildArgs! !__PriorityArg! !__BuildNeedTargetArg! !__SkipFXRestoreArg! !__UnprocessedBuildArgs! "/t:CopyAllNativeProjectReferenceBinaries" echo Running: msbuild !__MSBuildBuildArgs! !__CommonMSBuildCmdPrefix! !__MSBuildBuildArgs! @@ -464,7 +468,7 @@ powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%__RepoRootDir%\eng /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^ /p:UsePartialNGENOptimization=false /maxcpucount^ %__SkipFXRestoreArg%^ - !__Logging! %__CommonMSBuildArgs% %RuntimeIdArg% %__PriorityArg% %__UnprocessedBuildArgs% + !__Logging! %__CommonMSBuildArgs% %RuntimeIdArg% %__PriorityArg% %__BuildNeedTargetArg% %__UnprocessedBuildArgs% if errorlevel 1 ( echo %__ErrMsgPrefix%%__MsgPrefix%Error: Create Test Overlay failed. Refer to the build log files for details: echo %__BuildLog% @@ -606,6 +610,8 @@ echo -priority=^ : specify a set of tests that will be built and run, with p echo 0: Build only priority 0 cases as essential testcases (default) echo 1: Build all tests with priority 0 and 1 echo 666: Build all tests with priority 0, 1 ... 666 +echo targetGeneric: Only build tests which run on any target platform. +echo targetSpecific: Only build tests which run on a specific target platform. echo -verbose: enables detailed file logging for the msbuild tasks into the msbuild log file. exit /b 1 diff --git a/src/coreclr/build-test.sh b/src/coreclr/build-test.sh index 24b7d3275b071f..65110b5ef3b21c 100755 --- a/src/coreclr/build-test.sh +++ b/src/coreclr/build-test.sh @@ -494,6 +494,9 @@ usage_list+=("-crossgen2: Precompiles the framework managed assemblies in corero usage_list+=("-generatetesthostonly: only generate the test host.") usage_list+=("-generatelayoutonly: only pull down dependencies and build coreroot.") usage_list+=("-priority1: include priority=1 tests in the build.") +usage_list+=("-targetGeneric: Only build tests which run on any target platform.") +usage_list+=("-targetSpecific: Only build tests which run on a specific target platform.") + usage_list+=("-rebuild: if tests have already been built - rebuild them.") usage_list+=("-runtests: run tests after building them.") usage_list+=("-skiprestorepackages: skip package restore.") @@ -503,6 +506,7 @@ usage_list+=("-excludemonofailures: Mark the build as running on Mono runtime so # Obtain the location of the bash script to figure out where the root of the repo is. __ProjectRoot="$(cd "$(dirname "$0")"; pwd -P)" __RepoRootDir="$(cd "$__ProjectRoot"/../..; pwd -P)" +__BuildArch= handle_arguments_local() { case "$1" in @@ -545,6 +549,14 @@ handle_arguments_local() { __UnprocessedBuildArgs+=("/p:CLRTestPriorityToBuild=1") ;; + targetGeneric|-targetGeneric) + __UnprocessedBuildArgs+=("/p:CLRTestNeedTargetToBuild=targetGeneric") + ;; + + targetSpecific|-targetSpecific) + __UnprocessedBuildArgs+=("/p:CLRTestNeedTargetToBuild=targetSpecific") + ;; + rebuild|-rebuild) __RebuildTests=1 ;; @@ -570,7 +582,6 @@ handle_arguments_local() { esac } -__BuildArch= __BuildType=Debug __CodeCoverage= __IncludeTests=INCLUDE_TESTS diff --git a/src/coreclr/tests/Directory.Build.props b/src/coreclr/tests/Directory.Build.props index d2a5b807c5f728..db10db5197b7cf 100644 --- a/src/coreclr/tests/Directory.Build.props +++ b/src/coreclr/tests/Directory.Build.props @@ -57,6 +57,15 @@ 0 + + + + + $(ProductVersion) diff --git a/src/coreclr/tests/src/Common/test_dependencies/test_dependencies.csproj b/src/coreclr/tests/src/Common/test_dependencies/test_dependencies.csproj index 19d473b6d6bfe0..124c872d4ac1bb 100644 --- a/src/coreclr/tests/src/Common/test_dependencies/test_dependencies.csproj +++ b/src/coreclr/tests/src/Common/test_dependencies/test_dependencies.csproj @@ -28,6 +28,10 @@ + + 1 + + diff --git a/src/coreclr/tests/src/Directory.Build.targets b/src/coreclr/tests/src/Directory.Build.targets index f99c73df8825c0..d51b15ad5b1ec3 100644 --- a/src/coreclr/tests/src/Directory.Build.targets +++ b/src/coreclr/tests/src/Directory.Build.targets @@ -4,6 +4,7 @@ SharedLibrary BuildAndRun 0 + 0