Skip to content

[test-quarantine] Quarantine ServerVirtualizationTest.DynamicContent_PrependItemsWhileScrolledToMiddle_VisibleItemsStayInPlace#66312

Merged
ilonatommy merged 2 commits intomainfrom
quarantine/server-virtualization-dynamic-content-prepend-140c6fc65d0f3538
Apr 14, 2026
Merged

[test-quarantine] Quarantine ServerVirtualizationTest.DynamicContent_PrependItemsWhileScrolledToMiddle_VisibleItemsStayInPlace#66312
ilonatommy merged 2 commits intomainfrom
quarantine/server-virtualization-dynamic-content-prepend-140c6fc65d0f3538

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Quarantines ServerVirtualizationTest.DynamicContent_PrependItemsWhileScrolledToMiddle_VisibleItemsStayInPlace which is flaky in server-execution mode.

Changes

  1. Makes DynamicContent_PrependItemsWhileScrolledToMiddle_VisibleItemsStayInPlace virtual in VirtualizationTest.cs (base class — WASM/static variant passes fine and is unaffected)
  2. Adds a quarantined override in ServerVirtualizationTest in TestSubclasses.cs following the same pattern as other quarantined server-only test overrides

Failure summary

  • 4 failures in the components-e2e pipeline (definition 87)
  • Assert.True() Failure — timing race in server-side Blazor when prepending items

Tracking issue: https://github.com/dotnet/aspnetcore/issues/#66308

Note

🔒 Integrity filter blocked 22 items

The following items were blocked because they don't meet the GitHub integrity level.

  • #66271 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66251 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66239 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66228 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66172 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66168 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66159 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66137 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66135 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66092 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66084 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66061 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #66060 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #65893 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #65891 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #65880 search_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • ... and 6 more items

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

Generated by Daily Test Quarantine Management · ● 11.7M ·

…crolledToMiddle_VisibleItemsStayInPlace

Test has failed 4 times in pipeline 87. Server-only flakiness (base
VirtualizationTest passes). Add virtual modifier to base class and quarantine
override in ServerVirtualizationTest.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot requested a review from a team as a code owner April 14, 2026 11:02
@ilonatommy ilonatommy self-assigned this Apr 14, 2026
@github-actions github-actions Bot added the needs-area-label Used by the dotnet-issue-labeler to label those issues which couldn't be triaged automatically label Apr 14, 2026
@ilonatommy ilonatommy added area-blazor Includes: Blazor, Razor Components and removed needs-area-label Used by the dotnet-issue-labeler to label those issues which couldn't be triaged automatically labels Apr 14, 2026
@ilonatommy ilonatommy added this to the .NET 11 Planning milestone Apr 14, 2026
@ilonatommy ilonatommy merged commit eb4ede4 into main Apr 14, 2026
31 checks passed
@ilonatommy ilonatommy deleted the quarantine/server-virtualization-dynamic-content-prepend-140c6fc65d0f3538 branch April 14, 2026 13:15
ilonatommy added a commit to ilonatommy/aspnetcore that referenced this pull request Apr 14, 2026
…e, restore missing PrependItems quarantine

The merge from main incorrectly re-introduced a quarantine for
CanElevateEffectiveMaxItemCount_WhenOverscanExceedsMax (dotnet#65962) which
was already fixed and unquarantined by dotnet#66291 on main. It also dropped
the DynamicContent_PrependItemsWhileScrolledToMiddle quarantine (dotnet#66308)
that was added by dotnet#66312 on main.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ilonatommy added a commit that referenced this pull request Apr 17, 2026
…re test setup (#66290)

* Stabilize NonZeroStartIndex_ScrollToMiddleThenMeasure E2E test setup

Apply the same retry-based scroll stabilization pattern from PR #66194
to NonZeroStartIndex_ScrollToMiddleThenMeasure. The test was racing in
server mode because it set scrollTop and then immediately checked the
rendered items, but the async virtualization update had not finished yet.

The fix computes the target offset up front, then retries both the
scroll assignment and the rendered-index check inside a single
Browser.True() loop before calling WaitForScrollStabilization.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Apply review feedback: fix spacing and reuse ScrollToOffsetWithStabilization helper

- Fix missing space around = in targetScrollTop assignment
- Extract scroll+retry logic into generalized ScrollToOffsetWithStabilization overload
- Reuse the helper in NonZeroStartIndex_ScrollToMiddleThenMeasure instead of duplicating

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix bad merge: remove stale CanElevateEffectiveMaxItemCount quarantine, restore missing PrependItems quarantine

The merge from main incorrectly re-introduced a quarantine for
CanElevateEffectiveMaxItemCount_WhenOverscanExceedsMax (#65962) which
was already fixed and unquarantined by #66291 on main. It also dropped
the DynamicContent_PrependItemsWhileScrolledToMiddle quarantine (#66308)
that was added by #66312 on main.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Use MutationObserver instead of scroll retry loop in NonZeroStartIndex test

Replace the retry-based ScrollToOffsetWithStabilization call with a
single scrollTop assignment followed by a MutationObserver that waits
for Blazor's DOM update to settle. This makes the test more
deterministic: it scrolls once and waits for the effect, rather than
retrying the scroll which could mask real bugs where the component
fails to handle the initial scroll correctly.

The MutationObserver waits for a 200ms quiet period after the last
DOM mutation, with a 2s fallback timeout. After that, scroll position
stabilization is verified, and the item index assertion is a hard
assert (not a retry loop).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-blazor Includes: Blazor, Razor Components test-failure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant