diff options
author | Egor Chesakov <Egor.Chesakov@microsoft.com> | 2019-02-28 09:55:28 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-28 09:55:28 -0800 |
commit | 39b643fa45e62cd016b36c173d6166c41d85f0f7 (patch) | |
tree | 01a7dee672ac4b1ec8e0cf8cde33e7ae34593100 /build-test.cmd | |
parent | 062597365c5fe0cbab66aa11447e8e6459179cd6 (diff) | |
download | coreclr-39b643fa45e62cd016b36c173d6166c41d85f0f7.tar.gz coreclr-39b643fa45e62cd016b36c173d6166c41d85f0f7.tar.bz2 coreclr-39b643fa45e62cd016b36c173d6166c41d85f0f7.zip |
Re-partition MSBuild test groups (#22885)
This changes a tests partitioning scheme of coreclr tests in several different ways:
1. Make the test groups are of equal (to some extent) sizes keeping the number of tests in one group less than 1000;
2. As a resulf of 1) this increases a number of groups needed for Pri0 tests to 3 and decreases a number of groups for Pri1 tests to 10;
3. This also changes a way of tests partitioning scheme is defined - instead of explicitly specifying MSBuild Include-patterns this defines a boundaries between test groups in a form of _StartsWith ItemGroup. Then I use StringComparer.Ordinal to pick tests that belong to a particular group.
Diffstat (limited to 'build-test.cmd')
-rw-r--r-- | build-test.cmd | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/build-test.cmd b/build-test.cmd index 4dcab5a449..f0745845f5 100644 --- a/build-test.cmd +++ b/build-test.cmd @@ -296,19 +296,18 @@ REM See https://github.com/Microsoft/msbuild/issues/2993 set __SkipPackageRestore=false set __SkipTargetingPackBuild=false -set __BuildLoopCount=2 -set __TestGroupToBuild=1 +set __NumberOfTestGroups=3 -if %__Priority% GTR 0 (set __BuildLoopCount=16&set __TestGroupToBuild=2) -echo %__MsgPrefix%Building tests group %__TestGroupToBuild% with %__BuildLoopCount% subgroups +if %__Priority% GTR 0 (set __NumberOfTestGroups=10) +echo %__MsgPrefix%Building tests divided into %__NumberOfTestGroups% test groups -for /l %%G in (1, 1, %__BuildLoopCount%) do ( +for /l %%G in (1, 1, %__NumberOfTestGroups%) do ( set __MsbuildLog=/flp:Verbosity=normal;LogFile="%__BuildLog%";Append=!__AppendToLog! set __MsbuildWrn=/flp1:WarningsOnly;LogFile="%__BuildWrn%";Append=!__AppendToLog! set __MsbuildErr=/flp2:ErrorsOnly;LogFile="%__BuildErr%";Append=!__AppendToLog! - set TestBuildSlice=%%G + set __TestGroupToBuild=%%G echo Running: msbuild %__ProjectDir%\tests\build.proj !__MsbuildLog! !__MsbuildWrn! !__MsbuildErr! %TargetsWindowsMsbuildArg% %__msbuildArgs% !__PriorityArg! %__UnprocessedBuildArgs% call "%__ProjectDir%\dotnet.cmd" msbuild %__ProjectDir%\tests\build.proj !__MsbuildLog! !__MsbuildWrn! !__MsbuildErr! %TargetsWindowsMsbuildArg% %__msbuildArgs% !__PriorityArg! %__UnprocessedBuildArgs% |