Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sample-by-sample leak tests #10360

Open
MartinZikmund opened this issue Nov 7, 2022 · 1 comment
Open

Sample-by-sample leak tests #10360

MartinZikmund opened this issue Nov 7, 2022 · 1 comment
Labels
area/automation Categorizes an issue or PR as relevant to project automation area/performance 📈 Categorizes an issue or PR as relevant to performance difficulty/medium 🤔 Categorizes an issue for which the difficulty level is reachable with a good understanding of WinUI kind/enhancement New feature or request project/core-tools 🛠️ Categorizes an issue or PR as relevant to core and tools

Comments

@MartinZikmund
Copy link
Member

What would you like to be added:

Currently we have memory leak tests which verify very simple scenarios (e.g. default properties of each control). However, we already have samples app full of varied and extensive sample pages, each of them showcasing various controls and their features in detail. We could potentially run memory leak tests against each (or some - as some may be leaking intentionally), which would give us comprehensive account of whether controls/APIs leak memory in some real-world scenarios.

The test could just load and unload the sample page and verify whether anything remained in the memory after several GC collections.

Why is this needed:

Memory and perf.

For which Platform:

All

@MartinZikmund MartinZikmund added kind/enhancement New feature or request triage/untriaged Indicates an issue requires triaging or verification difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. area/automation Categorizes an issue or PR as relevant to project automation difficulty/medium 🤔 Categorizes an issue for which the difficulty level is reachable with a good understanding of WinUI and removed triage/untriaged Indicates an issue requires triaging or verification difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. labels Nov 7, 2022
@jeromelaban jeromelaban added the project/core-tools 🛠️ Categorizes an issue or PR as relevant to core and tools label Nov 8, 2022
@MartinZikmund
Copy link
Member Author

MartinZikmund commented Nov 9, 2022

Compiled a list of samples that currently either fail or leak. Very rudimentary test draft here - https://github.com/unoplatform/uno/tree/dev/mazi/extra-leak-tests

UITests.Shared.Windows_UI_Xaml.Enability.BasicEnability
UITests.Shared.Windows_UI_Xaml.ThemeResources.BasicThemeResources
UITests.Windows_Devices.Power.Battery
MUXControlsTestApp.BreadcrumbBarPage
UITests.Shared.Windows_UI_Xaml_Controls.ChatBox.ChatBox
UITests.Shared.Windows_UI_Xaml_Controls.ComboBox.ComboBox_SelectedIndex
Uno.UI.Samples.Content.UITests.ButtonTestsControl.ComboBox_Simple
UITests.Shared.Windows_UI_Xaml_Controls.ComboBox.ComboBox_Virtualizing
SamplesApp.Wasm.Windows_UI_Xaml_Controls.ComboBox.ComboBox_With_ItemContainerStyle
UITests.Shared.Windows_UI_Input.VisualStatesTests.ComboBoxItem
Uno.UI.Samples.Content.UITests.DoubleAnimationTestsControl
UITests.Windows_UI_Xaml.DragAndDrop.DragDrop_ListView_Selection
UITests.Windows_UI_Xaml.DragAndDrop.DragDrop_TestPage
UITests.Shared.Microsoft_UI_Xaml_Controls.ExpanderTests.ExpanderColorValidationPage
UITests.Windows_UI_Xaml_Media_Animation.FadeInOutThemeAnimationPage
UITests.Shared.Windows_Storage.Pickers.FileSavePickerTests
UITests.Windows_UI_Xaml_Controls.FlipView.FlipView_Buttons
UITests.Windows_UI_Xaml_Controls.FlipView.FlipView_Images
UITests.Windows_UI_Xaml_Controls.Repeater.FlowLayout_Simple
SamplesApp.Samples.Microsoft_UI_Xaml_Controls.NavigationViewTests.FluentStyle.FluentStyle_NavigationViewSample
UITests.Shared.Windows_UI_Xaml_Controls.Flyout.Flyout_Attached
Uno.UI.Samples.Content.UITests.FocusTests.FocusManager_GetFocus_Automated
UITests.Windows_Storage.Pickers.FolderPickerTests
UITests.Shared.Windows_UI_Xaml_Controls.GridTestsControl.Grid_with_OutOfRange_Cells
MUXControlsTestApp.HierarchicalNavigationViewMarkup
UITests.Windows_UI_Xaml_Controls.ImageTests.Image_Formats
UITests.Shared.Windows_UI_Xaml_Controls.ImageTests.Image_ImageSource_PixelSize
UITests.Windows_UI_Xaml_Media.ImageBrushTests.ImageBrush_Formats
UITests.Shared.Windows_UI_Xaml_Media.ImageBrushTests.ImageBrush_SameWithDelay
UITests.Microsoft_UI_Xaml_Controls.ImageIconTests.ImageIconPage
Uno.UI.Samples.UITests.ImageTestsControl.ImagesInlineInFlipView
Uno.UI.Samples.UITests.ImageTestsControl.ImageSourceStream
UITests.Windows_UI_Xaml_Controls.ImageTests.ImageSourceUrlMsAppDataScheme
UITests.Microsoft_UI_Xaml_Controls.InfoBadgeTests.InfoBadgePage
UITests.Shared.Windows_Globalization.Language_Properties
UITests.Windows_UI_Xaml_Controls.ListView.ListView_ObservableCollection_CreationCount
UITests.Shared.Windows_UI_Xaml_Controls.ListView_OwnContainer_Virtualized
SamplesApp.Windows_UI_Xaml_Controls.ListView.ListView_Padding_Unconstrained
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_3gp_Extension
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_Avi_Extension
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_Flv_Extension
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_Full
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_Minimal
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_Mkv_Extension
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_Mov_Extension
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_Ogg_Extension
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_Original
UITests.Shared.Windows_UI_Xaml_Controls.MediaPlayerElement.MediaPlayerElement_Stretch_Fill
UITests.Shared.Windows_Devices.Midi.MidiDeviceEnumerationTests
UITests.Windows_Devices.Midi.MidiDeviceInput
UITests.Shared.Windows_Devices.Midi.MidiDeviceOutputTests
UITests.Windows_Storage.NativeStorageRuntimeTests
SamplesApp.Samples.Windows_UI_Xaml_Controls.NavigationViewTests.NavigationView_BasicNavigation
SamplesApp.Samples.Windows_UI_Xaml_Controls.NavigationViewTests.NavigationView_Pane_Automated
UITests.Shared.Windows_UI_Xaml_Controls.NavigationViewTests.NavigationView_TopNavigation
MUXControlsTestApp.NavigationViewAnimationPage
UITests.Microsoft_UI_Xaml_Controls.NavigationViewTests.NavigationViewBasicPage
MUXControlsTestApp.NavigationViewBlankPage1
MUXControlsTestApp.NavigationViewCompactPaneLengthTestPage
MUXControlsTestApp.NavigationViewCustomThemeResourcesPage
MUXControlsTestApp.NavigationViewInfoBadgeTestPage
MUXControlsTestApp.NavigationViewIsPaneOpenPage
MUXControlsTestApp.NavigationViewItemTemplatePage
MUXControlsTestApp.NavigationViewMenuItemStretchPage
MUXControlsTestApp.NavigationViewMinimalPage
MUXControlsTestApp.NavigationViewPage
MUXControlsTestApp.NavigationViewRS3Page
MUXControlsTestApp.NavigationViewRS4Page
SamplesApp.Samples.NavigationViewSample.NavigationViewSample
MUXControlsTestApp.NavigationViewSelectedItemEdgeCasePage
MUXControlsTestApp.NavigationViewStretchPage
MUXControlsTestApp.NavigationViewTopNavOnlyPage
MUXControlsTestApp.NavigationViewTopNavOverflowButtonPage
MUXControlsTestApp.NavigationViewTopNavPage
MUXControlsTestApp.PaneLayoutTestPage
UITests.Shared.Windows_System.Power.PowerManager
SamplesApp.Wasm.Windows_UI_Core.SetCursor
UITests.Windows_UI_Xaml_Controls.Repeater.StackLayout_Simple
MUXControlsTestApp.SwipeControlPage2
UITests.Shared.Windows_UI_Xaml_Controls.TextBoxControl.TextBox_Binding_Null
UITests.Windows_UI_Xaml_Controls.TextBox.TextBox_Bindings
UITests.Windows_UI_Xaml_Controls.TextBox.TextBox_IsTabStop
UITests.Shared.Microsoft_UI_Xaml_Controls.TreeViewTests.TreeViewPage
UITests.Shared.Microsoft_UI_Xaml_Controls.TwoPaneViewTests.TwoPaneViewPage
UITests.Windows_UI_Xaml.UIElementTests.UIElement_BringIntoView_ListView
UITests.Windows_UI_Xaml.UIElementTests.UIElement_InitializationSequence
SamplesApp.Samples.UnitTests.UnitTestsPage
UITests.Shared.Microsoft_UI_Xaml_Controls.ExpanderTests.WinUIExpanderPage
UITests.Microsoft_UI_Xaml_Controls.ProgressBar.WinUIProgressBarSimple
UITests.Microsoft_UI_Xaml_Controls.ProgressRing.WinUIProgressRing_CustomSources
UITests.Microsoft_UI_Xaml_Controls.ProgressRing.WinUIProgressRing_Features
UITests.Microsoft_UI_Xaml_Controls.ProgressRing.WinUIProgressRing_Slider
UITests.Windows_UI_Xaml_Controls.ImageTests.WriteableBitmap_MultiInvalidate
SamplesApp.Windows_UI_Xaml.Clipping.XamlButtonWithClipping
SamplesApp.Windows_UI_Xaml.Clipping.XamlButtonWithClipping_Scrollable
UITests.Shared.Windows_UI_Xaml.FrameworkElementTests.XamlEvent_Leak
UITests.Shared.Windows_UI_Xaml.xBindTests.xBind_Field
Uno.UI.Samples.Content.UITests.XBind.XBind_Simple
UITests.Windows_UI_Xaml.xLoadTests.xLoad_Test_For_Leak
UITests.Windows_UI_Xaml.xLoadTests.xLoad_xBind
Uno.UI.Samples.UITests.BorderTestsControl.ZeroThickness
Uno.UI.Samples.UITests.BorderTestsControl.ZeroThicknessWithRadius
GitHub
Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported. - GitHub - unoplatform/uno at dev/mazi/extra-leak-tests

@MartinZikmund MartinZikmund added the area/performance 📈 Categorizes an issue or PR as relevant to performance label Aug 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/automation Categorizes an issue or PR as relevant to project automation area/performance 📈 Categorizes an issue or PR as relevant to performance difficulty/medium 🤔 Categorizes an issue for which the difficulty level is reachable with a good understanding of WinUI kind/enhancement New feature or request project/core-tools 🛠️ Categorizes an issue or PR as relevant to core and tools
Projects
None yet
Development

No branches or pull requests

2 participants