Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 4, 2025

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue. Thank you!

Description of Change

Optimized UITest category groups for better parallelization, test organization, and pipeline efficiency:

Split category groups for better parallelization:

  • ScrollView,SearchBar,Shape,Slider,SoftInput,Stepper,Switch,SwipeView → split into ScrollView (separate), SearchBar,Shape,Slider, and SoftInput,Stepper,Switch,SwipeView
  • Label,Layout,Lifecycle,ListView → split into 4 separate runs: Label, Layout, Lifecycle, ListView
  • Shadow,ViewBaseTests,Visual,WebView,Window → split and reorganized (see below)

Combined category groups for efficiency:

  • SafeAreaEdges + ShadowSafeAreaEdges,Shadow
  • Lifecycle + ManualReview,MapsLifecycle,ManualReview,Maps
  • ViewBaseTests + WindowViewBaseTests,Window
  • Cells,CheckBox,ContextActions,CustomRenderers + DatePicker,Dispatcher,DisplayAlert,DisplayPrompt,DragAndDropCells,CheckBox,ContextActions,CustomRenderers,DatePicker,Dispatcher,DisplayAlert,DisplayPrompt,DragAndDrop

Removed Visual category completely:

  • Deleted UITestCategories.Visual constant from UITestCategories.cs
  • Reassigned all 5 tests that used Visual category to appropriate categories based on their actual functionality:
    • Issue27732 (view position shifts with shadow changes) → UITestCategories.Shadow
    • Issue24414 (shadow rendering issues) → UITestCategories.Shadow
    • Issue27730 (shadow clipping updates) → UITestCategories.Shadow
    • Issue24847 (background layer frame performance) → UITestCategories.Brush
    • Issue17884 (label text rendering) → UITestCategories.Label

Result: Total category groups optimized from 19 to 23, balancing test isolation with pipeline efficiency while eliminating the unused Visual category.

Files changed:

  • eng/pipelines/common/ui-tests.yml
  • src/Controls/tests/TestCases.Shared.Tests/UITestCategories.cs
  • src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue17884.cs
  • src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue24414.cs
  • src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue24847.cs
  • src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue27730.cs
  • src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue27732.cs

Issues Fixed

N/A - Pipeline optimization

Original prompt

for the UITests can you create a PR that splits up this run

Controls ScrollView,SearchBar,Shape,Slider,SoftInput,Stepper,Switch,SwipeView

into
Controls ScrollView,SearchBar,Shape,Slider,
and
SoftInput,Stepper,Switch,SwipeView


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] Split UITests for controls into separate runs Split UITest category group into two separate runs Dec 4, 2025
Copilot AI requested a review from PureWeen December 4, 2025 01:01
Copilot finished work on behalf of PureWeen December 4, 2025 01:01
@PureWeen
Copy link
Member

PureWeen commented Dec 4, 2025

/azp run MAUI-UITests-public

@PureWeen PureWeen marked this pull request as ready for review December 4, 2025 01:17
Copilot AI review requested due to automatic review settings December 4, 2025 01:17
@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copilot finished reviewing on behalf of PureWeen December 4, 2025 01:18
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR splits a single UITest category group into two separate jobs to improve parallelization and reduce test workload per job. The change is straightforward and maintains all original test categories while distributing them across two matrix runs instead of one.

Key Changes:

  • Split the combined category group ScrollView,SearchBar,Shape,Slider,SoftInput,Stepper,Switch,SwipeView into two separate entries
  • First group now contains: ScrollView,SearchBar,Shape,Slider
  • Second group now contains: SoftInput,Stepper,Switch,SwipeView

@PureWeen
Copy link
Member

PureWeen commented Dec 4, 2025

@copilot can you move scrollview out so it runs separate

Copy link
Contributor Author

Copilot AI commented Dec 4, 2025

@copilot can you move scrollview out so it runs separate

Done. ScrollView now runs separately in commit c5a4f15.

The category groups are now:

  • ScrollView (separate run)
  • SearchBar,Shape,Slider
  • SoftInput,Stepper,Switch,SwipeView

Copilot AI changed the title Split UITest category group into two separate runs Split UITest category group into three separate runs Dec 4, 2025
Copilot finished work on behalf of PureWeen December 4, 2025 04:53
@PureWeen
Copy link
Member

PureWeen commented Dec 4, 2025

/azp run MAUI-UITests-public

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@PureWeen
Copy link
Member

PureWeen commented Dec 4, 2025

@copilot

Split up
Controls Label,Layout,Lifecycle,ListView

to all run separately

split up
Shadow,ViewBaseTests,Visual,WebView,Window

to all run separately

@PureWeen PureWeen marked this pull request as draft December 4, 2025 17:00
…,WebView,Window to run separately

Co-authored-by: PureWeen <[email protected]>
Copy link
Contributor Author

Copilot AI commented Dec 4, 2025

@copilot

Split up
...

Done in commit 9a02f8a.

Split into separate runs:

  • Label,Layout,Lifecycle,ListView → 4 separate entries
  • Shadow,ViewBaseTests,Visual,WebView,Window → 5 separate entries

Total category groups increased from 21 to 28.

Copilot AI changed the title Split UITest category group into three separate runs Split UITest category groups to run separately for better parallelization Dec 4, 2025
Copilot finished work on behalf of PureWeen December 4, 2025 17:11
@PureWeen
Copy link
Member

PureWeen commented Dec 4, 2025

/azp run MAUI-UITests-public

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@PureWeen
Copy link
Member

PureWeen commented Dec 5, 2025

@copilot

  1. combine SafeAreaEdges and Shadow and Controls
  2. Remove "Visual" completely and delete the UItestCategories.Visual from code and set all test that are set to "UItestCategories.Visual" to a different category. I trust you to guess the right one

Copy link
Contributor Author

Copilot AI commented Dec 5, 2025

@copilot

  1. combine SafeAreaEdges and Shadow and Controls
    ...

Done in commit 944f899.

Changes made:

  1. Combined SafeAreaEdges and Shadow into single category group: SafeAreaEdges,Shadow

  2. Removed Visual category completely:

    • Deleted UITestCategories.Visual from UITestCategories.cs
    • Reassigned all 5 tests to appropriate categories:
      • Issue27732 (shadow position shift) → UITestCategories.Shadow
      • Issue24414 (shadow rendering) → UITestCategories.Shadow
      • Issue27730 (shadow clipping) → UITestCategories.Shadow
      • Issue24847 (background frame) → UITestCategories.Brush
      • Issue17884 (label text rendering) → UITestCategories.Label

Total category groups reduced from 28 to 26.

Copilot AI changed the title Split UITest category groups to run separately for better parallelization Optimize UITest category groups: split for parallelization, combine SafeAreaEdges+Shadow, remove Visual category Dec 5, 2025
Copilot finished work on behalf of PureWeen December 5, 2025 17:09
@PureWeen
Copy link
Member

PureWeen commented Dec 5, 2025

/azp run MAUI-UITests-public

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@PureWeen
Copy link
Member

PureWeen commented Dec 5, 2025

@copilot

combine Lifecycle with ManualReview,Maps
combine Window with ViewBaseTests
combine Cells,CheckBox,ContextActions,CustomRenderers with DatePicker,Dispatcher,DisplayAlert,DisplayPrompt,DragAndDrop

…indow, Cells+DatePicker groups

Co-authored-by: PureWeen <[email protected]>
Copy link
Contributor Author

Copilot AI commented Dec 5, 2025

@copilot

combine Lifecycle with ManualReview,Maps
...

Done in commit 973d97f.

Combined category groups:

  1. Lifecycle,ManualReview,Maps
  2. ViewBaseTests,Window
  3. Cells,CheckBox,ContextActions,CustomRenderers,DatePicker,Dispatcher,DisplayAlert,DisplayPrompt,DragAndDrop

Total category groups reduced from 26 to 23.

Copilot AI changed the title Optimize UITest category groups: split for parallelization, combine SafeAreaEdges+Shadow, remove Visual category Optimize UITest category groups: split, combine, and remove Visual category Dec 5, 2025
Copilot finished work on behalf of PureWeen December 5, 2025 20:33
@PureWeen
Copy link
Member

PureWeen commented Dec 5, 2025

/azp run MAUI-UITests-public

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@PureWeen PureWeen marked this pull request as ready for review December 5, 2025 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants