Skip to content

Narrow browser WASM R2R test exclusions - #133310

Merged
lewing merged 6 commits into
mainfrom
lewing-disable-failing-tests
Sep 6, 2026
Merged

Narrow browser WASM R2R test exclusions#133310
lewing merged 6 commits into
mainfrom
lewing-disable-failing-tests

Conversation

@lewing

@lewinglewing commented Sep 5, 2026

Copy link
Copy Markdown
Member

Summary

Narrowly suppress the confirmed WASM ReadyToRun failure shapes tracked by #131886, #133259, #133303, and #133307 so the browser R2R lane can be restored without losing interpreter or unaffected-platform coverage.

  • use method-level ActiveIssue conditions for Runtime_79354 and Runtime_58874, scoped to WASM R2R
  • treat an empty Assembly.Location as an unsupported premise in Runtime_117566, following review feedback from [WIP] Fix test failure for Regression_o_2 browser-wasm R2R incompatibilities #133274
  • mark the merged Interop work item R2R-incompatible on CoreCLR Wasm because Crossgen2 aborts before execution while resolving TypeMapApp metadata
  • skip only the failing generic multidimensional-array subtest in the manual Crossgen2 smoke runner, using PlatformDetection.IsWasm and PlatformDetection.IsReadyToRunCompiled

This intentionally does not suppress #133219, #133221, #133224, #133286, or the remaining unclassified failure shapes in #133305. Exact-base R2R evidence shows b125091 now passes, and the current-main R2R baseline also shows pinnedlocal passing when reached.

Testing

  • built all affected standalone and merged runtime-test projects
  • ran the affected local non-R2R wrapper scripts
  • inspected generated merged-runner conditions for the method-level exclusions
  • exact-base browser R2R baseline Enable browser WASM R2R tests in manual pipeline #133308 reproduced every retained target failure while b125091 passed
  • ordinary browser-WASM CI executed and passed all affected tests, including all 70 ReadyToRun smoke subtests
  • purpose-built WASI comparison reproduced the Runtime_79354, Runtime_117566, Runtime_58874, and generic multidimensional-array R2R failures while their interpreter controls passed
  • applying the exact Runtime_117566 empty-location guard on WASI made both interpreter and R2R executions pass
  • purpose-built WASI comparison confirmed the full Interop composite aborts before execution while TypeMapApp individually compiles and passes
  • regenerated WASI Interop with the parent R2RIncompatible property: interpreter ran 57/57 and R2R skipped before compilation with exit 0
  • confirmed the merged Interop exclusion is set for browser-wasm and wasi-wasm but unset for native targets

The broader WASI work items remain outside the curated lane: Regression_o_3 has three additional Assembly.Location failures, and Regression_1 later aborts in csharptester, even though b125091 itself passes.

Note

This pull request was created with GitHub Copilot assistance.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI lite review requested due to automatic review settings September 5, 2026 18:32
@github-actionsgithub-actionsBot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Sep 5, 2026
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

CopilotAI 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.

🟡 Changes recommended

One change makes a test silently pass via early-return when Assembly.Location is empty; it should be an explicit skip (or fail-fast outside the intended platform) to avoid masking regressions.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This pull request narrows browser-WASM ReadyToRun (R2R) test suppressions to specific known-failing scenarios so the R2R lane can be re-enabled while preserving coverage elsewhere.

Changes:

  • Skip the TestGenericMDArrayBehavior crossgen2 smoke subtest only for browser + R2R execution.
  • Apply method-level ActiveIssue conditions for specific xUnit regression tests that fail only under browser + R2R.
  • Mark TypeMapApp as R2R-incompatible only for CoreCLR browser builds to avoid crossgen2 compile-time failure.
File summaries
FileDescription
src/tests/readytorun/crossgen2/Program.csConditionally avoids running the generic MD-array behavior test under browser R2R.
src/tests/JIT/Regression/JitBlue/Runtime_79354/Runtime_79354.csAdds ActiveIssue gating for browser R2R.
src/tests/JIT/Regression/JitBlue/Runtime_58874/Runtime_58874.csAdds ActiveIssue gating for browser R2R.
src/tests/JIT/Regression/JitBlue/Runtime_117566/Runtime_117566.csAvoids LoadFromAssemblyPath when Assembly.Location is empty.
src/tests/JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b125091/b125091.ilAdds ActiveIssue gating for browser R2R in the IL test.
src/tests/Interop/TypeMap/TypeMapApp.csprojMarks the TypeMap test app as R2R-incompatible only for CoreCLR browser builds.
Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 1
  • Review effort level: Lite

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

Copy link
Copy Markdown
MemberAuthor

I opened #133308 to allow testing against partial disabling while we work through the issues

@lewinglewing added arch-wasm WebAssembly architecture os-browser Browser variant of arch-wasm labels Sep 5, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara
See info in area-owners.md if you want to be subscribed.

Comment threadsrc/tests/readytorun/crossgen2/Program.cs Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings September 5, 2026 22:07

CopilotAI 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.

🟡 Changes recommended

The new browser+R2R guard skips the entire TestGenericMDArrayBehavior test (multiple sub-checks), which is broader than the intended “single failing subtest” suppression and unnecessarily drops coverage.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment threadsrc/tests/readytorun/crossgen2/Program.cs
Comment threadsrc/tests/readytorun/crossgen2/Program.cs Outdated
Comment threadsrc/tests/JIT/Regression/JitBlue/Runtime_79354/Runtime_79354.cs Outdated
Comment threadsrc/tests/JIT/Regression/JitBlue/Runtime_58874/Runtime_58874.cs Outdated
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings September 5, 2026 22:21
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

CopilotAI 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.

🟡 Changes recommended

Interop.csproj’s new R2RIncompatible condition currently applies to all CoreCLR WASM targets (not browser-only), which conflicts with the stated intent and risks dropping WASI R2R coverage unintentionally.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment threadsrc/tests/Interop/Interop.csproj
CopilotAI review requested due to automatic review settings September 5, 2026 22:33
@lewing

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-wasm-non-libtests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

CopilotAI 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.

🟢 Approval recommended

The changes are narrowly scoped to test gating/infrastructure for known WASM R2R failures, with only a minor maintainability improvement suggested around making the smoke-test skip explicit in output.

Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 1
  • Review effort level: Lite

Comment threadsrc/tests/readytorun/crossgen2/Program.cs
@lewing
lewing merged commit 0a0e4a7 into mainSep 6, 2026
86 of 91 checks passed
@lewing
lewing deleted the lewing-disable-failing-tests branch September 6, 2026 00:44
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

arch-wasmWebAssembly architecturearea-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIos-browserBrowser variant of arch-wasm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@lewing@jkotas