Skip to content

Unquarantine AddValidationIntegrationTest.FormWithNestedValidation_Works - #68280

Open
oroztocil wants to merge 1 commit into
mainfrom
copilot/unquarantine-form-with-nested-validation
Open

Unquarantine AddValidationIntegrationTest.FormWithNestedValidation_Works#68280
oroztocil wants to merge 1 commit into
mainfrom
copilot/unquarantine-form-with-nested-validation

Conversation

@oroztocil

Copy link
Copy Markdown
Member

Reverts c10ee0e (#68224), which quarantined AddValidationIntegrationTest.FormWithNestedValidation_Works.

The quarantine was based on stale CI data. The test is not flaky and MEV activation is not broken.

The cited failures are all from before the fix

Issue #68223 lists four failing builds. All of them ran on 2026-07-08, and none of them contain the fix commit 0c3e825607 (#67680), which merged on 2026-07-08 at 19:48 UTC.

Build Queue time (UTC) Commit Contains #67680
1499278 2026-07-08 12:08 3e156e1a74 (#67636, the regression itself) No
1499615 2026-07-08 14:22 12fe5679d8 No
1499768 2026-07-08 15:50 4b9040ecc8 No
1500081 2026-07-08 19:20 cb1ac26bbd No

These are the same builds already tracked by #67699, which was closed once #67680 merged. Issue #68223 effectively re-filed an already resolved problem a month later.

For contrast, the sibling issue #68226, generated by the same Daily Test Quarantine Management workflow run, cites genuinely recent builds (1531284, 1537634). So only this one issue picked up stale data.

The original failure was deterministic, not a race

Both #67699 and #68223 describe the failure as a timing or rendering race. It was not.

PR #67636 removed generator discovery of Microsoft.Extensions.Validation.Embedded.ValidatableTypeAttribute from ValidationsGenerator. The test model OrderModel was annotated with an unqualified [ValidatableType] that bound to that SDK embedded attribute, so after #67636 the generator stopped emitting validatable type info for it.

Without a source generated resolver, DataAnnotationsValidator fell back to the plain System.ComponentModel.DataAnnotations.Validator path, which does not recurse into nested complex properties. That produces exactly the observed result: only the top level Order Name is required. message, and nothing from CustomerModel, AddressModel, or OrderItemModel.

PR #67680 fixed it by fully qualifying the attribute to [Microsoft.Extensions.Validation.ValidatableType]. That annotation is still in place today (src/Components/test/testassets/Components.TestServer/RazorComponents/ValidationModels/OrderModel.cs), and ValidationsGenerator.cs still discovers Microsoft.Extensions.Validation.ValidatableTypeAttribute.

Separately, #67702 added src/Validation/* to the aspnetcore-components-e2e path triggers, so MEV changes now run these E2E tests on the PR.

The test has been green since

Across all 127 aspnetcore-components-e2e builds on main between 2026-07-09 and the quarantine on 2026-08-05, FormWithNestedValidation does not appear in any build log. The test name is only emitted on failure, so zero occurrences means zero failures.

The 17 builds that failed in that window failed for unrelated reasons: Mono leg failures, 120 minute agent timeouts, and other already quarantined tests.

Spot checks immediately before the quarantine:

Build Date Result
1538405 2026-08-03 Run E2E tests passed, only quarantined legs failed
1540079 2026-08-04 Run E2E tests passed, only quarantined legs failed
1540791 2026-08-05 12:55 Run E2E tests passed, only quarantined legs failed

And after the quarantine landed, 1541387 (2026-08-05 18:07, includes c10ee0eb58) ran the test in the quarantined leg and it passed there too.

Change

Removes the [QuarantinedTest] attribute and the now unused Microsoft.AspNetCore.InternalTesting using directive.

Closes #68223

Reverts c10ee0e (#68224).

The quarantine was based on stale CI data. All four builds cited in #68223
(1499278, 1499615, 1499768, 1500081) ran on 2026-07-08, before the fix in
#67680 landed. The test has not failed on main since.

Closes #68223

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 27921814-71c2-4b25-a2e5-54a637a17759

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This pull request unquarantines AddValidationIntegrationTest.FormWithNestedValidation_Works by removing the quarantine attribute that was added based on stale CI failure data, restoring the test to the normal (non-quarantined) test run.

Changes:

  • Removed the [QuarantinedTest(...)] attribute from FormWithNestedValidation_Works.
  • Removed the now-unused Microsoft.AspNetCore.InternalTesting using directive.

@oroztocil oroztocil added this to the 11.0-rc1 milestone Aug 7, 2026
@oroztocil oroztocil added the area-blazor Includes: Blazor, Razor Components label Aug 7, 2026
@oroztocil

Copy link
Copy Markdown
Member Author

Let's merge this on Monday so we avoid the bot spawning the issue again. Last failure will be > 30 days ago on Monday.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Quarantine AddValidationIntegrationTest.FormWithNestedValidation_Works

2 participants