Skip to content

[WBT] enable coreCLR#124850

Merged
ilonatommy merged 25 commits intodotnet:mainfrom
pavelsavara:wbt_coreclr
Mar 1, 2026
Merged

[WBT] enable coreCLR#124850
ilonatommy merged 25 commits intodotnet:mainfrom
pavelsavara:wbt_coreclr

Conversation

@pavelsavara
Copy link
Member

@pavelsavara pavelsavara commented Feb 25, 2026

  • drop WasmBrowserRunMainOnly
  • add [TestCategory("native")] as necessary
  • always expect dotnet.diagnostics.js on CoreCLR
  • disable native trait for CoreCLR run
  • split off AOT tests

Passing: 59 Failing: 27

@pavelsavara pavelsavara added this to the 11.0.0 milestone Feb 25, 2026
@pavelsavara pavelsavara self-assigned this Feb 25, 2026
Copilot AI review requested due to automatic review settings February 25, 2026 09:27
@pavelsavara pavelsavara added arch-wasm WebAssembly architecture area-Infrastructure-coreclr os-browser Browser variant of arch-wasm labels Feb 25, 2026
Copy link
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 pull request enables CoreCLR runtime testing in the WASM Build Tests suite by categorizing tests and filtering them appropriately based on the runtime flavor. The PR removes a CoreCLR-specific test asset that is no longer needed and ensures that tests requiring native builds, Mono-specific features, or workload installations are properly excluded when running with CoreCLR.

Changes:

  • Removed the WasmBrowserRunMainOnly test asset and test class, which was specifically created for CoreCLR but is no longer needed
  • Added TestCategory attributes to categorize tests as "native" (requiring AOT/native builds), "mono" (Mono-specific features), or "workload" (requiring workload installation)
  • Updated test filtering logic in Wasm.Build.Tests.csproj to exclude native/mono/workload tests when running with CoreCLR runtime
  • Modified WasmSdkBasedProjectProvider to expect diagnostics files for CoreCLR builds

Reviewed changes

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

Show a summary per file
File Description
src/mono/wasm/testassets/WasmBrowserRunMainOnly/* Deleted entire test asset directory (6 files) that was specific to CoreCLR testing
src/mono/wasm/Wasm.Build.Tests/WasmBrowserRunMainOnly.cs Deleted CoreCLR-specific test class
src/mono/wasm/Wasm.Build.Tests/BrowserStructures/TestAsset.cs Removed WasmBrowserRunMainOnly test asset reference
src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj Updated XUnit trait filtering to exclude native/mono/workload categories for CoreCLR
src/mono/wasm/Wasm.Build.Tests/WasmSdkBasedProjectProvider.cs Added logic to expect diagnostics.js files for CoreCLR builds
src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs Added "native" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/WasmBuildAppTest.cs Added "native" category to AOT test methods
src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs Added "native" category to PublishSIMD_AOT test
src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs Added "native" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs Added "workload" and "native" categories to various template tests
src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs Added "native" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/SatelliteAssembliesTests.cs Added "native" category to resource assembly tests
src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs Added "native" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/* Added "native" category to all native rebuild test classes (5 files)
src/mono/wasm/Wasm.Build.Tests/NativeLibraryTests.cs Added "native" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs Added "native" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs Split SymbolMapFileEmitted test into two separate tests, marking only the emitting case as "native"
src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs Added "native" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/MainWithArgsTests.cs Added "native" category to main-with-args tests
src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs Added "native" category to invariant timezone tests
src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs Added "native" category to invariant globalization tests
src/mono/wasm/Wasm.Build.Tests/InterpPgoTests.cs Added "mono" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/IcuTests.cs Added "native" and "workload" categories to ICU tests
src/mono/wasm/Wasm.Build.Tests/IcuShardingTests*.cs Added "native" category to ICU sharding tests (2 files)
src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs Added "native" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs Added "mono" category to class-level TestCategory
src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs Added "native" category to AOT publish tests
src/mono/wasm/Wasm.Build.Tests/Blazor/* Added "native" and "mono" categories to various Blazor tests (8 files)

Copilot AI review requested due to automatic review settings February 25, 2026 10:49
Copy link
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 49 out of 49 changed files in this pull request and generated 3 comments.

Copilot AI review requested due to automatic review settings February 25, 2026 16:35
Copy link
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 50 out of 50 changed files in this pull request and generated no new comments.

Copilot AI review requested due to automatic review settings February 26, 2026 20:01
Copy link
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 56 out of 56 changed files in this pull request and generated 1 comment.

Copilot AI review requested due to automatic review settings February 27, 2026 07:58
Copy link
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 56 out of 56 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

src/libraries/sendtohelix-wasm.targets:70

  • In BuildWasmApps, when RuntimeFlavor=CoreCLR and TestUsingWorkloads is not true, this target will create both the per-class HelixWorkItem entries (line 59 condition does not check TestUsingWorkloads) and the fallback Wasm.Build.Tests work item (line 66 condition becomes true because TestUsingWorkloads != 'true'). This likely duplicates test execution. Consider gating the fallback item (or the CoreCLR per-class items) so only one set of work items is produced for CoreCLR runs.
      <HelixWorkItem Include="@(BuildWasmApps_PerJobList->'$(WorkItemPrefix)%(Identity)')" Condition="'$(RuntimeFlavor)' == 'CoreCLR' and '$(WasmFingerprintAssets)' == 'true' and '$(WasmBundlerFriendlyBootConfig)' == 'false'">
        <PayloadArchive>$(_BuildWasmAppsPayloadArchive)</PayloadArchive>
        <PreCommands>$(EnvVarCommand) &quot;HELIX_XUNIT_ARGS=-class %(Identity)&quot;</PreCommands>
        <Command>$(HelixCommand)</Command>
        <Timeout>$(_workItemTimeout)</Timeout>
      </HelixWorkItem>

      <HelixWorkItem Include="$(WorkItemPrefix)Wasm.Build.Tests" Condition="'$(TestUsingWorkloads)' != 'true' or '$(WasmFingerprintAssets)' != 'true' or '$(WasmBundlerFriendlyBootConfig)' != 'false'">
        <PayloadArchive>$(_BuildWasmAppsPayloadArchive)</PayloadArchive>
        <Command>$(HelixCommand)</Command>
        <Timeout>$(_workItemTimeout)</Timeout>
      </HelixWorkItem>

@ilonatommy ilonatommy marked this pull request as ready for review February 27, 2026 11:19
Copilot AI review requested due to automatic review settings February 27, 2026 11:19
Copy link
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 56 out of 56 changed files in this pull request and generated no new comments.

Copilot AI review requested due to automatic review settings March 1, 2026 07:42
Copy link
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 56 out of 56 changed files in this pull request and generated 2 comments.

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 os-browser Browser variant of arch-wasm

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants