|
33 | 33 | <DisabledProjects Include="Loader\classloader\generics\GenericMethods\VSW491668.csproj" /> <!-- issue 5501 -->
|
34 | 34 | </ItemGroup>
|
35 | 35 |
|
36 |
| - <!-- Test build is divided in slices which can be created within Test Group |
37 |
| - Priority 0 tests are build using Test Group 1 with 2 subgroups or slices --> |
38 |
| - |
39 |
| - <ItemGroup Condition="$(__TestGroupToBuild) == '1' And $(TestBuildSlice) == '1'"> |
40 |
| - <Project Include="*\**\*.csproj" Exclude="@(DisabledProjects)"> |
41 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
42 |
| - </Project> |
| 36 | + <ItemGroup> |
| 37 | + <AllProjects Include="*\**\*.csproj" Exclude="@(DisabledProjects)" /> |
| 38 | + <AllProjects Include="*\**\*.ilproj" Exclude="@(DisabledProjects)" /> |
43 | 39 | </ItemGroup>
|
44 | 40 |
|
45 |
| - <ItemGroup Condition="$(__TestGroupToBuild) == '1' And $(TestBuildSlice) == '2'"> |
46 |
| - <Project Include="*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
47 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
48 |
| - </Project> |
49 |
| - </ItemGroup> |
| 41 | + <!-- All the test projects are partitioned into the test groups as defined below. |
| 42 | + Each of the test groups is meant to be built by a separate MSBuild invocation with specified $(__TestGroupToBuild) property. --> |
50 | 43 |
|
51 |
| - <!-- Test build is divided in slices which can be created within Test Group |
52 |
| - Priority 1 or higher tests are build using Test Group 2 with 16 subgroups or slices --> |
| 44 | + <ItemGroup Condition=" '$(CLRTestPriorityToBuild)' == '0' "> |
| 45 | + <!-- Group number k consists of all the test projects P such that _GroupStartsWith(k) <= P.Identity < _GroupStartsWith(k+1). |
| 46 | + In other words, ItemGroup _GroupStartsWith defines boundaries between the test groups. --> |
53 | 47 |
|
54 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '1')"> |
55 |
| - <Project Include="baseservices\**\*.csproj" Exclude="@(DisabledProjects)"> |
56 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
57 |
| - </Project> |
58 |
| - <Project Include="Common\**\*.csproj" Exclude="@(DisabledProjects)"> |
59 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
60 |
| - </Project> |
61 |
| - <Project Include="baseservices\**\*.ilproj" Exclude="@(DisabledProjects)"> |
62 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
63 |
| - </Project> |
64 |
| - <Project Include="Common\**\*.ilproj" Exclude="@(DisabledProjects)"> |
65 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
66 |
| - </Project> |
67 |
| - </ItemGroup> |
| 48 | + <!-- MSBuild does not allow specifying an item with empty identity but if it was possible Group number 1 would be defined as follows: |
68 | 49 |
|
69 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '2')"> |
70 |
| - <Project Include="CoreMangLib\**\*.csproj" Exclude="@(DisabledProjects)"> |
71 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
72 |
| - </Project> |
73 |
| - <Project Include="CoreMangLib\**\*.ilproj" Exclude="@(DisabledProjects)"> |
74 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
75 |
| - </Project> |
76 |
| - </ItemGroup> |
| 50 | + <_GroupStartsWith Include=""> |
| 51 | + <GroupNumber>1</GroupNumber> |
| 52 | + </_GroupStartsWith> --> |
77 | 53 |
|
78 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '3')"> |
79 |
| - <Project Include="E*\**\*.csproj" Exclude="@(DisabledProjects)"> |
80 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
81 |
| - </Project> |
82 |
| - <Project Include="GC\**\*.csproj" Exclude="@(DisabledProjects)"> |
83 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
84 |
| - </Project> |
85 |
| - <Project Include="hosting\**\*.csproj" Exclude="@(DisabledProjects)"> |
86 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
87 |
| - </Project> |
88 |
| - <Project Include="Interop\**\*.csproj" Exclude="@(DisabledProjects)"> |
89 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
90 |
| - </Project> |
91 |
| - <Project Include="E*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
92 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
93 |
| - </Project> |
94 |
| - <Project Include="GC\**\*.ilproj" Exclude="@(DisabledProjects)"> |
95 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
96 |
| - </Project> |
97 |
| - <Project Include="hosting\**\*.ilproj" Exclude="@(DisabledProjects)"> |
98 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
99 |
| - </Project> |
100 |
| - <Project Include="Interop\**\*.ilproj" Exclude="@(DisabledProjects)"> |
101 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
102 |
| - </Project> |
103 |
| - </ItemGroup> |
| 54 | + <_GroupStartsWith Include="JIT\Methodical\Boxing\callconv\_relinstance_il.ilproj"> |
| 55 | + <GroupNumber>2</GroupNumber> |
| 56 | + </_GroupStartsWith> |
104 | 57 |
|
105 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '4')"> |
106 |
| - <Project Include="JIT\B*\**\*.csproj" Exclude="@(DisabledProjects)"> |
107 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
108 |
| - </Project> |
109 |
| - <Project Include="JIT\C*\**\*.csproj" Exclude="@(DisabledProjects)"> |
110 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
111 |
| - </Project> |
112 |
| - <Project Include="JIT\Directed\**\*.csproj" Exclude="@(DisabledProjects)"> |
113 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
114 |
| - </Project> |
| 58 | + <_GroupStartsWith Include="JIT\Regression\CLR-x86-JIT\V1-M12-Beta2\b35351\b35351.ilproj"> |
| 59 | + <GroupNumber>3</GroupNumber> |
| 60 | + </_GroupStartsWith> |
115 | 61 | </ItemGroup>
|
116 | 62 |
|
117 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '5')"> |
118 |
| - <Project Include="JIT\B*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
119 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
120 |
| - </Project> |
121 |
| - <Project Include="JIT\C*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
122 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
123 |
| - </Project> |
124 |
| - <Project Include="JIT\Directed\**\*.ilproj" Exclude="@(DisabledProjects)"> |
125 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
126 |
| - </Project> |
127 |
| - </ItemGroup> |
| 63 | + <Error Condition=" '$(CLRTestPriorityToBuild)' == '0' And ($(__TestGroupToBuild) < 1 Or $(__TestGroupToBuild) > 3) " Text="__TestGroupToBuild property must be between 1 and 3 for Pri0." /> |
128 | 64 |
|
129 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '6')"> |
130 |
| - <Project Include="JIT\Generics\**\*.csproj" Exclude="@(DisabledProjects)"> |
131 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
132 |
| - </Project> |
133 |
| - <Project Include="JIT\*Intrinsics\**\*.csproj" Exclude="@(DisabledProjects)"> |
134 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
135 |
| - </Project> |
136 |
| - <Project Include="JIT\Generics\**\*.ilproj" Exclude="@(DisabledProjects)"> |
137 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
138 |
| - </Project> |
139 |
| - <Project Include="JIT\*Intrinsics\**\*.ilproj" Exclude="@(DisabledProjects)"> |
140 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
141 |
| - </Project> |
142 |
| - </ItemGroup> |
| 65 | + <ItemGroup Condition=" '$(CLRTestPriorityToBuild)' == '1' "> |
| 66 | + <!-- See above for explanation. |
| 67 | + <_GroupStartsWith Include=""> |
| 68 | + <GroupNumber>1</GroupNumber> |
| 69 | + </_GroupStartsWith> --> |
143 | 70 |
|
144 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '7')"> |
145 |
| - <Project Include="JIT\IL_Conformance\**\*.csproj" Exclude="@(DisabledProjects)"> |
146 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
147 |
| - </Project> |
148 |
| - <Project Include="JIT\IL_Conformance\**\*.ilproj" Exclude="@(DisabledProjects)"> |
149 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
150 |
| - </Project> |
151 |
| - </ItemGroup> |
| 71 | + <_GroupStartsWith Include="JIT\CodeGenBringUpTests\DblNeg_ro.csproj"> |
| 72 | + <GroupNumber>2</GroupNumber> |
| 73 | + </_GroupStartsWith> |
152 | 74 |
|
153 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '8')"> |
154 |
| - <Project Include="JIT\jit64\**\*.csproj" Exclude="@(DisabledProjects)"> |
155 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
156 |
| - </Project> |
157 |
| - <Project Include="JIT\jit64\**\*.ilproj" Exclude="@(DisabledProjects)"> |
158 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
159 |
| - </Project> |
160 |
| - </ItemGroup> |
| 75 | + <_GroupStartsWith Include="JIT\Directed\shift\uint32_d.csproj"> |
| 76 | + <GroupNumber>3</GroupNumber> |
| 77 | + </_GroupStartsWith> |
161 | 78 |
|
162 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '9')"> |
163 |
| - <Project Include="JIT\Methodical\**\*.csproj" Exclude="@(DisabledProjects)"> |
164 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
165 |
| - </Project> |
166 |
| - </ItemGroup> |
| 79 | + <_GroupStartsWith Include="JIT\Methodical\AsgOp\r8\r8flat_cs_r.csproj"> |
| 80 | + <GroupNumber>4</GroupNumber> |
| 81 | + </_GroupStartsWith> |
167 | 82 |
|
168 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '10')"> |
169 |
| - <Project Include="JIT\Methodical\**\*.ilproj" Exclude="@(DisabledProjects)"> |
170 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
171 |
| - </Project> |
172 |
| - </ItemGroup> |
| 83 | + <_GroupStartsWith Include="JIT\Methodical\eh\finallyexec\tryCatchFinallyThrow_nonlocalexit4_ro.csproj"> |
| 84 | + <GroupNumber>5</GroupNumber> |
| 85 | + </_GroupStartsWith> |
173 | 86 |
|
174 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '11')"> |
175 |
| - <Project Include="JIT\opt\**\*.csproj" Exclude="@(DisabledProjects)"> |
176 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
177 |
| - </Project> |
178 |
| - <Project Include="JIT\Performance\**\*.csproj" Exclude="@(DisabledProjects)"> |
179 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
180 |
| - </Project> |
181 |
| - <Project Include="JIT\S*\**\*.csproj" Exclude="@(DisabledProjects)"> |
182 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
183 |
| - </Project> |
184 |
| - <Project Include="JIT\opt\**\*.ilproj" Exclude="@(DisabledProjects)"> |
185 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
186 |
| - </Project> |
187 |
| - <Project Include="JIT\Performance\**\*.ilproj" Exclude="@(DisabledProjects)"> |
188 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
189 |
| - </Project> |
190 |
| - <Project Include="JIT\S*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
191 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
192 |
| - </Project> |
193 |
| - </ItemGroup> |
| 87 | + <_GroupStartsWith Include="JIT\Regression\CLR-x86-JIT\V1-M09.5-PDC\b25701\b25701.ilproj"> |
| 88 | + <GroupNumber>6</GroupNumber> |
| 89 | + </_GroupStartsWith> |
194 | 90 |
|
195 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '12')"> |
196 |
| - <Project Include="JIT\R*\**\*.csproj" Exclude="@(DisabledProjects)"> |
197 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
198 |
| - </Project> |
199 |
| - </ItemGroup> |
| 91 | + <_GroupStartsWith Include="JIT\Regression\JitBlue\GitHub_19171\GitHub_19171.csproj"> |
| 92 | + <GroupNumber>7</GroupNumber> |
| 93 | + </_GroupStartsWith> |
200 | 94 |
|
201 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '13')"> |
202 |
| - <Project Include="JIT\R*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
203 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
204 |
| - </Project> |
205 |
| - </ItemGroup> |
| 95 | + <_GroupStartsWith Include="JIT\jit64\valuetypes\nullable\box-unbox\value\box-unbox-value030.csproj"> |
| 96 | + <GroupNumber>8</GroupNumber> |
| 97 | + </_GroupStartsWith> |
206 | 98 |
|
207 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '14')"> |
208 |
| - <Project Include="Loader\**\*.csproj" Exclude="@(DisabledProjects)"> |
209 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
210 |
| - </Project> |
| 99 | + <_GroupStartsWith Include="Loader\classloader\TypeGeneratorTests\TypeGeneratorTest225\Generated225.ilproj"> |
| 100 | + <GroupNumber>9</GroupNumber> |
| 101 | + </_GroupStartsWith> |
| 102 | + |
| 103 | + <_GroupStartsWith Include="Loader\classloader\generics\VSD\Class2_ImplicitOverrideVirtualNewslot.csproj"> |
| 104 | + <GroupNumber>10</GroupNumber> |
| 105 | + </_GroupStartsWith> |
211 | 106 | </ItemGroup>
|
212 | 107 |
|
213 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '15')"> |
214 |
| - <Project Include="Loader\**\*.ilproj" Exclude="@(DisabledProjects)"> |
215 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
216 |
| - </Project> |
217 |
| - </ItemGroup> |
| 108 | + <Error Condition=" '$(CLRTestPriorityToBuild)' == '1' And ($(__TestGroupToBuild) < 1 Or $(__TestGroupToBuild) > 10)" Text="__TestGroupToBuild property must be between 1 and 10 for Pri1." /> |
218 | 109 |
|
219 |
| - <ItemGroup Condition="($(__TestGroupToBuild) == '2' And $(TestBuildSlice) == '16')"> |
220 |
| - <Project Include="m*\**\*.csproj" Exclude="@(DisabledProjects)"> |
221 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
222 |
| - </Project> |
223 |
| - <Project Include="p*\**\*.csproj" Exclude="@(DisabledProjects)"> |
224 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
225 |
| - </Project> |
226 |
| - <Project Include="r*\**\*.csproj" Exclude="@(DisabledProjects)"> |
227 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
228 |
| - </Project> |
229 |
| - <Project Include="s*\**\*.csproj" Exclude="@(DisabledProjects)"> |
230 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
231 |
| - </Project> |
232 |
| - <Project Include="t*\**\*.csproj" Exclude="@(DisabledProjects)"> |
233 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
234 |
| - </Project> |
235 |
| - <Project Include="m*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
236 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
237 |
| - </Project> |
238 |
| - <Project Include="p*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
239 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
240 |
| - </Project> |
241 |
| - <Project Include="r*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
242 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
243 |
| - </Project> |
244 |
| - <Project Include="s*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
245 |
| - <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties> |
246 |
| - </Project> |
247 |
| - <Project Include="t*\**\*.ilproj" Exclude="@(DisabledProjects)"> |
| 110 | + <PropertyGroup> |
| 111 | + <!-- This computes lower inclusive and upper exclusive boundaries for Group number $(__TestGroupToBuild). --> |
| 112 | + <_GroupStartsWith>@(_GroupStartsWith->WithMetadataValue("GroupNumber", $(__TestGroupToBuild)))</_GroupStartsWith> |
| 113 | + <_GroupEndsWithExcl>@(_GroupStartsWith->WithMetadataValue("GroupNumber", $([MSBuild]::Add($(__TestGroupToBuild), 1))))</_GroupEndsWithExcl> |
| 114 | + </PropertyGroup> |
| 115 | + |
| 116 | + <ItemGroup> |
| 117 | + <AllProjects> |
| 118 | + <InGroup>True</InGroup> |
| 119 | + </AllProjects> |
| 120 | + |
| 121 | + <AllProjects Condition=" '$(_GroupStartsWith)' != '' And $([System.StringComparer]::Ordinal.Compare($(_GroupStartsWith), %(Identity))) > 0 "> |
| 122 | + <InGroup>False</InGroup> |
| 123 | + </AllProjects> |
| 124 | + |
| 125 | + <AllProjects Condition=" '$(_GroupEndsWithExcl)' != '' And $([System.StringComparer]::Ordinal.Compare(%(Identity), $(_GroupEndsWithExcl))) >= 0 "> |
| 126 | + <InGroup>False</InGroup> |
| 127 | + </AllProjects> |
| 128 | + </ItemGroup> |
| 129 | + |
| 130 | + <ItemGroup> |
| 131 | + <Project Include="@(AllProjects->WithMetadataValue('InGroup', 'True'))"> |
248 | 132 | <AdditionalProperties>OSGroup=$(OSGroup)</AdditionalProperties>
|
249 | 133 | </Project>
|
250 | 134 | </ItemGroup>
|
|
0 commit comments