From 6fc80d66a4be72867da257e512ef3e7c861ddafb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 25 Mar 2026 10:40:23 +0000 Subject: [PATCH 1/2] Quarantine ServerRoutingTest and ServerVirtualizationTest flaky tests ServerRoutingTest.NavigationLock_OverlappingNavigationsCancelExistingNavigations_HistoryNavigation failed 18 times in the components-e2e pipeline over the last 30 days. Associated issue: #65960 ServerVirtualizationTest.CanRenderHtmlTable and CanElevateEffectiveMaxItemCount_WhenOverscanExceedsMax failed 2 and 4 times respectively in the components-e2e pipeline. Associated issue: #65961 The xUnit QuarantinedTest attribute is not automatically inherited by server-side test subclasses. Adding explicit virtual overrides to apply the quarantine attribute to the server execution variants. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../E2ETest/ServerExecutionTests/TestSubclasses.cs | 12 ++++++++++++ src/Components/test/E2ETest/Tests/RoutingTest.cs | 2 +- .../test/E2ETest/Tests/VirtualizationTest.cs | 4 ++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs b/src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs index bfae1173f677..bbe2b94c2dc1 100644 --- a/src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs +++ b/src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs @@ -42,6 +42,10 @@ public ServerRoutingTest(BrowserFixture browserFixture, ToggleExecutionModeServe : base(browserFixture, serverFixture.WithServerExecution(), output) { } + + [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/61080")] + public override void NavigationLock_OverlappingNavigationsCancelExistingNavigations_HistoryNavigation() + => base.NavigationLock_OverlappingNavigationsCancelExistingNavigations_HistoryNavigation(); } public class ServerCascadingValueTest : CascadingValueTest @@ -90,6 +94,14 @@ public ServerVirtualizationTest(BrowserFixture browserFixture, ToggleExecutionMo : base(browserFixture, serverFixture.WithServerExecution(), output) { } + + [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/65852")] + public override void CanRenderHtmlTable() + => base.CanRenderHtmlTable(); + + [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/65852")] + public override void CanElevateEffectiveMaxItemCount_WhenOverscanExceedsMax() + => base.CanElevateEffectiveMaxItemCount_WhenOverscanExceedsMax(); } public class ServerDynamicComponentRenderingTest : DynamicComponentRenderingTest diff --git a/src/Components/test/E2ETest/Tests/RoutingTest.cs b/src/Components/test/E2ETest/Tests/RoutingTest.cs index 0cdefdf53d89..fcbd3e381897 100644 --- a/src/Components/test/E2ETest/Tests/RoutingTest.cs +++ b/src/Components/test/E2ETest/Tests/RoutingTest.cs @@ -971,7 +971,7 @@ public void NavigationLock_OverlappingNavigationsCancelExistingNavigations_PushS [Fact] [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/61080")] - public void NavigationLock_OverlappingNavigationsCancelExistingNavigations_HistoryNavigation() + public virtual void NavigationLock_OverlappingNavigationsCancelExistingNavigations_HistoryNavigation() { SetUrlViaPushState("/"); diff --git a/src/Components/test/E2ETest/Tests/VirtualizationTest.cs b/src/Components/test/E2ETest/Tests/VirtualizationTest.cs index fa40f512f31c..92f25b27210f 100644 --- a/src/Components/test/E2ETest/Tests/VirtualizationTest.cs +++ b/src/Components/test/E2ETest/Tests/VirtualizationTest.cs @@ -252,7 +252,7 @@ public async Task ToleratesIncorrectItemSize() [Fact] [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/65852")] - public void CanRenderHtmlTable() + public virtual void CanRenderHtmlTable() { Browser.MountTestComponent(); var expectedInitialSpacerStyle = "height: 0px; flex-shrink: 0;"; @@ -612,7 +612,7 @@ public void EmptyContentRendered_Async() [Fact] [QuarantinedTest("https://github.com/dotnet/aspnetcore/issues/65852")] - public void CanElevateEffectiveMaxItemCount_WhenOverscanExceedsMax() + public virtual void CanElevateEffectiveMaxItemCount_WhenOverscanExceedsMax() { Browser.MountTestComponent(); var container = Browser.Exists(By.Id("virtualize-large-overscan")); From c570ae9eea2e0ddb15f3330262ed6f7f05cfe343 Mon Sep 17 00:00:00 2001 From: William Godbe Date: Wed, 25 Mar 2026 09:34:39 -0700 Subject: [PATCH 2/2] Add missing using directive for InternalTesting --- .../test/E2ETest/ServerExecutionTests/TestSubclasses.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs b/src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs index bbe2b94c2dc1..c766e26b0051 100644 --- a/src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs +++ b/src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures; using Microsoft.AspNetCore.Components.E2ETest.Tests; using Microsoft.AspNetCore.E2ETesting; +using Microsoft.AspNetCore.InternalTesting; using Xunit.Abstractions; namespace Microsoft.AspNetCore.Components.E2ETest.ServerExecutionTests;