You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The CoreCLR browser-WASM out-of-process runtime-test work in #131110 exposes tests that were
not previously run. After separating tests that need managed multithreading and
per-test native relinking, 46 suppression points still represent useful
coverage but need browser runtime functionality, host-side orchestration, test
adaptation, or practical execution performance.
This issue tracks those 46 suppression points. The count is for projects or
named test entries, not the number of underlying xUnit cases.
The following tests are intentionally left out:
managed-multithreading tests, which are capability-gated by FeatureMultithreading;
per-test native relinking and UCO thunk relinking
(#123946, #124219), including the
newly exposed JIT/Directed/Convert/out_of_range_fp_to_int_conversions.
Re-enable checklist
Background and server GC
PR #127178 intentionally
compiles background and server GC out of CoreCLR WebAssembly. These tests can
return only if that product decision changes and the corresponding mode works
with WebAssembly threads.
GC/Features/BackgroundGC/foregroundgc
JIT/Methodical/Boxing/misc/concurgc_d
JIT/Methodical/Boxing/misc/concurgc_r
GC/API/NoGCRegion/Callback_Svr
Host-scheduled nested runs
These tests should not gain browser Process.Start support. Extend the
out-of-process host plan so the host launches each nested configuration or
crashing child, then imports its output and exit status. ParallelCrashTester
also requires managed multithreading.
This work belongs with the WebAssembly R2R tracker #130524. The checks must
operate on emitted WASM components from the host rather than asking browser
managed code to launch dotnet or corerun.
readytorun/coreroot_determinism
readytorun/r2rdump/FrameworkTests/R2RDumpTests
WASM ReadyToRun execution
The expanded OOP coverage exposed two remaining runtime/toolchain disagreements.
Other browser R2R tests remain enabled after fixing composite-image layout and
eager-fixup lock ordering. This work belongs with #130524.
readytorun/crossgen2/crossgen2smoke - generic ldtoken reaches a
WebAssembly function-signature mismatch
readytorun/fieldlayout/fieldlayout - Crossgen2 and browser CoreCLR
disagree on Int128 aggregate size and alignment; the shipping correctness
fix is #131421
Browser runtime services and diagnostics
Re-enable these after browser CoreCLR supplies the registered-wait,
process-launch, diagnostic IPC/socket, or runtime-event behavior each test
validates. Self-process EventPipe tests must instead be adapted to browser's
JS/WebSocket diagnostic clients; the Process/PID-based managed DiagnosticsClient path is unsupported.
JIT/Directed/debugging/debuginfo/tester - JIT/interpreter IL and native
debug maps
The ABI stress harness currently rejects the browser's PlatformID.Other and
has no WebAssembly ABI model. Extend it with the WebAssembly ABI before
re-enabling these projects.
JIT/Stress/ABI/stubs_do
JIT/Stress/ABI/pinvokes_d
JIT/Stress/ABI/pinvokes_do
JIT/Stress/ABI/tailcalls_d
JIT/Stress/ABI/tailcalls_do
WebAssembly runtime invocation
Re-enable the binder tracing resolution-flow project after browser CoreCLR can
invoke its AssemblyLoadContext.Resolving path without a WebAssembly
function-signature mismatch.
These tests assert optimizing-JIT behavior, count JIT-compiled methods, or run
workloads that are impractical on the interpreter. Re-enable them when a
WebAssembly JIT provides the intended behavior, or adapt their scale without
losing the regression coverage. WebAssembly JIT work is tracked by #121141.
Both variants validate GC-pointer reporting for multi-register struct returns.
The 32Bit and 64Bit names describe managed field widths, not the target
architecture. Re-enable them when browser CoreCLR JIT supports
GCStress-on-direct-calls and after replacing the incidental ProcessStartInfo.Environment struct-return trigger with a browser-safe
equivalent.
Static per-test relinking is insufficient for these tests. Define and
implement CoreCLR browser contracts for dynamic handles, ALC unmanaged-library
resolution, CORE_LIBRARIES, and path-based loading. Issue #123570 tracks the related
Mono side-module gap.
exercise the intended scenario rather than converting it to an unconditional
skip;
pass under the relevant CoreCLR browser-WASM capability;
preserve existing desktop, Mono, and WASI behavior.
If a prerequisite is explicitly rejected as a browser feature, document that
contract and move the corresponding entry to the permanent-exclusion list
instead of leaving it indefinitely ambiguous.
Permanent exclusions not tracked here
The following 17 suppression points exercise contracts that do not apply to
the current browser runtime:
Summary
The CoreCLR browser-WASM out-of-process runtime-test work in
#131110 exposes tests that were
not previously run. After separating tests that need managed multithreading and
per-test native relinking, 46 suppression points still represent useful
coverage but need browser runtime functionality, host-side orchestration, test
adaptation, or practical execution performance.
This issue tracks those 46 suppression points. The count is for projects or
named test entries, not the number of underlying xUnit cases.
The following tests are intentionally left out:
FeatureMultithreading;(#123946,
#124219), including the
newly exposed
JIT/Directed/Convert/out_of_range_fp_to_int_conversions.Re-enable checklist
Background and server GC
PR #127178 intentionally
compiles background and server GC out of CoreCLR WebAssembly. These tests can
return only if that product decision changes and the corresponding mode works
with WebAssembly threads.
GC/Features/BackgroundGC/foregroundgcJIT/Methodical/Boxing/misc/concurgc_dJIT/Methodical/Boxing/misc/concurgc_rGC/API/NoGCRegion/Callback_SvrHost-scheduled nested runs
These tests should not gain browser
Process.Startsupport. Extend theout-of-process host plan so the host launches each nested configuration or
crashing child, then imports its output and exit status.
ParallelCrashTesteralso requires managed multithreading.
baseservices/RuntimeConfiguration/TestConfigTesterbaseservices/exceptions/stackoverflow/stackoverflowtesterbaseservices/exceptions/unhandled/unhandledTesterbaseservices/exceptions/simple/ParallelCrashTester\n### WASM ReadyToRun host tooling
This work belongs with the WebAssembly R2R tracker
#130524. The checks must
operate on emitted WASM components from the host rather than asking browser
managed code to launch
dotnetorcorerun.readytorun/coreroot_determinismreadytorun/r2rdump/FrameworkTests/R2RDumpTestsWASM ReadyToRun execution
The expanded OOP coverage exposed two remaining runtime/toolchain disagreements.
Other browser R2R tests remain enabled after fixing composite-image layout and
eager-fixup lock ordering. This work belongs with
#130524.
readytorun/crossgen2/crossgen2smoke- genericldtokenreaches aWebAssembly function-signature mismatch
readytorun/fieldlayout/fieldlayout- Crossgen2 and browser CoreCLRdisagree on
Int128aggregate size and alignment; the shipping correctnessfix is #131421
Browser runtime services and diagnostics
Re-enable these after browser CoreCLR supplies the registered-wait,
process-launch, diagnostic IPC/socket, or runtime-event behavior each test
validates. Self-process EventPipe tests must instead be adapted to browser's
JS/WebSocket diagnostic clients; the Process/PID-based managed
DiagnosticsClientpath is unsupported.JIT/Directed/debugging/debuginfo/tester- JIT/interpreter IL and nativedebug maps
tracing/eventlistener/EventListenerThreadPool- ThreadPool registeredwaits
tracing/eventpipe/applystartuphook/applystartuphook- nested processlaunch
tracing/eventpipe/diagnosticport/diagnosticport- diagnostic IPC andUnix-domain sockets
tracing/eventpipe/pauseonstart/pauseonstart- diagnostic IPC andUnix-domain sockets
tracing/eventpipe/processenvironment/processenvironment- nestedprocess launch
tracing/eventpipe/eventsvalidation/ExceptionThrown_V1- self-processEventPipe collection
tracing/eventpipe/eventsvalidation/GCEvents- self-process EventPipecollection
tracing/eventpipe/eventsvalidation/GCFinalizers- self-process EventPipecollection
tracing/eventpipe/eventsvalidation/SampleProfilerSampleType-self-process EventPipe collection
tracing/eventpipe/randomizedallocationsampling/allocationsampling-randomized allocation-sampling EventPipe events
tracing/eventpipe/reverse/reverse- nested process launch and diagnosticIPC
tracing/eventpipe/reverseouter/reverseouter- nested process launchtracing/eventpipe/rundownvalidation/rundownvalidation- self-processEventPipe collection
tracing/eventpipe/simpleruntimeeventvalidation/simpleruntimeeventvalidationtracing/runtimeeventsource/runtimeeventsource- expected runtimeconfiguration events
WebAssembly managed-call ABI
The ABI stress harness currently rejects the browser's
PlatformID.Otherandhas no WebAssembly ABI model. Extend it with the WebAssembly ABI before
re-enabling these projects.
JIT/Stress/ABI/stubs_doJIT/Stress/ABI/pinvokes_dJIT/Stress/ABI/pinvokes_doJIT/Stress/ABI/tailcalls_dJIT/Stress/ABI/tailcalls_doWebAssembly runtime invocation
Re-enable the binder tracing resolution-flow project after browser CoreCLR can
invoke its
AssemblyLoadContext.Resolvingpath without a WebAssemblyfunction-signature mismatch.
Loader/binding/tracing/BinderTracingTest.ResolutionFlowOptimizing JIT or equivalent performance
These tests assert optimizing-JIT behavior, count JIT-compiled methods, or run
workloads that are impractical on the interpreter. Re-enable them when a
WebAssembly JIT provides the intended behavior, or adapt their scale without
losing the regression coverage. WebAssembly JIT work is tracked by
#121141.
JIT/opt/Inline/tests/LotsOfInlinesJIT/opt/Loops/TripCountOverflowJIT/jit64/regress/ddb/113574JIT/opt/ObjectStackAllocation/ObjectStackAllocationTestsJIT/opt/Regressions/Regression2_Regressionsreadytorun/JittedMethodsCountingTest/JittedMethodsCountingTestWebAssembly JIT and GCStress support
Both variants validate GC-pointer reporting for multi-register struct returns.
The
32Bitand64Bitnames describe managed field widths, not the targetarchitecture. Re-enable them when browser CoreCLR JIT supports
GCStress-on-direct-calls and after replacing the incidental
ProcessStartInfo.Environmentstruct-return trigger with a browser-safeequivalent.
JIT/Regression/JitBlue/GitHub_23199/GitHub_23199_Target_32BitJIT/Regression/JitBlue/GitHub_23199/GitHub_23199_Target_64BitDynamic native-library loading
Static per-test relinking is insufficient for these tests. Define and
implement CoreCLR browser contracts for dynamic handles, ALC unmanaged-library
resolution,
CORE_LIBRARIES, and path-based loading. Issue#123570 tracks the related
Mono side-module gap.
Interop/NativeLibrary/API/NativeLibraryTestsInterop/NativeLibrary/AssemblyLoadContext/ResolveUnmanagedDllTestsInterop/NativeLibrary/MainProgramHandle/MainProgramHandleTestsLoader/NativeLibs/FromNativePathsCompletion criteria
For each entry:
skip;
If a prerequisite is explicitly rejected as a browser feature, document that
contract and move the corresponding entry to the permanent-exclusion list
instead of leaving it indefinitely ambiguous.
Permanent exclusions not tracked here
The following 17 suppression points exercise contracts that do not apply to
the current browser runtime:
Interop/GCBridge/BridgeTestGC/API/GC/GetTotalAllocatedBytesServerGCInterop/MonoAPI/MonoMono/{InstallEHCallback,PInvokeDetach,Thunks}FullPdbThrower, threading regression115178, andTypeEquivalence/{istypeequivalent,simple}readytorun/tests/fileversionpreservationJIT/superpmi/superpmicollectComWrappers:ComWrappersTests,ComWrappersTestsBuiltInComDisabled, andWeakReferenceTestAssemblyDependencyResolver/hostpolicy probing:AssemblyDependencyResolverTestsandMissingHostPolicyTestsSystemCoreLibDirectory.HostProvidedPath; emptyAssembly.Locationis expected on browser-WASM(#52062)
Note
This issue was drafted with GitHub Copilot.