Skip to content

[wasm][coreclr] Enable priority1 runtime tests in outerloop#127438

Merged
radekdoulik merged 12 commits into
dotnet:mainfrom
radekdoulik:wasm-coreclr-rt-outerloop
May 12, 2026
Merged

[wasm][coreclr] Enable priority1 runtime tests in outerloop#127438
radekdoulik merged 12 commits into
dotnet:mainfrom
radekdoulik:wasm-coreclr-rt-outerloop

Conversation

@radekdoulik
Copy link
Copy Markdown
Member

@radekdoulik radekdoulik commented Apr 26, 2026

Disable few more MT tests

Decorate and exclude failing tests

The outerloop priority 1 tests improve our coverage of runtime tests on CI. Currently we have priority0 on every PR, outerloop is run less frequently and has higher number of tests.

Pri0: 3,998 total — 3,638 passed, 0 failed, 360 skipped
Pri1: 14,085 total — 13,679 passed, 0 failed, 406 skipped

When the remaining issue will be fixed, we can have:

Pri1: 14,978 total — 14,593 passed, 0 failed, 385 skipped)

The outerloop red state is not blocking PRs and other platforms are not green either. So I think we don't need to block this PR on remaining failure (#127426).

Disable few more MT tests

Decorate and exclude failing tests
@radekdoulik radekdoulik added this to the Future milestone Apr 26, 2026
@radekdoulik radekdoulik added the arch-wasm WebAssembly architecture label Apr 26, 2026
Copilot AI review requested due to automatic review settings April 26, 2026 19:31
@radekdoulik radekdoulik added the area-Infrastructure-coreclr Only use for closed issues label Apr 26, 2026
@radekdoulik
Copy link
Copy Markdown
Member Author

/azp run ci

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

@radekdoulik
Copy link
Copy Markdown
Member Author

/azp run runtime-coreclr-outerloop

@azure-pipelines
Copy link
Copy Markdown

No pipelines are associated with this pull request.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates CoreCLR/wasm outerloop coverage by adding a browser-wasm checked build + outerloop runtime test run to the CoreCLR CI pipeline, while suppressing known-failing scenarios on Browser/wasm and non-multithreaded environments.

Changes:

  • Add browser_wasm checked build artifact production and a corresponding outerloop runtime test run to eng/pipelines/coreclr/ci.yml.
  • Gate several multithreading-dependent tests with ConditionalFact(...IsMultithreadingSupported) and add required TestLibrary references.
  • Exclude/disable specific known-failing tests on Browser/wasm (ActiveIssue + conditional Compile/MergedWrapperProjectReference removals).

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
eng/pipelines/coreclr/ci.yml Adds browser-wasm checked build + outerloop test run jobs for CoreCLR CI.
src/tests/Loader/classloader/MethodImpl/Desktop/self_override5.il Adds Browser-only ActiveIssue to disable a known failing loader test on Browser.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_add.cs Gates test on multithreading support via ConditionalFact.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_sub.cs Gates test on multithreading support via ConditionalFact.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_mul.cs Gates test on multithreading support via ConditionalFact.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_div.cs Gates test on multithreading support via ConditionalFact.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_mod.cs Gates test on multithreading support via ConditionalFact.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_xor.cs Gates test on multithreading support via ConditionalFact.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_or.cs Gates test on multithreading support via ConditionalFact.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_and.cs Gates test on multithreading support via ConditionalFact.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_shr.cs Gates test on multithreading support via ConditionalFact.
src/tests/JIT/jit64/opt/cse/VolatileTest.csproj Adds TestLibrary project reference to support new PlatformDetection usage.
src/tests/JIT/Methodical/Methodical_ro.csproj Excludes a known failing callconv test on Browser via Condition.
src/tests/JIT/Methodical/Methodical_do.csproj Excludes a known failing callconv test on Browser via Condition.
src/tests/JIT/Methodical/Methodical_r2.csproj Removes specific wrapper test projects on Browser and excludes call.cs via Condition.
src/tests/JIT/Methodical/Methodical_d2.csproj Removes specific wrapper test projects on Browser and excludes call.cs via Condition.
src/tests/JIT/Directed/tailcall/mutual_recursion.fs Adds Browser-only ActiveIssue to disable a known failing tailcall test on Browser.
src/tests/CoreMangLib/system/span/RefStructWithSpan.cs Gates a multithreaded stress test on multithreading support via ConditionalFact.
src/tests/CoreMangLib/CoreMangLib.csproj Adds TestLibrary project reference to support new PlatformDetection usage.

Comment thread eng/pipelines/coreclr/ci.yml Outdated
@radekdoulik
Copy link
Copy Markdown
Member Author

@akoeplinger @jkoritzinsky how can I test the changes in ci.yml?

@jkoritzinsky
Copy link
Copy Markdown
Member

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copilot AI review requested due to automatic review settings April 27, 2026 11:05
@radekdoulik
Copy link
Copy Markdown
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adjusts CoreCLR WASM outerloop coverage by enabling browser_wasm Priority1 runtime test execution while suppressing known-failing tests (mainly browser/interpreter and single-threaded WASM constraints).

Changes:

  • Enable CoreCLR outerloop runs for browser_wasm in the CoreCLR CI pipeline (build + test run jobs).
  • Guard multithreaded tests with IsMultithreadingSupported and add needed TestLibrary project references.
  • Exclude/skip known failing tests on Browser/WASM via ActiveIssue and csproj conditional excludes.

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/tests/Loader/classloader/MethodImpl/Desktop/self_override5.il Adds ActiveIssue skip on Browser for a known failure.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_xor.cs Switches to ConditionalFact gated on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_sub.cs Switches to ConditionalFact gated on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_shr.cs Switches to ConditionalFact gated on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_or.cs Switches to ConditionalFact gated on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_mul.cs Switches to ConditionalFact gated on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_mod.cs Switches to ConditionalFact gated on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_div.cs Switches to ConditionalFact gated on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_and.cs Switches to ConditionalFact gated on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_add.cs Switches to ConditionalFact gated on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest.csproj Adds TestLibrary reference to support PlatformDetection usage.
src/tests/JIT/Methodical/Methodical_ro.csproj Excludes a known failing source file on browser builds.
src/tests/JIT/Methodical/Methodical_r2.csproj Excludes known failing browser/interpreter projects and source file.
src/tests/JIT/Methodical/Methodical_do.csproj Excludes a known failing source file on browser builds.
src/tests/JIT/Methodical/Methodical_d2.csproj Excludes known failing browser/interpreter projects and source file.
src/tests/JIT/Directed/tailcall/mutual_recursion.fs Adds ActiveIssue skip on Browser.
src/tests/CoreMangLib/system/span/RefStructWithSpan.cs Switches to ConditionalFact gated on multithreading support.
src/tests/CoreMangLib/CoreMangLib.csproj Adds TestLibrary reference to support PlatformDetection usage.
eng/pipelines/coreclr/ci.yml Adds checked browser_wasm build + outerloop test run jobs.
eng/liveBuilds.targets Ensures Browser CoreCLR live-build runtime file set includes browser host artifacts when present.

Comment thread eng/pipelines/coreclr/ci.yml
@radekdoulik
Copy link
Copy Markdown
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copilot AI review requested due to automatic review settings April 29, 2026 17:16
@radekdoulik
Copy link
Copy Markdown
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates CoreCLR/wasm outerloop CI to start running Pri1 runtime tests for browser_wasm, and adjusts a set of existing tests so they’re excluded or conditionally skipped on Browser/wasm (and on platforms without multithreading support) to keep the newly-enabled runs green.

Changes:

  • Add browser_wasm checked build and outerloop test run jobs to CoreCLR CI.
  • Mark several tests as ActiveIssue on Browser and gate multithreaded tests with ConditionalFact(PlatformDetection.IsMultithreadingSupported).
  • Ensure live-build runtime file publishing includes additional Browser/CoreCLR host assets when present.

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/tests/Loader/classloader/MethodImpl/Desktop/self_override5.il Adds ActiveIssue to exclude this test on Browser.
src/tests/JIT/Methodical/VT/callconv/ee.il Adds XUnitExtensions/TestLibrary externs and ActiveIssue for Browser.
src/tests/JIT/Methodical/VT/callconv/dd.il Adds XUnitExtensions/TestLibrary externs and ActiveIssue for Browser.
src/tests/JIT/Methodical/VT/callconv/calli.il Adds XUnitExtensions/TestLibrary externs and ActiveIssue for Browser.
src/tests/JIT/Methodical/VT/callconv/call.cs Adds Browser ActiveIssue attribute to exclude the entrypoint on Browser.
src/tests/JIT/Methodical/VT/callconv/aa.il Adds XUnitExtensions/TestLibrary externs and ActiveIssue for Browser.
src/tests/JIT/Methodical/Methodical_d2.csproj No functional change (whitespace-only).
src/tests/JIT/jit64/opt/cse/VolatileTest.csproj Adds TestLibrary reference to enable PlatformDetection usage in tests.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_add.cs Switches to ConditionalFact based on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_sub.cs Switches to ConditionalFact based on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_shr.cs Switches to ConditionalFact based on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_or.cs Switches to ConditionalFact based on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_mul.cs Switches to ConditionalFact based on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_mod.cs Switches to ConditionalFact based on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_div.cs Switches to ConditionalFact based on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_and.cs Switches to ConditionalFact based on multithreading support.
src/tests/JIT/jit64/opt/cse/VolatileTest_op_xor.cs Switches to ConditionalFact based on multithreading support.
src/tests/JIT/Directed/tailcall/mutual_recursion.fs Adds Browser ActiveIssue to exclude on Browser.
src/tests/CoreMangLib/system/span/RefStructWithSpan.cs Switches to ConditionalFact based on multithreading support.
src/tests/CoreMangLib/CoreMangLib.csproj Adds TestLibrary reference to enable PlatformDetection usage in tests.
eng/pipelines/coreclr/ci.yml Adds checked browser_wasm build and outerloop test jobs.
eng/liveBuilds.targets Adds Browser/CoreCLR host runtime files to the live-build file set (when present).

Comment thread eng/pipelines/coreclr/ci.yml
@radekdoulik radekdoulik requested review from maraf and pavelsavara May 7, 2026 09:04
Copilot AI review requested due to automatic review settings May 7, 2026 10:22
@radekdoulik radekdoulik requested a review from jkoritzinsky May 7, 2026 10:24
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 24 out of 24 changed files in this pull request and generated 2 comments.

Comment thread src/tests/JIT/Regression/JitBlue/GitHub_18582/GitHub_18582.csproj Outdated
Comment thread src/tests/CoreMangLib/CoreMangLib.csproj Outdated
Comment thread eng/liveBuilds.targets
Copy link
Copy Markdown
Member

@pavelsavara pavelsavara left a comment

Choose a reason for hiding this comment

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

There is one change that would be good to review by Maraf

to not skip the files accidentaly in other cases than runtime tests
build
Copilot AI review requested due to automatic review settings May 11, 2026 10:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated no new comments.

@radekdoulik
Copy link
Copy Markdown
Member Author

/azp run runtime-coreclr outerloop

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@radekdoulik
Copy link
Copy Markdown
Member Author

/ba-g CI failure is unrelated timeout

@radekdoulik radekdoulik merged commit 7d32d80 into dotnet:main May 12, 2026
188 of 192 checks passed
maraf added a commit to maraf/runtime that referenced this pull request May 14, 2026
PR dotnet#127438 split the browser+CoreCLR <LibrariesRuntimeFiles> element into
two: one with the $(LibrariesSharedFrameworkDir)*.a glob, and a separate
one for the host files. The Exclude= added in commit c0b0e63 for the
three duplicate static libs (libminipal.a, libSystem.IO.Compression.Native.a,
libz.a) stayed on the host element, where it had no effect because that
element does not include any $(LibrariesSharedFrameworkDir) items.

This caused NU5118 (duplicate file) to return for browser-wasm CoreCLR
runtime pack builds: the three .a files are produced under both
$(CoreCLRSharedFrameworkDir) and $(LibrariesSharedFrameworkDir), and both
copies were getting packed.

Move the Exclude= to the ItemGroup that actually contains the *.a glob
so the duplicates are dropped again.

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

arch-wasm WebAssembly architecture area-Infrastructure-coreclr Only use for closed issues

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants