Commit 6668f68
authored
[Backport to release/11.0-preview2]: Updating build agent image to use VS2026 (#14312)
Backport from #14299
* Updating build agent image to use VS2026
VS2022 images have been deprecated this week and we need to move to
VS2026. This change will need to be backported to servicing branches
also.
* Using scout images
* The Form_SnapsRightAsync(Maximized) test failed because the Win+Z snap
layout panel interaction was broken. The test used Win+Z to open the
snap layout panel, then navigated with arrow keys to select the
right-half snap position. However, each SendAsync(Form, params object[])
call invoked SetForegroundWindow on the form, which dismissed the snap
layout panel before the arrow keys could navigate it. For maximized
windows, the window remained maximized and the snap never occurred.
Root Cause
1. SetForegroundWindow in SendAsync(Form, params object[]) dismissed the
Win+Z snap layout panel before arrow keys could navigate it.
2. Win+Z snap panel keyboard navigation is fragile and varies across
Windows versions, making it unreliable for automated testing.
Fix: Replaced Win+Z + keyboard navigation with Win+Left/Win+Right
shortcuts in both Form_SnapsLeftAsync(FormWindowState) and
Form_SnapsRightAsync(FormWindowState). These shortcuts directly snap
windows without requiring interaction with the snap layout panel, making
the tests more reliable across Windows versions.
* Test fix: Layout display names may include OS-specific suffixes e.g.
"French" became "French (Legacy, AZERTY)" in Windows 11.0. Due to this
reason we are using StartsWith instead of equality check for layout
name.
* Test fix for GraphicsPath_AddRoundedRectangle_Integer and
GraphicsPath_AddRoundedRectangle_Float failure on x86.
Issue: Old and new GDI+ are producing different number of points: 19 and
25 respectively for rounded rectangles' arcs.
Fix
Updated both tests to validate shape correctness rather than exact point
sequences:
1. Point count: Assert that the count is one of the two valid values (19
or 25)
2. Bounding box: Verify the path bounds match the expected (10, 10, 20,
20) rectangle
3. Key coordinates: Verify the first point (top-right corner start at
~27.5, 10) and last point (top-left corner end at ~12.5, 10) are correct
This makes the tests robust across different GDI+ implementations while
still validating that AddRoundedRectangle(Rectangle, Size) produces a
geometrically correct rounded rectangle.
* Test issue: The VisibleClipBound(), VisibleClipBound_BigClip(), and
Rotate() tests were failing on x86 Windows due to floating-point
precision differences after RotateTransform(90). There are tiny epsilon
differences (e.g., 1.9E-06 instead of exactly 0). The tests used exact
Assert.Equal(0, rotclip.X) for values computed through rotation matrix
transforms, which broke on x86.
The same issue already existed on ARM (covered by IsArmOrArm64Process
skip guards).
Fix
For all three tests:
1. Replaced exact equality (Assert.Equal(0, value)) with tolerance-based
equality (Assert.Equal(0.0, value, 4)) for values computed after
RotateTransform() — specifically the .X properties that should be 0 but
may have tiny epsilon drift. Note that similar change was already done
for verifying other points/lengths.
2. Removed the ARM skip guards (IsArmOrArm64Process + Skip(uint)) since
the tolerance-based assertions now handle precision differences on all
architectures (ARM, x86, x64).
* Due to GDI+ changes in Windows 11 on x86, floating point overflow
causes the value to change to Infinity instead of float.MaxValue.
* Trigger PR update
* Fix for remaining matrix tests which are also failing on x86 due to
similar issue as Translation Matrix test.6 files changed
Lines changed: 86 additions & 109 deletions
File tree
- eng/pipelines
- src
- System.Drawing.Common/tests
- System/Drawing/Drawing2D
- mono/System.Drawing
- test
- integration/UIIntegrationTests
- unit/System.Windows.Forms/System/Windows/Forms
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| |||
Lines changed: 32 additions & 48 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2348 | 2348 | | |
2349 | 2349 | | |
2350 | 2350 | | |
2351 | | - | |
2352 | | - | |
2353 | | - | |
2354 | | - | |
2355 | | - | |
2356 | | - | |
2357 | | - | |
2358 | | - | |
2359 | | - | |
2360 | | - | |
2361 | | - | |
2362 | | - | |
2363 | | - | |
2364 | | - | |
2365 | | - | |
2366 | | - | |
2367 | | - | |
2368 | | - | |
2369 | | - | |
2370 | | - | |
2371 | | - | |
2372 | | - | |
2373 | | - | |
2374 | | - | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
| 2354 | + | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
2375 | 2367 | | |
2376 | 2368 | | |
2377 | 2369 | | |
2378 | 2370 | | |
2379 | 2371 | | |
2380 | 2372 | | |
2381 | 2373 | | |
2382 | | - | |
2383 | | - | |
2384 | | - | |
2385 | | - | |
2386 | | - | |
2387 | | - | |
2388 | | - | |
2389 | | - | |
2390 | | - | |
2391 | | - | |
2392 | | - | |
2393 | | - | |
2394 | | - | |
2395 | | - | |
2396 | | - | |
2397 | | - | |
2398 | | - | |
2399 | | - | |
2400 | | - | |
2401 | | - | |
2402 | | - | |
2403 | | - | |
2404 | | - | |
2405 | | - | |
| 2374 | + | |
| 2375 | + | |
| 2376 | + | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
| 2381 | + | |
| 2382 | + | |
| 2383 | + | |
| 2384 | + | |
| 2385 | + | |
| 2386 | + | |
| 2387 | + | |
| 2388 | + | |
| 2389 | + | |
2406 | 2390 | | |
2407 | 2391 | | |
2408 | 2392 | | |
| |||
Lines changed: 30 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
311 | | - | |
312 | | - | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
313 | 319 | | |
314 | 320 | | |
315 | 321 | | |
| |||
531 | 537 | | |
532 | 538 | | |
533 | 539 | | |
534 | | - | |
535 | | - | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
536 | 548 | | |
537 | 549 | | |
538 | 550 | | |
| |||
597 | 609 | | |
598 | 610 | | |
599 | 611 | | |
600 | | - | |
601 | | - | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
602 | 620 | | |
603 | 621 | | |
604 | 622 | | |
| |||
654 | 672 | | |
655 | 673 | | |
656 | 674 | | |
657 | | - | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
658 | 681 | | |
659 | 682 | | |
660 | 683 | | |
| |||
Lines changed: 4 additions & 22 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2189 | 2189 | | |
2190 | 2190 | | |
2191 | 2191 | | |
2192 | | - | |
2193 | | - | |
2194 | | - | |
2195 | | - | |
2196 | | - | |
2197 | | - | |
2198 | 2192 | | |
2199 | 2193 | | |
2200 | 2194 | | |
| |||
2214 | 2208 | | |
2215 | 2209 | | |
2216 | 2210 | | |
2217 | | - | |
| 2211 | + | |
2218 | 2212 | | |
2219 | 2213 | | |
2220 | 2214 | | |
| |||
2223 | 2217 | | |
2224 | 2218 | | |
2225 | 2219 | | |
2226 | | - | |
2227 | | - | |
2228 | | - | |
2229 | | - | |
2230 | | - | |
2231 | | - | |
2232 | 2220 | | |
2233 | 2221 | | |
2234 | 2222 | | |
| |||
2253 | 2241 | | |
2254 | 2242 | | |
2255 | 2243 | | |
2256 | | - | |
| 2244 | + | |
2257 | 2245 | | |
2258 | 2246 | | |
2259 | 2247 | | |
2260 | 2248 | | |
2261 | 2249 | | |
2262 | | - | |
| 2250 | + | |
2263 | 2251 | | |
2264 | 2252 | | |
2265 | 2253 | | |
| |||
2268 | 2256 | | |
2269 | 2257 | | |
2270 | 2258 | | |
2271 | | - | |
2272 | | - | |
2273 | | - | |
2274 | | - | |
2275 | | - | |
2276 | | - | |
2277 | 2259 | | |
2278 | 2260 | | |
2279 | 2261 | | |
| |||
2284 | 2266 | | |
2285 | 2267 | | |
2286 | 2268 | | |
2287 | | - | |
| 2269 | + | |
2288 | 2270 | | |
2289 | 2271 | | |
2290 | 2272 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | | - | |
| 42 | + | |
| 43 | + | |
41 | 44 | | |
42 | | - | |
43 | 45 | | |
44 | 46 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
57 | 50 | | |
58 | 51 | | |
59 | 52 | | |
| |||
94 | 87 | | |
95 | 88 | | |
96 | 89 | | |
| 90 | + | |
| 91 | + | |
97 | 92 | | |
98 | 93 | | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
| 94 | + | |
| 95 | + | |
110 | 96 | | |
111 | 97 | | |
112 | 98 | | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
117 | 102 | | |
118 | 103 | | |
119 | 104 | | |
| |||
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
193 | | - | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
194 | 197 | | |
195 | 198 | | |
196 | 199 | | |
| |||
0 commit comments