[wasm][CoreCLR] Enable passing System.Runtime.Tests on wasm#126870
Merged
radekdoulik merged 1 commit intodotnet:mainfrom Apr 14, 2026
Merged
[wasm][CoreCLR] Enable passing System.Runtime.Tests on wasm#126870radekdoulik merged 1 commit intodotnet:mainfrom
radekdoulik merged 1 commit intodotnet:mainfrom
Conversation
Remove 42 ActiveIssue/SkipOnPlatform attributes from tests that pass on browser/wasm CoreCLR interpreter. Use ConditionalClass/ConditionalFact with IsMultithreadingSupported for tests that deadlock on single-threaded wasm (ControlledExecutionTests, JitInfoTests). 12 ActiveIssue attributes remain for tests with genuine failures: - GC finalizer tests (no finalizer thread) - ConvertToInteger tests (numeric conversion bug) - Module.FullyQualifiedName/Name (returns <Unknown>) - DateTime.GetObjectData (missing Serialization.Formatters) - RuntimeFeature.DynamicCode_Jit (no dynamic code) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
|
Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara |
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Enables previously-disabled System.Runtime.Tests on browser/wasm CoreCLR interpreter by removing unnecessary [ActiveIssue] / [SkipOnPlatform] annotations and replacing a couple of skips with capability-based platform detection (multithreading).
Changes:
- Removed a broad set of wasm/browser CoreCLR test disables (
[ActiveIssue],[SkipOnPlatform]) where tests now pass. - Switched threading-dependent tests from issue-based disables to
PlatformDetection.IsMultithreadingSupportedconditions. - Added a triage doc summarizing remaining wasm/CoreCLR interpreter test gaps and their root causes.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| src/libraries/System.Runtime/tests/System.Runtime.Tests/libraries-tests-triage.md | New triage document tracking remaining skipped/disabled tests on browser/wasm CoreCLR interpreter. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs | Removes wasm/browser CoreCLR [ActiveIssue] to re-enable parsing tests. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs | Removes wasm/browser CoreCLR [ActiveIssue] to re-enable PeriodicTimer tests. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs | Removes wasm/browser CoreCLR [ActiveIssue] to re-enable a GetHashCode argument-validation test. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs | Removes wasm/browser CoreCLR [ActiveIssue] from ConvertToIntegerNativeTest. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs | Replaces [ActiveIssue] with ConditionalFact including multithreading capability detection. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs | Replaces [ActiveIssue] with ConditionalClass gated on multithreading support. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs | Removes browser skip to re-enable ref-like reflection invocation test. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs | Removes wasm/browser CoreCLR [ActiveIssue] to re-enable invalid-significand test. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs | Removes wasm/browser CoreCLR [ActiveIssue] to re-enable parsing tests. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs | Removes wasm/browser CoreCLR [ActiveIssue] to re-enable UTF8 span parsing test. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs | Removes wasm/browser CoreCLR [ActiveIssue] to re-enable parsing tests in generic-math suite. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs | Removes wasm/browser CoreCLR [ActiveIssue] to re-enable negative-size allocation test. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs | Removes wasm/browser CoreCLR [ActiveIssue] from ConvertToIntegerNativeTest. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs | Removes wasm/browser CoreCLR [ActiveIssue] to re-enable DynamicInvoke default-parameter tests. |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs | Removes wasm/browser CoreCLR [ActiveIssue] across multiple decimal tests/classes. |
src/libraries/System.Runtime/tests/System.Runtime.Tests/libraries-tests-triage.md
Outdated
Show resolved
Hide resolved
src/libraries/System.Runtime/tests/System.Runtime.Tests/libraries-tests-triage.md
Outdated
Show resolved
Hide resolved
src/libraries/System.Runtime/tests/System.Runtime.Tests/libraries-tests-triage.md
Outdated
Show resolved
Hide resolved
src/libraries/System.Runtime/tests/System.Runtime.Tests/libraries-tests-triage.md
Outdated
Show resolved
Hide resolved
src/libraries/System.Runtime/tests/System.Runtime.Tests/libraries-tests-triage.md
Outdated
Show resolved
Hide resolved
d796f5f to
7337e9b
Compare
maraf
approved these changes
Apr 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR description was AI/Copilot-generated.
Summary
Enable 44 previously-disabled
System.Runtime.Testson browser/wasm CoreCLR interpreter by removing unnecessary[ActiveIssue]and[SkipOnPlatform]attributes added in #122980.Changes
Removed 44 attributes across 15 test these tests pass on the wasm interpreter without issues.files
Replaced
[ActiveIssue]with proper platform detection for tests that require multithreading:[ConditionalClass(..., usesTask.Run()+ infinite loop that deadlocks on single-threaded wasmIsMultithreadingSupported)]added
IsMultithreadingSupportedtousesThread.Start()ConditionalFact10
[ActiveIssue]attributes remain for tests with genuine failures on wasm:int saturation bug
Module.FullyQualifiedName/Namereturns<Unknown>2)System.Runtime.Serialization.Formattersnot available1)IsDynamicCodeSupportedis false (no JIT)1)Validation
Full test suite runs locally in ~7 minutes with 68,025 tests, 0 failures, 94 skipped.
Triage
See
libraries-tests-triage.mdin the test directory for detailed analysis of remaining disabled tests.