Skip to content

[browser][CoreCLR] Track remaining WBT coverage gaps #135046

Description

@radekdoulik

Track the remaining browser-WASM Wasm.Build.Tests scenarios applicable to CoreCLR, using Mono coverage as a reference. This covers application build/publish behavior, not the separate runtime and libraries test suites.

CoreCLR is WebCIL-only by design. No-WebCIL lanes or smoke tests are out of scope. Mono-specific AOT, profiler, and threading cases are not automatic CoreCLR parity targets.

Progress and baseline

The post-merge counts below come from authoritative uploaded xUnit XML. The separate four-case no-workload increase is from #134618: three PublishRunAllPagesComposite rows and CompositeRequiresWebcil, all passing on both OSes. No other WBT source or CoreCLR job-list changes landed between the pre-merge and post-merge source commits, so the workload delta isolates #135018's 54 rows.

Scenario CoreCLR pre-merge, build 1616764 CoreCLR post-merge, build 1620135 Delta Mono September 29 reference
No workload 104 108 +4 102
No fingerprinting 17 17 0 17
JavaScriptBundler 11 11 0 11
Workload 216 270 +54 409
Total 348 406 +58 539

Linux and Windows have the same totals. The Mono column remains the September 29 WebCIL reference and was not remeasured in build 1620135. These totals include runtime-specific cases and are not a count of missing CoreCLR tests. Mono's no-WebCIL repetitions are excluded from the comparison. Although the parent build failed elsewhere, both selected CoreCLR WBT jobs and all of their Helix/XML results were green.

Remaining test work

  • New assembly during incremental publish: fix the trimmed-closure asset-selection bug, then enable NativeRebuildTests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly. The reproduced CoreCLR failure leaves the newly required System.Text.RegularExpressions.dll in linker output but omits it from WebCIL/published assets and boot configuration. A separate bug report is drafted; the test remains excluded from [browser][CoreCLR] Enable non-AOT WBT relinking and rebuild coverage #135018.
  • Large-heap interop: revalidate MemoryTests.AllocateLargeHeapThenRepeatedlyInterop after the startup fix in [browser] Fix Debug-only startup failures: stack-first assert, incoming Module API, preRun function form #134527. Verify native relinking and allocations above 2 GB before removing its Mono gate.
  • Undefined native symbols: recheck Templates.NativeBuildTests.BuildWithUndefinedNativeSymbol against CoreCLR's WasmAllowUndefinedSymbols behavior; resolve any contract mismatch before enabling it.
  • Invariant/native-build conflict: port NativeRebuildTests.NoopNativeRebuildTest.NativeRelinkFailsWithInvariant to the CoreCLR diagnostic contract without requiring Mono AOT tooling.
  • Auto-layout diagnostics: recheck PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly_WithAutoLayout against the current generator and resolve its differing error expectations.
  • Windows path handling: run NativeBuildTests.NativeBuildWithSpecialCharsInTempPath on CoreCLR/Windows and enable it if the command-line quoting behavior passes.
  • Accurate compilation-mode coverage: correct misleading AOT-labeled cases, including Blazor.SimpleRunTests.BlazorPublishRunTest, whose aot argument is not forwarded to publish. Additional CoreCLR precompiled-mode cases should explicitly request PublishReadyToRun and verify its output; do not add duplicate rows merely because RunAOTCompilation=true is accepted.

Related open issues

These issues were open when checked on October 1. Keep implementation details in the existing issues and record the resulting WBT coverage here.

Acceptance criteria

  • Each remaining applicable exclusion is either enabled with a regression test or linked to a concrete blocker.
  • Newly enabled cases appear in generated workload selection and pass on the required platforms; existing Mono inputs and assertions are preserved.
  • Updated Linux/Windows counts come from uploaded xUnit XML and distinguish executed cases, skips, and intentionally runtime-specific coverage.
  • Relinking and R2R/AOT claims are supported by actual build outputs or compiler invocations, not test names or flag values alone.

Note

This issue draft was generated with GitHub Copilot.

Activity

  1. dotnet-policy-service commented on Oct 1, 2026

    @dotnet-policy-service
    Contributor

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

  2. dotnet-policy-service commented on Oct 1, 2026

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/runtime-infrastructure
    See info in area-owners.md if you want to be subscribed.

  3. added this to the 12.0.0 milestone on Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions