From 2ee656d550c4d32013e8b1819f81bbf0f9be9bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Tue, 24 Feb 2026 09:16:00 +0000 Subject: [PATCH 01/38] Analysis --- .devcontainer/devcontainer.json | 3 +- .research/build-wasm-browser-sample.md | 110 +++ .research/native-build-analysis.md | 261 ++++++++ .research/runtime-native-build-analysis.md | 496 ++++++++++++++ .research/wasm-native-build-analysis.md | 740 +++++++++++++++++++++ 5 files changed, 1609 insertions(+), 1 deletion(-) create mode 100644 .research/build-wasm-browser-sample.md create mode 100644 .research/native-build-analysis.md create mode 100644 .research/runtime-native-build-analysis.md create mode 100644 .research/wasm-native-build-analysis.md diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 01e6d70e8191bc..dac8ac540e2fea 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -14,7 +14,8 @@ }, "features": { - "ghcr.io/devcontainers/features/github-cli:1": {} + "ghcr.io/devcontainers/features/github-cli:1": {}, + "ghcr.io/devcontainers/features/sshd:1": {} }, // Configure tool-specific properties. diff --git a/.research/build-wasm-browser-sample.md b/.research/build-wasm-browser-sample.md new file mode 100644 index 00000000000000..ccf5bda53f1ef1 --- /dev/null +++ b/.research/build-wasm-browser-sample.md @@ -0,0 +1,110 @@ +# Building Wasm.Browser.Sample for CoreCLR + +Project: `src/mono/sample/wasm/browser/Wasm.Browser.Sample.csproj` + +## Prerequisites + +Build the CoreCLR runtime, libraries, and host for `browser-wasm` **before** building the sample. From the repo root: + +```bash +# Debug (if needed) +./build.sh clr+libs+host -os browser -c Debug +``` + +It's already built and it most probably be needed to build again. + +This produces artifacts under `artifacts/obj/coreclr/browser.wasm.Debug/libs-native/` which the sample build validates exists via the `_ValidateRuntimeFlavorBuild` target. + +⏱️ The prerequisite build takes ~37 minutes (CoreCLR compiles the entire runtime engine from C/C++ source via emcc — 840+ ninja steps). + +## Building the Sample + +### Option 1: Via MSBuild Target (Recommended) + +The `BuildSampleInTree` target handles cleaning, nested property forwarding, and produces a binlog automatically: + +```bash +cd src/mono/sample/wasm/browser + +# Build with CoreCLR and produce binlog +../../../../../../dotnet.sh build \ + /t:BuildSampleInTree \ + /p:RuntimeFlavor=CoreCLR \ + /p:Configuration=Release \ + Wasm.Browser.Sample.csproj +``` + +This internally runs `dotnet publish` with: +- `-bl:publish-browser.binlog` (binlog output) +- `/p:TargetArchitecture=wasm /p:TargetOS=browser` +- `/p:ExpandNested=true /p:Nested_RuntimeFlavor=CoreCLR` + +**Binlog location:** `src/mono/sample/wasm/browser/publish-browser.binlog` + +## How RuntimeFlavor Affects the Build + +The `RuntimeFlavor` property controls which targets and props are imported: + +| File | Mono | CoreCLR | +|------|------|---------| +| `WasmApp.InTree.props` | Imports `BrowserWasmApp.props` | Sets `InvariantGlobalization=false`, `WasmEnableWebcil=false` | +| `WasmApp.InTree.targets` | Imports `BrowserWasmApp.targets` | Imports `BrowserWasmApp.CoreCLR.targets` | + +### Property Differences + +| Property | Mono (default) | CoreCLR | +|----------|---------------|---------| +| `InvariantGlobalization` | (unset) | `false` | +| `WasmEnableWebcil` | (default: true) | `false` | +| Native link | Per-app emcc link (EmccCompile + wasm-ld) | Pre-linked in `corehost.proj` | + +### Nested Build Property Forwarding + +The sample uses a nested build pattern. `RuntimeFlavor` is listed in `NestedBuildProperty` items (line 45 of `Directory.Build.targets`). When `BuildSampleInTree` runs, it: + +1. Sets `/p:Nested_RuntimeFlavor=CoreCLR` on the inner `dotnet publish` command +2. The inner build's `_ExpandNestedProps` target copies `Nested_RuntimeFlavor` → `RuntimeFlavor` +3. `WasmApp.InTree.targets` conditionally imports `BrowserWasmApp.CoreCLR.targets` + +## Implementation + +The CoreCLR native build is implemented in `BrowserWasmApp.CoreCLR.targets`. Unlike Mono (which re-links `dotnet.native.wasm` per-app via emcc), CoreCLR **pre-links** `dotnet.native.wasm` once during the runtime build (`corehost.proj`). The app build copies these pre-built native files from the runtime pack. + +### Architecture + +``` +Mono app build: + emcc compile (4 C files) → emcc link (.a + .o) → dotnet.native.wasm (per-app) + +CoreCLR app build: + runtime pack (dotnet.native.wasm) → copy to intermediate → WasmNativeAsset → SDK bundle +``` + +### Key implementation details: + +1. **`WasmApp.Common.props`** is imported for shared property definitions (`WasmBuildAppDependsOn`, etc.) +2. **`WasmApp.Common.targets`** is imported for the shared target chain (`WasmBuildApp` → `_WasmBuildAppCore` → `PrepareInputsForWasmBuild` → `WasmGenerateAppBundle` → `_EmitWasmAssembliesFinal`) +3. **`WasmBuildNative=false`** skips the emcc compile/link chain (`_WasmBuildNativeCore`) +4. **`_SetupToolchain`** is overridden to mark emscripten as unavailable, which skips `_ReadWasmProps` (no `src/wasm-props.json` in CoreCLR pack) +5. **`_CoreCLRBrowserCopyNativeAssets`** copies pre-built native files from the runtime pack and adds them as `WasmNativeAsset` items +6. The SDK's `_ResolveWasmOutputs` / `ComputeWasmBuildAssets` / `GenerateWasmBootJson` consume these to produce the final `_framework/` bundle + +## Key Files + +| File | Purpose | +|------|---------| +| `src/mono/sample/wasm/browser/Wasm.Browser.Sample.csproj` | Sample project | +| `src/mono/sample/wasm/Directory.Build.targets` | `BuildSampleInTree` target, validation, nested prop forwarding | +| `src/mono/sample/wasm/Directory.Build.props` | Sets `TargetOS=browser`, `RuntimeIdentifier=browser-wasm` | +| `src/mono/sample/wasm/wasm.mk` | Makefile with `build`/`publish` targets | +| `src/mono/browser/build/WasmApp.InTree.props` | Conditional import of Mono vs CoreCLR props | +| `src/mono/browser/build/WasmApp.InTree.targets` | Conditional import of Mono vs CoreCLR targets | +| `src/mono/browser/build/BrowserWasmApp.CoreCLR.targets` | CoreCLR placeholder targets (WIP) | +| `src/mono/browser/build/BrowserWasmApp.targets` | Mono WASM app build targets (full implementation) | + +## Comparing Binlogs + +To compare Mono vs CoreCLR builds, produced binlogs: + +- src/mono/sample/wasm/browser/publish-browser.binlog for CoreCLR +- .research/apppublish-mono-native.binlog for Mono (keep in mind some paths might be different because it's not the build the exactly same environment) \ No newline at end of file diff --git a/.research/native-build-analysis.md b/.research/native-build-analysis.md new file mode 100644 index 00000000000000..d5182d3db40786 --- /dev/null +++ b/.research/native-build-analysis.md @@ -0,0 +1,261 @@ +# WasmBuildNative=true Build Analysis + +Project: `WasmBrowserMonoNativeBuild.csproj` | Target: `net10.0` / `browser-wasm` | SDK: `10.0.103` + +## Build Times + +| Build | Total | Build (excl. restore) | +|-------|-------|-----------------------| +| Default | 7,459ms | ~4,000ms | +| Native (`WasmBuildNative=true`) | 16,094ms | ~12,700ms | +| **Delta** | **+8,635ms (+116%)** | | + +## Native Build Pipeline + +32 targets execute exclusively in the native build. Listed in execution order with source files and durations. + +### Phase 1: Setup & Configuration + +| Target | Duration | Source File | +|--------|----------|-------------| +| `_GatherWasmFilesToBuild` | 0ms | `Microsoft.NET.Sdk.WebAssembly.Browser.targets` (NuGet) | +| `_InitializeCommonProperties` | 2ms | `WasmApp.Common.targets` | +| `_SetupEmscripten` | 1ms | `BrowserWasmApp.targets` | +| `_SetupToolchain` | 0ms | `WasmApp.Common.targets` | +| `_ReadWasmProps` | 10ms | `WasmApp.Common.targets` | +| `_SetWasmBuildNativeDefaults` | 0ms | `WasmApp.Common.targets` | + +All source files under `C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\10.0.3\Sdk\` unless noted. + +### Phase 2: Preparation + +| Target | Duration | Source File | +|--------|----------|-------------| +| `PrepareInputsForWasmBuild` | 9ms | `WasmApp.Common.targets` | +| `_WasmCommonPrepareForWasmBuildNative` | 0ms | `WasmApp.Common.targets` | +| `_CheckToolchainIsExpectedVersion` | 0ms | `WasmApp.Common.targets` | +| `_PrepareForBrowserWasmBuildNative` | 5ms | `BrowserWasmApp.targets` | +| `PrepareForWasmBuildNative` | 0ms | `WasmApp.Common.targets` | + +### Phase 3: Interop Generation + +| Target | Duration | Source File | +|--------|----------|-------------| +| `_ScanAssembliesDecideLightweightMarshaler` | **362ms** | `WasmApp.Common.targets` | +| `_GenerateManagedToNative` | **1,261ms** | `WasmApp.Common.targets` | + +- `MarshalingPInvokeScanner` task (344ms) scans assemblies for P/Invoke marshaling decisions. +- `ManagedToNativeGenerator` task (1,112ms) generates C interop code from managed assemblies. + +### Phase 4: Runtime Component Selection + +| Target | Duration | Source File | +|--------|----------|-------------| +| `_MonoReadAvailableComponentsManifest` | 2ms | `RuntimeComponentManifest.targets` | +| `_MonoComputeAvailableComponentDefinitions` | 0ms | `RuntimeComponentManifest.targets` | +| `_MonoSelectRuntimeComponents` | 1ms | `RuntimeComponentManifest.targets` | +| `_WasmSelectRuntimeComponentsForLinking` | 0ms | `WasmApp.Common.targets` | + +Source: `C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.MonoTargets.Sdk\10.0.3\Sdk\` + +Selected components: +- `libmono-component-debugger-static.a` +- `libmono-component-diagnostics_tracing-stub-static.a` +- `libmono-component-hot_reload-static.a` +- `libmono-component-marshal-ilgen-stub-static.a` + +### Phase 5: Emscripten Compile (4,463ms) + +| Target | Duration | Source File | +|--------|----------|-------------| +| `_WasmCalculateInitialHeapSizeFromBitcodeFiles` | 17ms | `WasmApp.Common.targets` | +| `_BrowserWasmWriteCompileRsp` | 0ms | `BrowserWasmApp.targets` | +| `_WasmWriteRspForCompilingNativeSourceFiles` | 1ms | `WasmApp.Common.targets` | +| `_WasmCompileNativeSourceFiles` | **4,463ms** | `WasmApp.Common.targets` | + +The `EmccCompile` task (from `WasmAppBuilder.dll`) compiles 4 C source files to `.o` object files: + +``` +pinvoke.c → pinvoke.o +driver.c → driver.o +corebindings.c → corebindings.o +runtime.c → runtime.o +``` + +### Phase 6: Emscripten Link (4,461ms) + +| Target | Duration | Source File | +|--------|----------|-------------| +| `_BrowserWasmWriteRspForLinking` | 1ms | `BrowserWasmApp.targets` | +| `_WasmWriteRspForLinking` | 0ms | `WasmApp.Common.targets` | +| `_BrowserWasmLinkDotNet` | **4,461ms** | `BrowserWasmApp.targets` | + +Invokes `emcc` which calls `wasm-ld.exe` to produce `dotnet.native.wasm` and `dotnet.native.js`. + +#### Linker Command + +``` +emcc "@emcc-default.rsp" -msimd128 "@emcc-link.rsp" "@emcc-link.rsp(local)" +``` + +#### Resolved Flags + +``` +-O0 # Debug, no optimization +-v -g # Verbose + debug info +-fwasm-exceptions # Native WASM exception handling +-s EXPORT_ES6=1 # ES6 module output +-s INITIAL_MEMORY=33554432 # 32 MB initial heap +-s STACK_SIZE=5MB +-s WASM_BIGINT=1 +-s LLD_REPORT_UNDEFINED +-s ERROR_ON_UNDEFINED_SYMBOLS=1 +``` + +#### Input Object Files + +``` +obj/Debug/net10.0/wasm/for-build/pinvoke.o +obj/Debug/net10.0/wasm/for-build/driver.o +obj/Debug/net10.0/wasm/for-build/corebindings.o +obj/Debug/net10.0/wasm/for-build/runtime.o +``` + +#### Static Libraries Linked (27) + +| Library | Purpose | +|---------|---------| +| `libmonosgen-2.0.a` | Mono SGen GC runtime | +| `libmono-ee-interp.a` | Mono interpreter engine | +| `libmono-icall-table.a` | Internal call table | +| `libmono-wasm-eh-wasm.a` | WASM exception handling | +| `libmono-wasm-simd.a` | SIMD support | +| `libmono-component-debugger-static.a` | Debugger component | +| `libmono-component-diagnostics_tracing-stub-static.a` | Diagnostics stub | +| `libmono-component-hot_reload-static.a` | Hot reload component | +| `libmono-component-marshal-ilgen-stub-static.a` | Marshal IL gen stub | +| `libmono-profiler-aot.a` | AOT profiler | +| `libmono-profiler-browser.a` | Browser profiler | +| `libmono-profiler-log.a` | Log profiler | +| `libicudata.a` | ICU data | +| `libicui18n.a` | ICU internationalization | +| `libicuuc.a` | ICU common | +| `libSystem.Globalization.Native.a` | System.Globalization native | +| `libSystem.IO.Compression.Native.a` | System.IO.Compression native | +| `libSystem.Native.a` | System.Native | +| `libbrotlicommon.a` | Brotli common | +| `libbrotlidec.a` | Brotli decoder | +| `libbrotlienc.a` | Brotli encoder | +| `libz.a` | zlib | +| `wasm-bundled-timezones.a` | Timezone data | + +Plus Emscripten sysroot libraries: `-lGL-getprocaddr -lal -lhtml5 -lbulkmemory -lstubs-debug -lc-debug -ldlmalloc -lcompiler_rt-wasm-sjlj -lc++-except -lc++abi-debug-except -lunwind-except -lsockets` + +#### JavaScript Glue + +``` +--pre-js dotnet.es6.pre.js +--js-library dotnet.es6.lib.js +--extern-post-js dotnet.es6.extpost.js +``` + +#### Exported Functions + +Math: `_fmod`, `_atan2`, `_fma`, `_pow`, `_sin`, `_cos`, `_tan`, `_exp`, `_log`, `_log2`, `_log10`, `_asin`, `_asinh`, `_acos`, `_acosh`, `_atan`, `_atanh`, `_cbrt`, `_cosh`, `_sinh`, `_tanh` + float variants (`_sinf`, `_cosf`, etc.) + +Runtime: `_free`, `_malloc`, `_sbrk`, `_memalign`, `_posix_memalign`, `_memset`, `_htons`, `_ntohs`, `stackAlloc`, `stackRestore`, `stackSave`, `_emscripten_force_exit`, `___cpp_exception` + +#### Exported JS Runtime Methods + +``` +FS, out, err, ccall, cwrap, setValue, getValue, +UTF8ToString, UTF8ArrayToString, lengthBytesUTF8, stringToUTF8Array, +FS_createPath, FS_createDataFile, +removeRunDependency, addRunDependency, addFunction, +safeSetTimeout, runtimeKeepalivePush, runtimeKeepalivePop, +maybeExit, abort, wasmExports +``` + +#### wasm-ld Flags + +``` +--initial-memory=33554432 # 32 MB +--max-memory=2147483648 # 2 GB +--stack-first +--no-entry +--growable-table +--table-base=1 +-z stack-size=5242880 # 5 MB stack +``` + +#### Environment Variables + +``` +WASM_ENABLE_SIMD=1 +WASM_ENABLE_EH=1 +WASM_ENABLE_EVENTPIPE=0 +ENABLE_JS_INTEROP_BY_VALUE=0 +RUN_AOT_COMPILATION=0 +ENABLE_AOT_PROFILER=0 +ENABLE_DEVTOOLS_PROFILER=0 +ENABLE_LOG_PROFILER=0 +EM_FROZEN_CACHE=1 +``` + +#### Output + +``` +obj/Debug/net10.0/wasm/for-build/dotnet.native.wasm +obj/Debug/net10.0/wasm/for-build/dotnet.native.js +``` + +Post-link: `llvm-objcopy` strips the `producers` section from `dotnet.native.wasm`. + +### Phase 7: Finalize + +| Target | Duration | Source File | +|--------|----------|-------------| +| `WasmLinkDotNet` | 0ms | `WasmApp.Common.targets` | +| `_CompleteWasmBuildNative` | 0ms | `BrowserWasmApp.targets` | +| `WasmAfterLinkSteps` | 0ms | `WasmApp.Common.targets` | +| `_WasmBuildNativeCore` | 0ms | `WasmApp.Common.targets` | +| `_EmitWasmAssembliesFinal` | 0ms | `WasmApp.Common.targets` | +| `_WasmBuildAppCore` | 0ms | `WasmApp.Common.targets` | +| `WasmBuildApp` | 0ms | `WasmApp.Common.targets` | +| `_WasmNativeForBuild` | 0ms | `Microsoft.NET.Sdk.WebAssembly.Browser.targets` (NuGet) | + +## Task Comparison: Default vs Native + +| Task | Default | Native | Delta | +|------|---------|--------|-------| +| `Csc` | 2,282ms | 10ms | -2,272ms (incremental) | +| `EmccCompile` | — | 4,456ms | 🆕 | +| `Exec` (emcc linker) | — | 4,460ms | 🆕 | +| `ManagedToNativeGenerator` | — | 1,112ms | 🆕 | +| `MarshalingPInvokeScanner` | — | 344ms | 🆕 | +| `ConvertDllsToWebCil` | 299ms | 35ms | -264ms | +| `ComputeWasmBuildAssets` | 198ms | — | removed | +| `GenerateWasmBootJson` | 126ms | 94ms | -32ms | +| `GZipCompress` | 99ms | 210ms | +111ms | + +## Toolchain + +| Component | Version | Path | +|-----------|---------|------| +| Emscripten SDK | 3.1.56 | `Microsoft.NET.Runtime.Emscripten.3.1.56.Sdk.win-x64\10.0.3` | +| Emscripten Node | 3.1.56 | `Microsoft.NET.Runtime.Emscripten.3.1.56.Node.win-x64\10.0.3` | +| Emscripten Python | 3.1.56 | `Microsoft.NET.Runtime.Emscripten.3.1.56.Python.win-x64\10.0.3` | +| Emscripten Cache | 3.1.56 | `Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64\10.0.3` | +| Mono browser-wasm runtime | 10.0.3 | `Microsoft.NETCore.App.Runtime.Mono.browser-wasm\10.0.3` | +| WebAssembly SDK | 10.0.3 | `Microsoft.NET.Runtime.WebAssembly.Sdk\10.0.3` | +| MonoTargets SDK | 10.0.3 | `Microsoft.NET.Runtime.MonoTargets.Sdk\10.0.3` | +| WebAssembly Pack (NuGet) | 10.0.3 | `microsoft.net.sdk.webassembly.pack\10.0.3` | + +## MSBuild Source Files + +| File | # Targets | Pack | +|------|-----------|------| +| `WasmApp.Common.targets` | 21 | `Microsoft.NET.Runtime.WebAssembly.Sdk` | +| `BrowserWasmApp.targets` | 6 | `Microsoft.NET.Runtime.WebAssembly.Sdk` | +| `RuntimeComponentManifest.targets` | 3 | `Microsoft.NET.Runtime.MonoTargets.Sdk` | +| `Microsoft.NET.Sdk.WebAssembly.Browser.targets` | 2 | `microsoft.net.sdk.webassembly.pack` (NuGet) | diff --git a/.research/runtime-native-build-analysis.md b/.research/runtime-native-build-analysis.md new file mode 100644 index 00000000000000..a57f070f12f028 --- /dev/null +++ b/.research/runtime-native-build-analysis.md @@ -0,0 +1,496 @@ +# Runtime Native Build Analysis — Mono vs CoreCLR + +Sources: `runtime-mono.binlog`, `runtime-coreclr.binlog` | Build: `dotnet/runtime` CI | Target: `browser-wasm` / Release | SDK: `11.0.100-preview.1` + +| | Mono | CoreCLR | +|--|------|---------| +| Total build duration | ~4,350s (~72.5 min) | ~2,246s (~37.4 min) | +| Build nodes | 2 | 5 | +| CI OS | **Linux** | **Windows** | + +--- + +# Part 1: Mono Native Build + +## Two Native Build Paths + +The runtime build contains two distinct native compilation paths, both using the Emscripten toolchain (`emcc`): + +1. **Native Libs Source Build** — `build-native.proj` compiles C source into `.a` static libraries via CMake + Ninja +2. **Test App Native Builds** — 3 test projects run the same Wasm native pipeline as an app build (same phases from `native-build-analysis.md`) + +--- + +## Path 1: Native Libs Source Build + +**Project:** `src/native/libs/build-native.proj` (project 1423) +**Duration:** 108,792ms (~109s) exclusive +**Mechanism:** Single `Exec` task → `build-native.sh` → CMake → Ninja → emcc + +### Build Flow + +``` +MSBuild (build-native.proj) + └─ BuildNativeUnix target (108,792ms) + └─ Exec: build-native.sh + ├─ CMake configure (27.4s) + │ └─ Emscripten.cmake toolchain + └─ Ninja build (141 C files, -j 1 serial) + └─ emcc compiles each .c → .o + └─ ar archives .o → .a static libs +``` + +### CMake Arguments + +``` +-DCLR_CMAKE_RUNTIME_MONO=1 +-DCMAKE_BUILD_TYPE=RELEASE +-DCMAKE_TOOLCHAIN_FILE=.../Emscripten.cmake +-DCMAKE_ICU_DIR=.../microsoft.netcore.runtime.icu.transport/11.0.0-alpha.1.26063.1/runtimes/browser-wasm/native +-DCMAKE_TZD_DIR=.../system.runtime.timezonedata/11.0.0-beta.26071.1/contentFiles/any/any/data +-DCMAKE_EMCC_EXPORTED_FUNCTIONS=_free,_htons,_malloc,_sbrk,_memalign,_posix_memalign,_memset,_ntohs,stackAlloc,stackRestore,stackSave +-DCMAKE_EMCC_EXPORTED_RUNTIME_METHODS=FS,out,err,ccall,cwrap,setValue,getValue,UTF8ToString,... +``` + +### Compiled Libraries (141 source files total) + +| Library | # Files | Purpose | +|---------|---------|---------| +| `libminipal.a` | 13 | Platform abstraction layer | +| `libaotminipal.a` | 13 | AOT platform abstraction | +| `libz.a` (zlib-ng 2.2.5) | 35 | Compression (zlib-compat) | +| `libzstd.a` (zstd 1.5.7) | 27 | Zstandard compression | +| `libSystem.IO.Compression.Native.a` | 2 | Managed compression P/Invoke | +| `libSystem.Native.a` | 28 | System P/Invoke (IO, networking, process, etc.) | +| `libSystem.Native.TimeZoneData.a` | 1 | Timezone data support | +| `libSystem.Native.TimeZoneData.Invariant.a` | 1 | Invariant timezone | +| `libSystem.Globalization.Native.a` | 11 | ICU globalization bindings | + +Additionally installs pre-built ICU libraries and data files: +- `libicuuc.a`, `libicui18n.a`, `libicudata.a` +- `icudt.dat`, `icudt_CJK.dat`, `icudt_EFIGS.dat`, `icudt_no_CJK.dat` + +### Time Breakdown (approximate) + +| Phase | Duration | +|-------|----------| +| CMake configure | ~27s | +| minipal (26 files, 2 libs) | ~10s | +| zlib-ng (35 files) | ~25s | +| zstd (27 files) | ~20s | +| System.IO.Compression.Native (2 files) | ~2s | +| System.Native (28 files) | ~18s | +| System.Globalization.Native (11 files) | ~7s | +| Linking static libs + install | ~1s | + +Note: Built with `ninja -j 1` (single-threaded). Parallelism could significantly reduce this. + +### Target Chain + +``` +AcquireEmscriptenSdk → GenerateNativeVersionFile → GenerateEmccExports + → BuildNativeCommon → BuildNativeUnix (108,792ms) + → CopyNativeFiles (48ms) +``` + +### Emscripten SDK (built from source) + +``` +emsdk path: src/mono/browser/emsdk/ +emcc: src/mono/browser/emsdk/emscripten/ +clang/wasm-ld: src/mono/browser/emsdk/bin/ +node: src/mono/browser/emsdk/node/bin/ +``` + +--- + +## Path 2: Test App Native Builds (3 projects) + +These follow the **identical pipeline** documented in `native-build-analysis.md` for app builds, but run in Release mode with `-O2` optimization. + +### Projects + +| Project | ID | Project File | +|---------|----|-------------| +| System.Diagnostics.Tracing.Tests | 57367 | `src/libraries/System.Diagnostics.Tracing/tests/System.Diagnostics.Tracing.Tests.csproj` | +| Invariant.Tests | 115075 | `src/libraries/System.Runtime/tests/System.Globalization.Tests/Invariant/Invariant.Tests.csproj` | +| InvariantTimezone.Tests | 117049 | `src/libraries/System.Runtime/tests/System.Runtime.Tests/InvariantTimezone/System.Runtime.InvariantTimezone.Tests.csproj` | + +### Phase Timings + +| Phase | Target | Tracing (57367) | Invariant (115075) | InvariantTZ (117049) | +|-------|--------|-----------------|--------------------|---------------------| +| Setup | `_SetupEmscripten` | 0ms | 0ms | 0ms | +| Emcc Version Check | `_CheckEmccIsExpectedVersion` | 467ms | 593ms | 476ms | +| Interop Scan | `_ScanAssembliesDecideLightweightMarshaler` | 83ms | 76ms | 30ms | +| Interop Gen | `_GenerateManagedToNative` | 1,101ms | 709ms | 730ms | +| Compile (EmccCompile) | `_WasmCompileNativeSourceFiles` | **988ms** | **1,135ms** | **1,028ms** | +| Link (emcc → wasm-ld) | `_BrowserWasmLinkDotNet` | **11,163ms** | **11,218ms** | **10,688ms** | +| Post-Link Optimize | `_RunWasmOptPostLink` | **968ms** | **920ms** | **900ms** | +| **Total native pipeline** | | **~14.8s** | **~14.7s** | **~13.9s** | + +### EmccCompile — Source Files (same 4 files per project) + +``` +pinvoke.c → pinvoke.o +driver.c → driver.o +corebindings.c → corebindings.o +runtime.c → runtime.o +``` + +### Emcc Link Command + +``` +emcc "@emcc-default.rsp" -msimd128 "@emcc-link.rsp" "@emcc-link.rsp(local)" +``` + +#### Resolved Flags (Release) + +``` +-O2 # Release optimization (vs -O0 in app debug build) +-v -g # Verbose + debug info +-fwasm-exceptions # Native WASM exception handling +-s EXPORT_ES6=1 +-s INITIAL_MEMORY=45678592 # ~43.6 MB initial heap (vs 32 MB in app build) +-s STACK_SIZE=5MB +-s WASM_BIGINT=1 +-s LLD_REPORT_UNDEFINED +-s ERROR_ON_UNDEFINED_SYMBOLS=1 +--emit-symbol-map # Symbol map for debugging (not in app build) +``` + +#### Static Libraries Linked (27) + +Same set as app build, plus: +- `libzstd.a` — Zstandard compression (not in app build) +- `libSystem.Native.TimeZoneData.a` — timezone data (not in app build) +- `libmono-component-diagnostics_tracing-static.a` — full diagnostics (app uses stub) +- `libmono-component-marshal-ilgen-static.a` — full marshal IL gen (app uses stub) + +#### Post-Link: wasm-opt Pass + +Invoked within the `_BrowserWasmLinkDotNet` Exec task: + +``` +wasm-opt --strip-target-features --post-emscripten -O2 \ + --low-memory-unused --zero-filled-memory \ + --pass-arg=directize-initial-contents-immutable \ + dotnet.native.wasm -o dotnet.native.wasm \ + -g --mvp-features --enable-bulk-memory --enable-exception-handling \ + --enable-multivalue --enable-mutable-globals --enable-reference-types \ + --enable-sign-ext --enable-simd +``` + +### _RunWasmOptPostLink — Additional wasm-opt Pass (NEW) + +Not present in the app build. Runs **after** linking as a separate target: + +``` +wasm-opt --enable-simd --enable-exception-handling --enable-bulk-memory \ + --enable-simd --strip-dwarf \ + dotnet.native.wasm -o dotnet.native.wasm +``` + +**Purpose:** Strips DWARF debug info while preserving WASM feature flags. Takes ~900–968ms. + +### Environment Variables + +``` +WASM_ENABLE_SIMD=1 +WASM_ENABLE_EH=1 +WASM_ENABLE_EVENTPIPE=1 # Enabled (vs 0 in app build) +ENABLE_JS_INTEROP_BY_VALUE=0 +RUN_AOT_COMPILATION=0 +ENABLE_AOT_PROFILER=0 +ENABLE_DEVTOOLS_PROFILER=0 +ENABLE_LOG_PROFILER=0 +EM_FROZEN_CACHE=1 +``` + +--- + +## Comparison: App Build vs Runtime Build + +| Aspect | App Build (`native-build-analysis.md`) | Runtime Test Build | +|--------|---------------------------------------|-------------------| +| Optimization | `-O0` (debug) | **`-O2`** (release) | +| EmccCompile time | 4,463ms | ~1,000ms (fewer files? caching?) | +| Link time | 4,461ms | **10,688–11,218ms** (2.5× slower) | +| `_RunWasmOptPostLink` | absent | **900–968ms** | +| `_CheckEmccIsExpectedVersion` | not present | **467–593ms** | +| Initial heap | 32 MB | **~43.6 MB** | +| `--emit-symbol-map` | no | **yes** | +| `libzstd.a` | not linked | **linked** | +| Diagnostics components | stubs | **full implementations** | +| EventPipe | disabled | **enabled** | +| Native libs source | prebuilt from SDK packs | **built from source** (109s) | + +### Why Link Is Slower + +The `-O2` flag causes emcc to run LLVM optimization passes and `wasm-opt` during linking, which is absent at `-O0`. The link step internally runs: +1. `clang --version` check +2. `node compiler.mjs` — Emscripten JS compiler (symbol resolution) +3. `wasm-ld` — WebAssembly linker +4. `llvm-objcopy` — strip producers section +5. `node compiler.mjs` — JS glue generation +6. `wasm-opt -O2` — Binaryen optimization pass (~additional seconds) +7. `wasm-opt --print-function-map` — symbol map generation + +Steps 6–7 do not execute at `-O0`, explaining the ~2.5× difference. + +--- + +## Total Native Build Cost in Runtime CI + +| Component | Duration | Notes | +|-----------|----------|-------| +| Native libs source build | **108,792ms** | CMake + 141 C files via ninja -j 1 | +| Test app #1 native pipeline | **~14,800ms** | System.Diagnostics.Tracing.Tests | +| Test app #2 native pipeline | **~14,700ms** | Invariant.Tests | +| Test app #3 native pipeline | **~13,900ms** | InvariantTimezone.Tests | +| **Total native work** | **~152s** | | + +These run on different build nodes so wall-clock impact depends on parallelism. The native libs build (109s) is on the critical path as test apps depend on the produced `.a` files. + +## Toolchain + +| Component | Version/Path | +|-----------|-------------| +| Emscripten SDK | Built from source at `src/mono/browser/emsdk/` | +| Clang/LLD | LLD 19.1.0 (from dotnet-llvm-project) | +| CMake | 3.30.3 | +| Ninja | `/usr/bin/ninja` | +| Node.js | `emsdk/node/bin/node` | +| .NET SDK | 11.0.100-preview.1.26104.118 | + +--- + +# Part 2: CoreCLR Native Build + +The CoreCLR build has **three** native build components, all using CMake + Ninja + Emscripten. Unlike Mono, the CoreCLR build runs on **Windows** and does **not** produce per-test-app native wasm binaries — there are zero `EmccCompile` task invocations and zero `_BrowserWasmLinkDotNet` targets. + +## Native Build Components + +| Component | Project | Script | Duration | Ninja Steps | +|-----------|---------|--------|----------|-------------| +| CoreCLR Runtime Engine | `runtime.proj` | `build-runtime.cmd` | **911,479ms** (~15.2 min) | **840** | +| Native Libs | `build-native.proj` | `build-native.cmd` | **376,193ms** (~6.3 min) | **144** | +| CoreHost / BrowserHost | `corehost.proj` | `build.cmd` | **88,533ms** (~89s) | **14** | +| **Total native** | | | **~1,376s** (~23 min) | **998** | + +--- + +## Component 1: CoreCLR Runtime Engine (911s) + +**Project:** `src/coreclr/runtime.proj` (project 111) +**Target:** `BuildRuntime` → Exec: `build-runtime.cmd` + +This is the **biggest difference from Mono** — CoreCLR compiles the entire runtime engine (GC, JIT/interpreter, type system, etc.) from C/C++ source via emcc. Mono does not need this step because pre-built `.a` static libraries are provided. + +### Build Flow + +``` +MSBuild (runtime.proj) + ├─ _AcquireLocalEmscriptenSdk (4,646ms) + ├─ GenerateEmccExports + └─ BuildRuntime (911,479ms) + └─ Exec: build-runtime.cmd + ├─ CMake configure (525.1s = ~8.75 min!) + └─ Ninja build (840 steps) + └─ emcc compiles C/C++ → .o → .a +``` + +### CMake Arguments (CoreCLR-specific) + +``` +-S src/coreclr # Source: CoreCLR (not src/mono!) +-DCLR_CMAKE_RUNTIME_CORECLR=1 # CoreCLR runtime mode +-DFEATURE_INTERPRETER=1 # IL Interpreter enabled +-DCLR_CMAKE_KEEP_NATIVE_SYMBOLS=true # Keep debug symbols +-DCDAC_BUILD_TOOL_BINARY_PATH=... # cDAC build tool +-DCLR_DOTNET_RID=browser-wasm +-DCLR_CMAKE_PGO_INSTRUMENT=0 +-DCLR_CMAKE_PGO_OPTIMIZE=0 +``` + +Common flags shared with Mono: +``` +-DFEATURE_SINGLE_THREADED=1 +-DFEATURE_PERFTRACING_PAL_WS=1 +-DFEATURE_PERFTRACING_DISABLE_THREADS=1 +-DFEATURE_PERFTRACING_DISABLE_DEFAULT_LISTEN_PORT=1 +-DFEATURE_PERFTRACING_DISABLE_PERFTRACING_LISTEN_PORTS=1 +-DGEN_PINVOKE=1 +-DBUILD_LIBS_NATIVE_BROWSER=1 +``` + +### Why CMake Configure Takes 525s + +The CoreCLR source tree (`src/coreclr`) is much larger than `src/native/libs`. On Windows with emcmake, each `try_compile` / `check_type_size` / feature detection test invokes emcc as a subprocess, which is significantly slower than on Linux due to process spawn overhead. + +--- + +## Component 2: Native Libs (376s) + +**Project:** `src/native/libs/build-native.proj` (project 1106) +**Target:** `BuildNativeWindows` → Exec: `build-native.cmd` + +Same source code as the Mono build but runs on Windows. + +### Build Flow + +``` +MSBuild (build-native.proj) + └─ BuildNativeWindows (376,193ms) + └─ Exec: build-native.cmd + ├─ CMake configure (313.2s = ~5.2 min) + └─ Ninja build (144 steps) +``` + +### CMake Arguments + +Identical to Mono's `build-native.proj` except: +``` +-DCLR_CMAKE_RUNTIME_CORECLR=1 # (Mono uses -DCLR_CMAKE_RUNTIME_MONO=1) +``` + +### Libraries Produced + +Same set as Mono: `libz.a`, `libzstd.a`, `libSystem.Native.a`, `libSystem.IO.Compression.Native.a`, `libSystem.Globalization.Native.a`, `libminipal.a`, etc., plus ICU data. + +--- + +## Component 3: CoreHost / BrowserHost (89s) + +**Project:** `src/native/corehost/corehost.proj` (project 12968) +**Target:** `BuildCoreHostOnWindows` → Exec: `build.cmd` + +This component **does not exist in the Mono build**. It produces the browser host entry point and **links `dotnet.native.wasm` and `dotnet.native.js` once**, rather than per-app. + +### Build Flow + +``` +MSBuild (corehost.proj) + └─ BuildCoreHostOnWindows (88,533ms) + └─ Exec: build.cmd + ├─ Visual Studio 2026 Developer Command Prompt (v18.3.0-insiders) + ├─ CMake configure (11.7s) + └─ Ninja build (14 steps) + ├─ browserhost: empty.c, browserhost.cpp → libBrowserHost.a + ├─ hostmisc: trace.cpp, fx_ver.cpp, utils.cpp, pal.unix.cpp → libhostmisc.a + └─ Link: emcc → dotnet.native.js + dotnet.native.wasm +``` + +### CMake Arguments (CoreHost-specific) + +``` +-S src/native/corehost +-DCLR_CMAKE_RUNTIME_CORECLR=1 +-DCLI_CMAKE_COMMIT_HASH=572c02ab52c237e84056eb68906bb89860bd2086 +-DCLI_CMAKE_FALLBACK_OS=browser +-DCLR_CMAKE_TARGET_ARCH=wasm +-DCLR_CMAKE_TARGET_OS=browser +``` + +### Output + +``` +artifacts/bin/browser-wasm.Release/ + ├─ corehost/ + │ ├─ dotnet.native.js + │ ├─ dotnet.native.wasm + │ └─ dotnet.native.js.symbols + └─ sharedFramework/ + ├─ libBrowserHost.a + ├─ dotnet.native.js + ├─ dotnet.native.wasm + └─ dotnet.native.js.symbols +``` + +--- + +# Part 3: Mono vs CoreCLR Comparison + +## Architecture + +``` +MONO: + build-native.proj (libs) → .a static libs + ↓ + Per-test-app: EmccCompile (4 C files) → emcc link (.a + .o) → dotnet.native.wasm + ↑ + Mono runtime .a libs (pre-built: libmonosgen-2.0.a, libmono-ee-interp.a, etc.) + +CORECLR: + runtime.proj (CoreCLR engine) → .a static libs + build-native.proj (libs) → .a static libs + corehost.proj (browserhost) → dotnet.native.wasm (linked once) +``` + +**Key difference:** Mono links `dotnet.native.wasm` **per app** (embedding runtime + libs + app glue). CoreCLR links it **once** in the corehost step. + +## Timing Comparison + +| Component | Mono (Linux) | CoreCLR (Windows) | Ratio | +|-----------|-------------|-------------------|-------| +| **Runtime engine build** | — (pre-built) | **911s** | ∞ | +| **Native libs build** | **109s** | **376s** | 3.5× | +| ↳ CMake configure | 27.4s | 313.2s | 11.4× | +| ↳ Ninja compile | ~81s | ~63s | 0.8× | +| ↳ Ninja steps | 141 | 144 | ~same | +| **CoreHost/BrowserHost** | — | **89s** | N/A | +| ↳ CMake configure | — | 11.7s | — | +| ↳ Ninja (14 steps) | — | ~77s | — | +| **Per-app EmccCompile** | **~1,050ms** × 3 | — (none) | N/A | +| **Per-app emcc link** | **~11,000ms** × 3 | — (none) | N/A | +| **Per-app wasm-opt** | **~930ms** × 3 | — (none) | N/A | +| **Total native** | **~152s** | **~1,376s** | **9.1×** | + +## Why CoreCLR Native Build Is 9× Slower + +1. **CoreCLR compiles the runtime engine from source** (840 ninja steps, 911s). Mono's runtime is pre-built as `.a` files in the SDK pack — it only needs to link them. + +2. **CMake configure is dramatically slower on Windows** — 313s vs 27.4s for the same `build-native.proj` (11.4× slower). Each `try_compile` test spawns `emcc.bat` → python → clang, which has high process creation overhead on Windows. + +3. **CoreCLR runtime CMake configure alone takes 525s** — nearly as long as the Mono build's entire native work (152s). + +4. **No per-app native compilation in CoreCLR** — CoreCLR produces `dotnet.native.wasm` once in the corehost step. Mono compiles and links per test app (~14.8s each × 3 apps = ~44s), but this is dwarfed by CoreCLR's upfront cost. + +## CMake Feature Flags Comparison + +| Flag | Mono | CoreCLR | +|------|------|---------| +| `CLR_CMAKE_RUNTIME_MONO` | ✅ | — | +| `CLR_CMAKE_RUNTIME_CORECLR` | — | ✅ | +| `FEATURE_INTERPRETER` | — | ✅ | +| `FEATURE_SINGLE_THREADED` | ✅ (shared) | ✅ (shared) | +| `FEATURE_PERFTRACING_*` | ✅ (shared) | ✅ (shared) | +| `GEN_PINVOKE` | ✅ (shared) | ✅ (shared) | +| `BUILD_LIBS_NATIVE_BROWSER` | ✅ (shared) | ✅ (shared) | +| `CLR_CMAKE_PGO_INSTRUMENT` | — | ✅ (=0) | +| `CLR_CMAKE_PGO_OPTIMIZE` | — | ✅ (=0) | +| `CLR_CMAKE_KEEP_NATIVE_SYMBOLS` | — | ✅ | +| `CDAC_BUILD_TOOL_BINARY_PATH` | — | ✅ | + +## Toolchain Comparison + +| Component | Mono (Linux) | CoreCLR (Windows) | +|-----------|-------------|-------------------| +| CMake | 3.30.3 (`/usr/bin/cmake`) | VS 2026 Insiders bundled CMake | +| Ninja | `/usr/bin/ninja` (system) | VS 2026 Insiders bundled | +| Emscripten | `src/mono/browser/emsdk/` | `src/mono/browser/emsdk/` (same) | +| Clang/LLD | LLD 19.1.0 | LLD 19.1.0 (same) | +| Node.js | `emsdk/node/bin/node` | `emsdk/node/bin/node` (same) | +| .NET SDK | 11.0.100-preview.1 | 11.0.100-preview.1 (same) | +| Build script | `build-native.sh` | `build-native.cmd` | +| Dev prompt | N/A | Visual Studio 2026 v18.3.0-insiders | + +## Other Non-Native Expensive Targets (CoreCLR) + +| Target | Duration | Count | Notes | +|--------|----------|-------|-------| +| `CoreCompile` (Csc) | 682s | 580 invocations | C# compilation | +| `ILLinkTrimAssembly` | 189s | 91 invocations | IL trimming | +| `Restore` | 105s | 2 invocations | NuGet restore | +| `IlcCompile` | 46s | 2 invocations | NativeAOT | +| `DownloadAndInstallFirefox` | 43s | 1 | Browser test infra | diff --git a/.research/wasm-native-build-analysis.md b/.research/wasm-native-build-analysis.md new file mode 100644 index 00000000000000..71735f1f04ce17 --- /dev/null +++ b/.research/wasm-native-build-analysis.md @@ -0,0 +1,740 @@ +# WASM Native Build Analysis + +Analysis of the WASM Browser build pipeline based on three binlogs: +- `appbuild-mono-default.binlog` — `dotnet build` with no native build (`WasmBuildNative` is not set) +- `appbuild-mono-native.binlog` — `dotnet build` with native build (`WasmBuildNative=true`) +- `apppublish-mono-native.binlog` — `dotnet publish` with native build (`WasmBuildNative=true`) + +--- + +## 1. High-Level Architecture + +### Two Entry Points + +| Scenario | Entry Target | Invoked By | +|----------|-------------|------------| +| `dotnet build` | `WasmBuildApp` | Hooked via `_WasmNativeForBuild` into the build after `AfterBuild` | +| `dotnet publish` | `WasmTriggerPublishApp` | Hooked into publish pipeline; launches a **nested MSBuild** invocation calling `WasmNestedPublishApp` | + +### Key Distinction: Build vs Publish + +- **Build path**: The WASM native pipeline runs inline in the same project evaluation. `WasmBuildApp` → `_WasmBuildAppCore` → native compilation. +- **Publish path**: `WasmTriggerPublishApp` invokes an `MSBuild` task targeting the same `.csproj` with target `WasmNestedPublishApp`. This creates a **separate project evaluation** (Project ID 177 in the binlog). The nested project does `_GatherWasmFilesToPublish` → `_WasmBuildAppCore` → full native pipeline. + +--- + +## 2. .targets File Layout (Source Files) + +The build logic is split across several MSBuild .targets files from different packs/SDKs: + +| File | Pack / SDK | Purpose | +|------|-----------|---------| +| `Microsoft.NET.Sdk.WebAssembly.Browser.targets` | `Microsoft.NET.Sdk.WebAssembly.Pack` (NuGet) | Browser-specific DependsOn hookups, `_GatherWasmFilesToBuild`, `_GatherWasmFilesToPublish`, `ProcessPublishFilesForWasm`, `_ResolveWasmConfiguration`, `_ResolveWasmOutputs`, boot JSON generation | +| `Microsoft.NET.Sdk.WebAssembly.Pack.targets` | `Microsoft.NET.Sdk.WebAssembly.Pack` (NuGet) | `ComputeWasmBuildAssets`, `ConvertDllsToWebCil`, `ComputeWasmExtensions`, `GeneratePublishWasmBootJson` | +| `Sdk.targets` | `Microsoft.NET.Runtime.WebAssembly.Sdk` (workload pack) | Core wasm build pipeline: `_WasmBuildAppCore`, `WasmBuildApp`, `_WasmBuildNativeCore`, `WasmLinkDotNet`, native compile/link | +| `BrowserWasmApp.targets` | `Microsoft.NET.Runtime.WebAssembly.Sdk` (workload pack) | Browser-specific native: `_SetupEmscripten`, `_PrepareForBrowserWasmBuildNative`, `_BrowserWasmWriteCompileRsp`, `_BrowserWasmWriteRspForLinking`, `_BrowserWasmLinkDotNet` | +| `WasmApp.Common.targets` | `Microsoft.NET.Runtime.WebAssembly.Sdk` (workload pack) | Common properties, `_InitializeCommonProperties`, `_ReadWasmProps`, `_SetWasmBuildNativeDefaults`, `_WasmCalculateInitialHeapSizeFromBitcodeFiles` | +| `Sdk.targets` | `Microsoft.NET.Runtime.MonoTargets.Sdk` (workload pack) | `_MonoReadAvailableComponentsManifest`, `_MonoComputeAvailableComponentDefinitions`, `_MonoSelectRuntimeComponents` | +| `RuntimeComponentManifest.targets` | `Microsoft.NET.Runtime.MonoTargets.Sdk` (workload pack) | Mono runtime component selection | + +--- + +## 3. Target Dependency Chains + +### 3.1 Build (Native) — `WasmBuildApp` + +``` +WasmBuildApp + DependsOn: _WasmBuildAppCore + +_WasmBuildAppCore + DependsOn: + _InitializeCommonProperties + PrepareInputsForWasmBuild + _WasmResolveReferences + _WasmBuildNativeCore + WasmGenerateAppBundle (not observed in binlog—skipped when WasmGenerateAppBundle=false) + _EmitWasmAssembliesFinal + +PrepareInputsForWasmBuild + DependsOn: + _SetupToolchain + _ReadWasmProps + _SetWasmBuildNativeDefaults + _GetDefaultWasmAssembliesToBundle + +_WasmBuildNativeCore + DependsOn: + _WasmCommonPrepareForWasmBuildNative + PrepareForWasmBuildNative + _ScanAssembliesDecideLightweightMarshaler + _WasmAotCompileApp (skipped when RunAOTCompilation!=true) + _WasmStripAOTAssemblies (skipped when RunAOTCompilation!=true) + _GenerateManagedToNative + WasmLinkDotNet + WasmAfterLinkSteps + +PrepareForWasmBuildNative + DependsOn: + _CheckToolchainIsExpectedVersion + _PrepareForBrowserWasmBuildNative + +WasmLinkDotNet + DependsOn: + _CheckToolchainIsExpectedVersion + _WasmSelectRuntimeComponentsForLinking + _WasmCompileAssemblyBitCodeFilesForAOT (AOT only) + _WasmCalculateInitialHeapSizeFromBitcodeFiles + _WasmWriteRspForCompilingNativeSourceFiles + _WasmCompileNativeSourceFiles + _GenerateObjectFilesForSingleFileBundle (not observed) + _WasmWriteRspForLinking + _BrowserWasmLinkDotNet +``` + +### 3.2 Build (Default, No Native) — No `WasmBuildApp` + +When `WasmBuildNative` is not set, the native pipeline does **NOT** run. Instead: + +``` +Build → AfterBuild (standard MSBuild) + ↓ +_ResolveWasmConfiguration +_GetWasmRuntimePackVersion +_ResolveWasmOutputs ← Uses pre-built runtime pack assets directly +ResolveWasmOutputs +GenerateBuildRuntimeConfigurationFiles +_GenerateBuildWasmBootJson +_AddWasmStaticWebAssets +...static web assets pipeline... +``` + +The key difference: `_ResolveWasmOutputs` uses `ComputeWasmBuildAssets` + `ConvertDllsToWebCil` to produce WebCil files from assemblies, and copies pre-built `dotnet.native.js`/`dotnet.native.wasm` from the runtime pack. No emcc compilation occurs. + +### 3.3 Publish (Native) — `WasmTriggerPublishApp` + +``` +Publish (Project 155) + ↓ + Build → Compile → ...standard build... + ↓ + _WasmPrepareForPublish + PrepareForPublish + _ComputeManagedAssemblyToLink + PrepareForILLink + _RunILLink ← ILLink (trimmer) runs BEFORE native build + ILLink + ↓ + _GatherWasmFilesToPublish + _ResolveWasmConfiguration + WasmTriggerPublishApp ← MSBuild task → nested project + ↓ (Project 177) + WasmNestedPublishApp + DependsOn: + _GatherWasmFilesToPublish + _WasmBuildAppCore ← same chain as build (see 3.1) + ↓ (back to Project 155) + _WasmNative + ProcessPublishFilesForWasm + ComputeWasmExtensions + GeneratePublishWasmBootJson + _AddPublishWasmBootJsonToStaticWebAssets + ...publish static web assets + compression pipeline... + _RunWasmOptPostLink ← wasm-opt optimization (publish-only) + CopyFilesToPublishDirectory +``` + +--- + +## 4. Key Properties + +### 4.1 Build-Controlling Properties + +| Property | Default | Description | +|----------|---------|-------------| +| `WasmBuildNative` | `false` (build), `true` (publish) | Master switch for native compilation | +| `RunAOTCompilation` | `false` | Enables AOT compilation of managed assemblies to WASM | +| `WasmEnableExceptionHandling` | `true` | Uses WASM exception handling (`-fwasm-exceptions`) | +| `WasmEnableSIMD` | `true` | Enables SIMD instructions (`-msimd128`) | +| `WasmEnableES6` | (implied `true`) | Emits ES6 module output (`-s EXPORT_ES6=1`) | +| `WasmEnableThreads` | `false` | Enables threads/SharedArrayBuffer support | +| `WasmNativeStrip` | (see below) | Strip debug symbols from native output | +| `WasmNativeDebugSymbols` | (implied) | Include debug symbols | +| `WasmDedup` | `true` | Deduplicate assemblies | +| `WasmEmitSymbolMap` | `false` | Emit symbol map | +| `WasmOptimizationLevel` | `-O0` (debug), `-Oz` (release) | Emscripten optimization level | +| `PublishTrimmed` | `true` | Enables IL trimming (ILLink) before native build | +| `WasmGenerateAppBundle` | `false` | Whether to generate the app bundle folder structure | +| `WasmFingerprintAssets` | (implied) | Fingerprint static web assets | +| `WasmRuntimeAssetsLocation` | `_framework` | Where runtime assets are served from | +| `WasmInitialHeapSize` | Calculated (e.g., `33554432` = 32MB) | Initial WASM memory in bytes | + +### 4.2 Path Properties + +| Property | Value (from binlog) | Description | +|----------|--------------------|-------------| +| `EmscriptenSdkToolsPath` | `…/Microsoft.NET.Runtime.Emscripten.3.1.56.Sdk.win-x64/10.0.3/tools/` | Emscripten SDK root | +| `EmscriptenNodeToolsPath` | `…/Microsoft.NET.Runtime.Emscripten.3.1.56.Node.win-x64/10.0.3/tools/` | Node.js for emscripten | +| `EmscriptenUpstreamBinPath` | `…/tools/bin/` | Clang/wasm-ld binaries | +| `WasmClang` | `emcc` (set to full path by `_PrepareForBrowserWasmBuildNative`) | Emscripten C compiler | +| `_WasmOutputFileName` | `dotnet.native.wasm` | Output WASM binary name | +| `MicrosoftNetCoreAppRuntimePackDir` | `…/Microsoft.NETCore.App.Runtime.Mono.browser-wasm/10.0.3/` | Runtime pack root | +| `PublishDir` | `bin/Debug/net10.0/publish/` (adjusted by `_ResolveWasmConfiguration`) | Publish output dir | + +--- + +## 5. Key Tasks and What They Do + +### 5.1 Non-Native Build Tasks (Default Path) + +| Task | Target | Duration | What It Does | +|------|--------|----------|-------------| +| `ComputeWasmBuildAssets` | `_ResolveWasmOutputs` | 198ms | Resolves which assemblies go to the WASM app, maps them to static web assets | +| `ConvertDllsToWebCil` | `_ResolveWasmOutputs` | 299ms | Converts .dll files to WebCil format (`.wasm` extension) for browser compatibility | +| `GenerateWasmBootJson` | `_GenerateBuildWasmBootJson` | ~161ms | Generates `blazor.boot.json` / boot config for the WASM runtime | + +### 5.2 Native Build Tasks + +| Task | Target | Duration | What It Does | +|------|--------|----------|-------------| +| `MarshalingPInvokeScanner` | `_ScanAssembliesDecideLightweightMarshaler` | 362ms | Scans assemblies for P/Invoke signatures to decide marshaling strategy | +| `Exec (mono-aot-cross)` | `_GenerateManagedToNative` | 140ms | Runs `mono-aot-cross.exe --print-icall-table` to generate `runtime-icall-table.h` | +| `ManagedToNativeGenerator` | `_GenerateManagedToNative` | 1121ms | Generates P/Invoke wrapper C code and registration tables from managed assemblies | +| `EmccCompile` | `_WasmCompileNativeSourceFiles` | 4463ms | Compiles C source files (`pinvoke.c`, `driver.c`, `corebindings.c`, `runtime.c`) to `.o` files using emcc | +| `Exec (emcc link)` | `_BrowserWasmLinkDotNet` | 4461ms | Links all `.o` files + static libraries (`.a`) into `dotnet.native.wasm` + `dotnet.native.js` | +| `WasmCalculateInitialHeapSize` | `_WasmCalculateInitialHeapSizeFromBitcodeFiles` | 17ms | Calculates minimum initial WASM memory from bitcode/object file sizes | + +### 5.3 Publish-Only Tasks + +| Task | Target | Duration | What It Does | +|------|--------|----------|-------------| +| `ILLink` | `_RunILLink` | 3022ms | Runs the IL Trimmer to remove unused managed code BEFORE native build | +| `MSBuild` | `WasmTriggerPublishApp` | 14441ms | Invokes nested MSBuild with target `WasmNestedPublishApp` | +| `Exec (wasm-opt)` | `_RunWasmOptPostLink` | 686ms | Runs Binaryen `wasm-opt` to optimize the linked `.wasm` binary | + +--- + +## 6. Native Compilation Details + +### 6.1 Source Files Compiled (via `EmccCompile`) + +These C source files from the runtime pack are compiled during native build: + +| Source File | Output | Description | +|-------------|--------|-------------| +| `pinvoke.c` | `pinvoke.o` | P/Invoke bridge code | +| `driver.c` | `driver.o` | WASM runtime driver | +| `corebindings.c` | `corebindings.o` | JS-to-managed interop bindings | +| `runtime.c` | `runtime.o` | Mono runtime initialization | + +Source location: `Microsoft.NETCore.App.Runtime.Mono.browser-wasm//runtimes/browser-wasm/native/src/` + +### 6.2 Compile Command Structure + +``` +emcc @/native/src/emcc-default.rsp + @/emcc-compile.rsp + -c -o +``` + +The compile response file (`emcc-compile.rsp`) contains flags generated by `_BrowserWasmWriteCompileRsp`. + +### 6.3 Link Command Structure + +``` +emcc @/native/src/emcc-default.rsp + -msimd128 + @/native/src/emcc-link.rsp + @/emcc-link.rsp +``` + +The link response file (`emcc-link.rsp`, generated by `_BrowserWasmWriteRspForLinking`) contains: + +**Flags:** +- `-O0` (debug) or `-Oz` (release) +- `-fwasm-exceptions` (when `WasmEnableExceptionHandling=true`) +- `-s EXPORT_ES6=1` (ES6 module) +- `-s INITIAL_MEMORY=33554432` (from `WasmInitialHeapSize`) +- `-s STACK_SIZE=5MB` +- `-s WASM_BIGINT=1` +- `-s LLD_REPORT_UNDEFINED` +- `-s ERROR_ON_UNDEFINED_SYMBOLS=1` + +**Pre/Post JS files:** +- `--pre-js dotnet.es6.pre.js` +- `--js-library dotnet.es6.lib.js` +- `--extern-post-js dotnet.es6.extpost.js` + +**Input files (linked in order):** +1. Compiled object files: `pinvoke.o`, `driver.o`, `corebindings.o`, `runtime.o` +2. Static libraries from runtime pack: + - `libbrotlicommon.a`, `libbrotlidec.a`, `libbrotlienc.a` + - `libicudata.a`, `libicui18n.a`, `libicuuc.a` + - `libmono-component-debugger-static.a` + - `libmono-component-diagnostics_tracing-stub-static.a` + - `libmono-component-hot_reload-static.a` + - `libmono-component-marshal-ilgen-stub-static.a` + - `libmono-ee-interp.a` + - `libmono-icall-table.a` + - `libmono-profiler-aot.a`, `libmono-profiler-browser.a`, `libmono-profiler-log.a` + - `libmono-wasm-eh-wasm.a`, `libmono-wasm-simd.a` + - `libmonosgen-2.0.a` + - `libSystem.Globalization.Native.a` + - `libSystem.IO.Compression.Native.a` + - `libSystem.Native.a` + - `libz.a` + - `wasm-bundled-timezones.a` + +**Output:** `dotnet.native.js` + `dotnet.native.wasm` + +**Exported Functions:** +`_free`, `_malloc`, `_sbrk`, `_memalign`, `_memset`, `stackAlloc`, `stackRestore`, `stackSave`, +`_emscripten_force_exit`, math functions (`_fmod`, `_atan2`, `_pow`, trig functions, etc.), +`___cpp_exception` + +### 6.4 Environment Variables Set for emcc + +| Variable | Value | Purpose | +|----------|-------|---------| +| `EMSDK_PYTHON` | `…/python.exe` | Python for emscripten | +| `DOTNET_EMSCRIPTEN_LLVM_ROOT` | `…/tools/bin` | LLVM tools path | +| `DOTNET_EMSCRIPTEN_BINARYEN_ROOT` | `…/tools/` | Binaryen tools | +| `DOTNET_EMSCRIPTEN_NODE_JS` | `…/node.exe` | Node.js binary | +| `EM_CACHE` | `…/emscripten/cache/` | Emscripten cache dir | +| `EM_FROZEN_CACHE` | `1` | Don't regenerate cache | +| `ENABLE_JS_INTEROP_BY_VALUE` | `0` | JS interop mode | +| `WASM_ENABLE_SIMD` | `1` | Runtime SIMD flag | +| `WASM_ENABLE_EH` | `1` | Runtime EH flag | +| `WASM_ENABLE_EVENTPIPE` | `0` | Diagnostics | +| `RUN_AOT_COMPILATION` | `0` | AOT compilation flag | + +### 6.5 wasm-opt Post-Link (Publish Only) + +After linking, `_RunWasmOptPostLink` runs Binaryen's `wasm-opt`: + +``` +wasm-opt --enable-simd --enable-exception-handling --enable-bulk-memory + --enable-simd --strip-dwarf + /dotnet.native.wasm -o /dotnet.native.wasm +``` + +This optimizes the WASM binary and strips debug info for release. + +--- + +## 7. Runtime Component Selection + +The `_MonoSelectRuntimeComponents` / `_WasmSelectRuntimeComponentsForLinking` targets select which Mono runtime components to link. This determines which `.a` files are included: + +- **debugger** (`libmono-component-debugger-static.a`) +- **diagnostics_tracing** (stub in debug build) +- **hot_reload** (`libmono-component-hot_reload-static.a`) +- **marshal-ilgen** (stub — lightweight marshaler selected by `MarshalingPInvokeScanner`) + +The component manifest is read from `_MonoReadAvailableComponentsManifest`. + +--- + +## 8. Outputs + +### 8.1 Native Build Outputs + +All outputs go to `obj//net10.0/wasm/for-build/` (build) or `obj//net10.0/wasm/for-publish/` (publish): + +| File | Description | +|------|-------------| +| `dotnet.native.wasm` | The compiled WASM binary (Mono runtime + native libs + P/Invoke stubs) | +| `dotnet.native.js` | Emscripten-generated JS glue code | +| `pinvoke.o` | Compiled P/Invoke bridge | +| `driver.o` | Compiled WASM driver | +| `corebindings.o` | Compiled JS interop bindings | +| `runtime.o` | Compiled runtime init | +| `pinvoke-table.h` | Generated P/Invoke lookup table | +| `runtime-icall-table.h` | Internal call table from `mono-aot-cross` | +| `emcc-compile.rsp` | Compile response file | +| `emcc-link.rsp` | Link response file | + +### 8.2 Non-Native Build Outputs + +When `WasmBuildNative=false`, the outputs are copied from the runtime pack directly: + +| File | Source | +|------|--------| +| `dotnet.native.wasm` | `/runtimes/browser-wasm/native/dotnet.native.wasm` | +| `dotnet.native.js` | `/runtimes/browser-wasm/native/dotnet.native.js` | +| `*.wasm` (WebCil) | Generated by `ConvertDllsToWebCil` from managed assemblies | + +### 8.3 Common Outputs (Both Paths) + +| File | Generated By | Description | +|------|-------------|-------------| +| `blazor.boot.json` | `GenerateWasmBootJson` | Boot configuration listing assemblies, resources, config | +| `_framework/*` | Static Web Assets pipeline | Framework files served to browser | +| `*.gz`, `*.br` | Compression pipeline | Compressed static assets | + +--- + +## 9. Flow Comparison Summary + +``` +┌─────────────────────────────────────────────────────────────┐ +│ DEFAULT BUILD (no native) │ +│ │ +│ Build → Compile → ... → _ResolveWasmConfiguration │ +│ _ResolveWasmOutputs │ +│ ├─ ComputeWasmBuildAssets │ +│ └─ ConvertDllsToWebCil │ +│ _GenerateBuildWasmBootJson │ +│ _AddWasmStaticWebAssets │ +│ ...compression & copy... │ +│ │ +│ NO emcc, NO linking, pre-built dotnet.native.* from pack │ +└─────────────────────────────────────────────────────────────┘ + +┌─────────────────────────────────────────────────────────────┐ +│ NATIVE BUILD │ +│ │ +│ Build → Compile → ... → _GatherWasmFilesToBuild │ +│ WasmBuildApp │ +│ └─ _WasmBuildAppCore │ +│ ├─ _InitializeCommonProperties│ +│ ├─ PrepareInputsForWasmBuild │ +│ │ ├─ _SetupToolchain │ +│ │ ├─ _ReadWasmProps │ +│ │ └─ _SetWasmBuildNativeDefaults│ +│ ├─ _WasmBuildNativeCore │ +│ │ ├─ PrepareForWasmBuildNative│ +│ │ │ ├─ _CheckToolchainIsExpectedVersion│ +│ │ │ └─ _PrepareForBrowserWasmBuildNative│ +│ │ ├─ _ScanAssembliesDecideLightweightMarshaler│ +│ │ ├─ _GenerateManagedToNative│ +│ │ │ ├─ mono-aot-cross --print-icall-table│ +│ │ │ └─ ManagedToNativeGenerator│ +│ │ └─ WasmLinkDotNet │ +│ │ ├─ _WasmSelectRuntimeComponentsForLinking│ +│ │ ├─ _WasmCalculateInitialHeapSizeFromBitcodeFiles│ +│ │ ├─ _WasmWriteRspForCompilingNativeSourceFiles│ +│ │ ├─ _WasmCompileNativeSourceFiles (EmccCompile)│ +│ │ ├─ _WasmWriteRspForLinking│ +│ │ └─ _BrowserWasmLinkDotNet (Exec emcc link)│ +│ └─ _EmitWasmAssembliesFinal │ +│ _WasmNativeForBuild │ +│ _ResolveWasmOutputs │ +│ _GenerateBuildWasmBootJson │ +│ ...compression & copy... │ +└─────────────────────────────────────────────────────────────┘ + +┌─────────────────────────────────────────────────────────────┐ +│ PUBLISH (NATIVE) │ +│ │ +│ Publish → Build (full compile) │ +│ → ILLink (trim managed code) │ +│ → WasmTriggerPublishApp │ +│ └─ MSBuild → WasmNestedPublishApp (project 177) │ +│ ├─ _GatherWasmFilesToPublish │ +│ └─ _WasmBuildAppCore (same as above)│ +│ ... native compile + link ... │ +│ _RunWasmOptPostLink (wasm-opt) │ +│ → ProcessPublishFilesForWasm │ +│ → ComputeWasmExtensions │ +│ → GeneratePublishWasmBootJson │ +│ → ...publish static web assets + compression... │ +│ → CopyFilesToPublishDirectory │ +└─────────────────────────────────────────────────────────────┘ +``` + +--- + +## 10. Timing Summary + +### Build (Native) — Total ~16s + +| Phase | Duration | Key Target | +|-------|----------|-----------| +| C# Compile | ~10ms | `CoreCompile` (cached/incremental) | +| P/Invoke Scan | 362ms | `_ScanAssembliesDecideLightweightMarshaler` | +| M2N Code Gen | 1261ms | `_GenerateManagedToNative` | +| emcc Compile | 4463ms | `_WasmCompileNativeSourceFiles` | +| emcc Link | 4461ms | `_BrowserWasmLinkDotNet` | +| Wasm Outputs | 219ms | `_ResolveWasmOutputs` | +| Boot JSON | 124ms | `_GenerateBuildWasmBootJson` | +| Static Assets | ~500ms | Compression + manifests | + +### Build (Default) — Total ~7.5s + +| Phase | Duration | Key Target | +|-------|----------|-----------| +| C# Compile | 2283ms | `CoreCompile` | +| Wasm Outputs | 651ms | `_ResolveWasmOutputs` (ComputeWasmBuildAssets + ConvertDllsToWebCil) | +| Boot JSON | 161ms | `_GenerateBuildWasmBootJson` | +| Static Assets | ~600ms | Compression + copy | + +### Publish (Native) — Total ~29s + +| Phase | Duration | Key Target | +|-------|----------|-----------| +| C# Compile | 2781ms | `CoreCompile` | +| ILLink | 3022ms | `_RunILLink` | +| Native (nested) | 14441ms | `WasmTriggerPublishApp` (includes all native phases) | +| wasm-opt | 686ms | `_RunWasmOptPostLink` | +| Publish Assets | ~5900ms | Compression + copy | + +--- + +## 8. Mono vs CoreCLR WASM Native Build Comparison + +### 8.1 Build System Architecture + +When building for WASM browser, the build system selects the native pipeline based on `RuntimeFlavor`: + +**Import chain** (in `WasmApp.InTree.targets`): +```xml + + + + +``` + +**CoreCLR stub** (`BrowserWasmApp.CoreCLR.targets`): +```xml + + + + + + +``` + +Additionally, `BrowserWasmApp.props` (which sets up `RuntimeIdentifier=browser-wasm`, `TargetOS=browser`, and imports `WasmApp.Common.props`) is **only imported when `RuntimeFlavor == 'Mono'`**: +```xml + +``` + +For CoreCLR, some defaults are set directly in `WasmApp.InTree.props`: +```xml + + false + false + +``` + +### 8.2 Runtime Pack Name + +Both flavors produce the **same pack name**: `Microsoft.NETCore.App.Runtime.{flavor}.browser-wasm` +- Mono: `Microsoft.NETCore.App.Runtime.Mono.browser-wasm` +- CoreCLR: `Microsoft.NETCore.App.Runtime.browser-wasm` (uses CoreCLR artifacts) + +Both are placed in: `artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/{Configuration}/runtimes/browser-wasm/native/` + +### 8.3 Runtime Pack Native Directory Contents + +#### Files SHARED between Mono and CoreCLR + +| File | Purpose | +|------|---------| +| `dotnet.js` | Main runtime JavaScript | +| `dotnet.js.map` | Source map | +| `dotnet.runtime.js` | Runtime helper JS | +| `dotnet.runtime.js.map` | Source map | +| `dotnet.diagnostics.js` | Diagnostics support JS | +| `dotnet.diagnostics.js.map` | Source map | +| `dotnet.native.js` | Native bindings wrapper JS | +| `dotnet.native.js.symbols` | Symbol table for debugging | +| `dotnet.native.wasm` | Pre-linked WASM binary | +| `dotnet.d.ts` | TypeScript type definitions | +| `package.json` | NPM package metadata | +| `icudt.dat`, `icudt_CJK.dat`, etc. | ICU globalization data | +| **Shared native libs:** | | +| `libbrotlicommon.a` | Brotli compression | +| `libbrotlidec.a` | Brotli decompression | +| `libbrotlienc.a` | Brotli encoding | +| `libicudata.a` | ICU data | +| `libicui18n.a` | ICU internationalization | +| `libicuuc.a` | ICU unicode | +| `libz.a` | zlib compression | + +#### Files ONLY in Mono runtime pack + +| File | Purpose | +|------|---------| +| `dotnet.native.worker.mjs` | Threading web worker (conditional) | +| `wasm-bundled-timezones.a` | Bundled timezone data | +| **Mono runtime libraries:** | | +| `libmonosgen-2.0.a` | Mono runtime (SGen GC) | +| `libmono-ee-interp.a` | Mono interpreter | +| `libmono-icall-table.a` | Mono internal call table | +| `libmono-profiler-aot.a` | AOT profiler | +| `libmono-profiler-browser.a` | Browser profiler | +| `libmono-profiler-log.a` | Log profiler | +| `libmono-wasm-eh-wasm.a` | WASM exception handling | +| `libmono-wasm-simd.a` | WASM SIMD support | +| `libmono-component-debugger-static.a` | Debugger component | +| `libmono-component-diagnostics_tracing-stub-static.a` | Diagnostics tracing stub | +| `libmono-component-hot_reload-static.a` | Hot reload component | +| `libmono-component-marshal-ilgen-stub-static.a` | Marshal IL gen stub | +| **Source files for app re-linking (in `src/` subdir):** | | +| `src/pinvoke.c` | P/Invoke binding source | +| `src/driver.c` | WASM driver entry point | +| `src/runtime.c` | Runtime core | +| `src/corebindings.c` | .NET binding source | +| `src/emcc-default.rsp` | Emscripten compile flags | +| `src/emcc-link.rsp` | Emscripten linker flags | +| `src/wasm-props.json` | Feature detection/config | +| `src/es6/dotnet.es6.pre.js` | ES6 pre-JS module | +| `src/es6/dotnet.es6.lib.js` | ES6 JS library | +| `src/es6/dotnet.es6.extpost.js` | ES6 external post-JS | +| **Include headers (in `include/` subdir):** | | +| `include/wasm/*.h` | C headers for native compilation | + +#### Files ONLY in CoreCLR runtime pack + +| File | Purpose | +|------|---------| +| `System.Private.CoreLib.dll` | CoreLib (managed runtime) | +| `System.Private.CoreLib.pdb` | CoreLib debug symbols | +| `System.Private.CoreLib.xml` | CoreLib XML docs | +| `System.Private.CoreLib.deps.json` | CoreLib dependencies | +| **CoreCLR runtime libraries:** | | +| `libcoreclr_static.a` | CoreCLR runtime (static) | +| `libcoreclrminipal.a` | CoreCLR minimal PAL | +| `libcoreclrpal.a` | CoreCLR platform abstraction | +| `libgcinfo_unix_wasm.a` | GC info for WASM | +| `libnativeresourcestring.a` | Native resource strings | +| `libminipal.a` | Minimal PAL | +| **Host libraries:** | | +| `libBrowserHost.a` | Browser host integration | +| `libBrowserHost.js` | Browser host JS | +| `libBrowserHost.js.map` | Source map | +| **Interop libraries:** | | +| `libSystem.Runtime.InteropServices.JavaScript.Native.a` | JS interop native | +| `libSystem.Runtime.InteropServices.JavaScript.Native.js` | JS interop JS | +| `libSystem.Runtime.InteropServices.JavaScript.Native.js.map` | Source map | +| `libSystem.Globalization.Native.a` | Globalization PAL | +| `libSystem.IO.Compression.Native.a` | Compression PAL | +| **Other libraries:** | | +| `libSystem.Native.a` | System PAL | +| `libSystem.Native.Browser.a` | Browser-specific system PAL | +| `libSystem.Native.Browser.js` | Browser-specific system JS | +| `libSystem.Native.Browser.Utils.js` | Browser-specific system utility JS | +| `libSystem.Native.Browser.js.map` | Source map | +| `libSystem.Native.Browser.Utils.js.map` | Source map | +| `libSystem.Native.TimeZoneData.a` | Timezone data | +| `libSystem.Native.TimeZoneData.Invariant.a` | Invariant timezone data | + +### 8.4 Native Build Pipeline Comparison + +| Aspect | Mono | CoreCLR | +|--------|------|---------| +| **Native Build Implemented** | ✅ Yes | ❌ No (stub targets) | +| **`WasmBuildNative` default** | `false` (build), `true` (publish/AOT) | `false` (always) | +| **Re-linking per-app** | ✅ Via emcc (recompiles C sources + links .a libs) | ❌ Uses pre-linked `dotnet.native.wasm` | +| **C source files in pack** | ✅ Yes (`src/` subdir: driver.c, runtime.c, etc.) | ❌ No source files | +| **RSP files in pack** | ✅ Yes (emcc-default.rsp, emcc-link.rsp) | ❌ No RSP files | +| **Header files in pack** | ✅ Yes (`include/wasm/`) | ❌ No headers | +| **JavaScript ES6 files** | ✅ Yes (`src/es6/`) | ❌ No ES6 sources | +| **Mono component selection** | ✅ Via `_MonoSelectRuntimeComponents` | N/A | +| **Key MSBuild target** | `_BrowserWasmLinkDotNet` (emcc compile+link) | No equivalent | +| **Build entry point** | `WasmBuildApp` → `_WasmBuildAppCore` | `WasmBuildApp` (prints "not implemented") | +| **Publish entry point** | `WasmTriggerPublishApp` → nested MSBuild | `WasmTriggerPublishApp` (prints "not implemented") | + +### 8.5 Mono App Native Build: Detailed Link Command + +When building a Mono app with `WasmBuildNative=true`, the following happens: + +**1. Compile step** (`_WasmCompileNativeSourceFiles` via `EmccCompile` task): +- Compiles 4 C source files from runtime pack `src/` directory: + - `pinvoke.c` → `pinvoke.o` + - `driver.c` → `driver.o` + - `corebindings.c` → `corebindings.o` + - `runtime.c` → `runtime.o` +- Uses flags from `emcc-default.rsp` + optimization flags + +**2. Link step** (`_BrowserWasmLinkDotNet` via emcc `Exec` task): +``` +emcc @emcc-default.rsp @emcc-link.rsp @emcc-link-app.rsp +``` +Where `emcc-link-app.rsp` contains: +- Object files: `pinvoke.o`, `driver.o`, `corebindings.o`, `runtime.o` +- All `.a` static libraries from the runtime pack native directory +- JavaScript files: `--pre-js`, `--js-library`, `--extern-post-js` +- Exported functions and runtime methods +- Memory settings: `INITIAL_MEMORY`, `STACK_SIZE` +- Output: `dotnet.native.js` + `dotnet.native.wasm` + +**3. Environment variables set during linking:** +``` +ENABLE_JS_INTEROP_BY_VALUE=0 +WASM_ENABLE_SIMD=1 +WASM_ENABLE_EVENTPIPE=0 +WASM_ENABLE_EH=1 +ENABLE_AOT_PROFILER=0 +ENABLE_DEVTOOLS_PROFILER=0 +ENABLE_LOG_PROFILER=0 +RUN_AOT_COMPILATION=0 +``` + +### 8.6 What's Needed to Implement CoreCLR App Native Build + +To recreate the app native build for CoreCLR, the following gaps must be addressed: + +**1. Source files needed:** +The CoreCLR runtime pack does NOT include C source files (`driver.c`, `runtime.c`, `pinvoke.c`, `corebindings.c`) or their equivalents. These would need to be: +- Created as CoreCLR-specific implementations, OR +- Adapted from the Mono versions to work with CoreCLR's runtime initialization + +**2. RSP files needed:** +CoreCLR runtime pack lacks `emcc-default.rsp` and `emcc-link.rsp`. These define Emscripten flags for compile and link. They would need to be generated/adapted for CoreCLR's requirements. + +**3. JavaScript ES6 modules:** +CoreCLR runtime pack lacks the `src/es6/` JavaScript files (`dotnet.es6.pre.js`, `dotnet.es6.lib.js`, `dotnet.es6.extpost.js`) needed for the emcc `--pre-js`, `--js-library`, `--extern-post-js` flags. + +**4. Header files:** +CoreCLR runtime pack lacks the `include/wasm/` headers used during native compilation. + +**5. `wasm-props.json`:** +CoreCLR runtime pack lacks this metadata file used by `_ReadWasmProps` to detect Emscripten version and configure relinking triggers. + +**6. MSBuild targets implementation:** +`BrowserWasmApp.CoreCLR.targets` currently has only stub targets. It would need to implement: +- `WasmBuildApp` with the full emcc compile+link chain +- `WasmTriggerPublishApp` for the nested publish build +- Or adapt the existing Mono pipeline to work with CoreCLR libraries + +**7. Library substitutions:** +The link command would need to replace all `libmono-*` libraries with their CoreCLR equivalents: + +| Mono Library | CoreCLR Equivalent | +|-------------|-------------------| +| `libmonosgen-2.0.a` | `libcoreclr_static.a` + `libcoreclrpal.a` + `libcoreclrminipal.a` | +| `libmono-ee-interp.a` | N/A (CoreCLR uses JIT on WASM) | +| `libmono-icall-table.a` | Part of `libcoreclr_static.a` | +| `libmono-profiler-*.a` | Part of `libcoreclr_static.a` | +| `libmono-wasm-eh-wasm.a` | Part of `libcoreclr_static.a` | +| `libmono-wasm-simd.a` | Part of `libcoreclr_static.a` | +| `libmono-component-*.a` | Part of `libcoreclr_static.a` | +| N/A | `libgcinfo_unix_wasm.a` (CoreCLR-specific) | +| N/A | `libnativeresourcestring.a` (CoreCLR-specific) | +| N/A | `libminipal.a` (CoreCLR-specific) | +| N/A | `libBrowserHost.a` (CoreCLR-specific) | +| N/A | `libSystem.Runtime.InteropServices.JavaScript.Native.a` (CoreCLR-specific) | + +**8. JavaScript library substitutions:** +The link command would need additional JS libraries for CoreCLR: +- `libBrowserHost.js` (replaces some of the Mono ES6 JS) +- `libSystem.Runtime.InteropServices.JavaScript.Native.js` (JS interop) + +### 8.7 CoreCLR Sample Build (binlog: `appbuild-coreclr-sample.binlog`) + +The CoreCLR sample (`Wasm.Browser.Sample.csproj`) was built with: +``` +dotnet publish -p:RuntimeFlavor=CoreCLR -p:TargetOS=browser -p:TargetArchitecture=wasm +``` + +Key observations: +- `RuntimeFlavor=CoreCLR` is set as a **global property** (cannot be overridden) +- `WasmBuildNative=false` — no native compilation occurs +- `BrowserWasmApp.props` and `BrowserWasmApp.targets` are **NOT imported** (condition `RuntimeFlavor == 'Mono'` fails) +- `BrowserWasmApp.CoreCLR.targets` IS imported but only prints "not implemented" messages +- The pre-linked `dotnet.native.wasm` from the runtime pack is used directly +- `DefaultPrimaryRuntimeFlavor` is reassigned from `CoreCLR` to `Mono` at `eng/Subsets.props:67` (this is the default for browser-wasm target) +- `WasmEnableWebcil=false` is set for CoreCLR flavor From 147f799d4141091d3920bd1229dcd842d5ae1736 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Tue, 24 Feb 2026 09:58:14 +0000 Subject: [PATCH 02/38] Implement WASM native build (per-app relinking) for CoreCLR Implement per-app native relinking via emcc for CoreCLR browser-wasm, matching the capability Mono already has. Unlike Mono, CoreCLR has no C source files in the runtime pack, so the native build is link-only. Key changes: - BrowserWasmApp.CoreCLR.targets: Complete implementation replacing stubs - Emscripten toolchain setup (_CoreCLRSetupEmscripten, _CoreCLRSetupToolchain) - Build native defaults (WasmBuildNative=false for build, true for publish) - emcc link target with all CoreCLR .a libraries + JS library files - Heap size calculation (default 128MB matching CMakeLists.txt) - WasmBuildApp/WasmTriggerPublishApp/WasmNestedPublishApp target chain - wasm-opt post-link optimization - corehost.proj: Copy libSystem.Native.Browser.extpost.js to runtime pack The implementation is self-contained and does not import WasmApp.Common.targets or BrowserWasmApp.targets. It reuses MSBuild task assemblies via UsingTask. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../build/BrowserWasmApp.CoreCLR.targets | 478 +++++++++++++++++- src/native/corehost/corehost.proj | 2 + 2 files changed, 475 insertions(+), 5 deletions(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index f30db447d87201..c7a0288d2786ca 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -1,9 +1,477 @@ - - - + + + + + + + true + $(WasmEnableExceptionHandling) + + Build + Publish + <_WasmNestedPublishAppPreTarget Condition="'$(DisableAutoWasmPublishApp)' != 'true'">Publish + + true + true + true + false + false + false + + <_WasmOutputFileName Condition="'$(_WasmOutputFileName)' == ''">dotnet.native.wasm + + <_ExeExt Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">.exe + <_PathSeparator Condition="'$(OS)' == 'Windows_NT'">%3B + <_PathSeparator Condition="'$(OS)' != 'Windows_NT'">: + + true + + + + + + + + + + + + + <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenSdkToolsPath)' == '' or !Exists('$(EmscriptenSdkToolsPath)'))">%24(EmscriptenSdkToolsPath)=$(EmscriptenSdkToolsPath) + <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenNodeToolsPath)' == '' or !Exists('$(EmscriptenNodeToolsPath)'))">%24(EmscriptenNodeToolsPath)=$(EmscriptenNodeToolsPath) + <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenUpstreamBinPath)' == '' or !Exists('$(EmscriptenUpstreamBinPath)'))">%24(EmscriptenUpstreamBinPath)=$(EmscriptenUpstreamBinPath) + + + + <_ToolchainMissingErrorMessage Condition="'$(EMSDK_PATH)' == '' and '$(EmscriptenSdkToolsPath)' == ''">Could not find emscripten sdk. Either set %24(EMSDK_PATH), or use workloads to get the sdk. + <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' != 'true' and '$(_EMSDKMissingPaths)' != ''">Emscripten from the workload is missing some paths: $(_EMSDKMissingPaths). + <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' == 'true' and !Exists($(EMSDK_PATH))">Could not find Emscripten sdk at %24(EMSDK_PATH)=$(EMSDK_PATH) . + <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' == 'true' and '$(_EMSDKMissingPaths)' != ''">Specified Emscripten sdk at %24(EMSDK_PATH)=$(EMSDK_PATH) is missing some paths: $(_EMSDKMissingPaths). + <_IsToolchainMissing Condition="'$(_ToolchainMissingErrorMessage)' != ''">true + + + + $([MSBuild]::NormalizeDirectory($(EmscriptenSdkToolsPath))) + $([MSBuild]::NormalizeDirectory($(EmscriptenNodeToolsPath))) + $([MSBuild]::NormalizeDirectory($(EmscriptenUpstreamBinPath))) + + + + + + + + + + <_EmscriptenPrependPATHTrimmed Include="$([MSBuild]::ValueOrDefault('%(EmscriptenPrependPATH.Identity)\', '').TrimEnd('\/'))" /> + + + + + + <_EmscriptenPrependPATHProperty>@(EmscriptenPrependPATH -> '%(Identity)', '$(_PathSeparator)') + + + + + + + - - + + + + + + + + + + + + + + + + + %(ResolvedRuntimePack.PackageDirectory) + $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackDir), 'runtimes', $(RuntimeIdentifier))) + $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir))) + $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir), 'native')) + + <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' == ''">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-build')) + <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' != ''">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-publish')) + + $(TargetFileName) + $([System.IO.Path]::GetFileName($(WasmMainAssemblyFileName))) + + + + <_SystemRuntimePathItem Include="$(MicrosoftNetCoreAppRuntimePackRidDir)\lib\net*\System.Runtime.dll" /> + + + + + + $([System.IO.Path]::GetDirectoryName(%(_SystemRuntimePathItem.Identity))) + + + + + + + + + + + + + + + + + + <_WasmAssembliesInternal Remove="@(_WasmAssembliesInternal)" /> + <_WasmAssembliesInternal Include="@(WasmAssembliesToBundle->Distinct())" /> + + <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" /> + <_WasmSatelliteAssemblies Include="@(_WasmAssembliesInternal)" /> + <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" Condition="!$([System.String]::Copy('%(Identity)').EndsWith('.resources.dll'))" /> + <_WasmSatelliteAssemblies CultureName="$([System.IO.Directory]::GetParent('%(Identity)').Name)" /> + <_WasmAssembliesInternal Remove="@(_WasmSatelliteAssemblies)" /> + + + + + + + + + true + + + + + true + false + true + + + + false + + + + + + true + false + true + + true + false + + <_WasmDevel Condition="'$(_WasmDevel)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">true + + <_EmccOptimizationFlagDefault Condition="'$(_WasmDevel)' == 'true'">-O0 + <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">-O1 + <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == ''">-Oz + + -O2 + $(_EmccOptimizationFlagDefault) + + 5MB + 2147483648 + false + + <_WasmLinkRsp>$(_WasmIntermediateOutputPath)emcc-link.rsp + + $(EmscriptenUpstreamEmscriptenPath)emcc + + + + + + + + + + + + $(_WasmCalculatedInitialHeapSize) + 134217728 + + + + + + + + + + <_EmccExportedRuntimeMethods>"['BROWSER_HOST','FS','out','err','ccall','cwrap','setValue','getValue','UTF8ToString','UTF8ArrayToString','lengthBytesUTF8','stringToUTF8Array','safeSetTimeout','runtimeKeepalivePush','runtimeKeepalivePop','abort']" + <_EmccExportedFunctions>_free,_htons,_malloc,_sbrk,_memalign,_posix_memalign,_memset,_ntohs,stackAlloc,stackRestore,stackSave + <_EmccExportedFunctions Condition="'$(WasmEnableExceptionHandling)' == 'true'">$(_EmccExportedFunctions),___cpp_exception + + + + + <_CoreCLRNativeLibsForLinking Remove="@(_CoreCLRNativeLibsForLinking)" /> + + + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclr_static.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libnativeresourcestring.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libgcinfo_unix_wasm.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrminipal.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrpal.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libminipal.a" /> + + + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.a" /> + + + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.a" /> + + + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.IO.Compression.Native.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libz.a" /> + + + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Globalization.Native.a" /> + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicuuc.a" /> + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicui18n.a" /> + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicudata.a" /> + + + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantTimezone)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.a" /> + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantTimezone)' == 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.Invariant.a" /> + + + <_CoreCLRNativeLibsForLinking Include="@(NativeFileReference)" /> + + + + + <_CoreCLRJSLibsForLinking Remove="@(_CoreCLRJSLibsForLinking)" /> + <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.js" Kind="js-library" /> + <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.Utils.js" Kind="js-library" /> + <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.js" Kind="js-library" /> + <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.js" Kind="js-library" /> + + + <_CoreCLRJSLibsForLinking Condition="Exists('$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.extpost.js')" + Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.extpost.js" Kind="extern-post-js" /> + + + + + + + + + + + + + + + + + + + <_CoreCLRLinkStepArgs Remove="@(_CoreCLRLinkStepArgs)" /> + + + <_CoreCLRLinkStepArgs Include="$(EmccLinkOptimizationFlag)" /> + + + <_CoreCLRLinkStepArgs Include="$(EmccFlags)" /> + <_CoreCLRLinkStepArgs Include="-v" Condition="'$(EmccVerbose)' == 'true'" /> + <_CoreCLRLinkStepArgs Include="-g" Condition="'$(WasmNativeDebugSymbols)' == 'true'" /> + <_CoreCLRLinkStepArgs Include="-fwasm-exceptions" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> + <_CoreCLRLinkStepArgs Include="-s DISABLE_EXCEPTION_CATCHING=0" Condition="'$(WasmEnableExceptionHandling)' == 'false'" /> + <_CoreCLRLinkStepArgs Include="-msimd128" Condition="'$(WasmEnableSIMD)' == 'true'" /> + + + <_CoreCLRLinkStepArgs Include="-s INITIAL_MEMORY=$(WasmInitialHeapSize)" /> + <_CoreCLRLinkStepArgs Include="-s MAXIMUM_MEMORY=$(EmccMaximumHeapSize)" /> + <_CoreCLRLinkStepArgs Include="-s ALLOW_MEMORY_GROWTH=1" /> + <_CoreCLRLinkStepArgs Include="-s STACK_SIZE=$(EmccStackSize)" /> + + + <_CoreCLRLinkStepArgs Include="-s WASM_BIGINT=1" /> + <_CoreCLRLinkStepArgs Include="-s MODULARIZE=1" /> + <_CoreCLRLinkStepArgs Include="-s EXPORT_ES6=1" /> + <_CoreCLRLinkStepArgs Include="-s EXIT_RUNTIME=1" /> + <_CoreCLRLinkStepArgs Include="-s ALLOW_TABLE_GROWTH=1" /> + <_CoreCLRLinkStepArgs Include="-s EXPORT_NAME=createDotnetRuntime" /> + <_CoreCLRLinkStepArgs Include="-s ENVIRONMENT="web,webview,worker,node,shell"" /> + + + <_CoreCLRLinkStepArgs Condition="'$(EmccEnableAssertions)' == 'true'" Include="-s ASSERTIONS=1" /> + + + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' == 'true'" Include="-Wl,--allow-undefined" /> + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' == 'true'" Include="-s ERROR_ON_UNDEFINED_SYMBOLS=0" /> + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-s LLD_REPORT_UNDEFINED" /> + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-s ERROR_ON_UNDEFINED_SYMBOLS=1" /> + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-Wl,-error-limit=0" /> + + + <_CoreCLRLinkStepArgs Include="-s EXPORTED_RUNTIME_METHODS=$(_EmccExportedRuntimeMethods)" /> + <_CoreCLRLinkStepArgs Include="-s EXPORTED_FUNCTIONS=$(_EmccExportedFunctions)" /> + + + <_CoreCLRLinkStepArgs Include="--emit-symbol-map" Condition="'$(WasmEmitSymbolMap)' == 'true'" /> + + + <_CoreCLRLinkStepArgs Include="--%(_CoreCLRJSLibsForLinking.Kind) "%(_CoreCLRJSLibsForLinking.Identity)"" /> + + + <_CoreCLRLinkStepArgs Include=""%(_CoreCLRNativeLibsForLinking.Identity)"" /> + + + <_CoreCLRLinkStepArgs Include="-o "$(_WasmIntermediateOutputPath)dotnet.native.js"" /> + + + <_CoreCLRLinkStepArgs Include="$(EmccExtraLDFlags)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_WasmOptPostLinkFileName>$(_WasmIntermediateOutputPath)dotnet.native.wasm + + + + <_WasmOptConfigFlags Remove="@(_WasmOptConfigFlags)" /> + <_WasmOptConfigFlags Include="--enable-simd" Condition="'$(WasmEnableSIMD)' == 'true'" /> + <_WasmOptConfigFlags Include="--enable-exception-handling" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> + <_WasmOptConfigFlags Include="--enable-bulk-memory" /> + <_WasmOptConfigFlags Include="--strip-dwarf" Condition="'$(WasmNativeStrip)' == 'true'" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/native/corehost/corehost.proj b/src/native/corehost/corehost.proj index 5490f9940b05ca..10f6cdd0a2ada0 100644 --- a/src/native/corehost/corehost.proj +++ b/src/native/corehost/corehost.proj @@ -184,6 +184,8 @@ <_MicrosoftNetCoreAppRuntimePackNativeDirFiles Include="$(HostSharedFrameworkDir)dotnet.native.js" /> <_MicrosoftNetCoreAppRuntimePackNativeDirFiles Include="$(HostSharedFrameworkDir)dotnet.native.js.symbols" /> <_MicrosoftNetCoreAppRuntimePackNativeDirFiles Include="$(HostSharedFrameworkDir)dotnet.native.wasm" /> + + <_MicrosoftNetCoreAppRuntimePackNativeDirFiles Include="$(MSBuildThisFileDirectory)..\..\libs\System.Native.Browser\libSystem.Native.Browser.extpost.js" /> Date: Mon, 9 Mar 2026 12:04:15 +0000 Subject: [PATCH 03/38] Implement WASM native re-link for CoreCLR When WasmBuildNative=true, re-link dotnet.native.wasm from CoreCLR static libraries using emcc, allowing apps to include custom native code via NativeFileReference items. The implementation: - Imports eng/native.wasm.targets for shared Emscripten/ICU/export properties - Sets up Emscripten toolchain and environment - Compiles user native sources (NativeFileReference .c/.cpp) with EmccCompile - Links all CoreCLR .a libraries + user objects into dotnet.native.wasm - Handles both build and publish (nested publish) flows - Link flags mirror src/native/corehost/browserhost/CMakeLists.txt - Gates ICU libraries on InvariantGlobalization - Supports WasmEnableExceptionHandling, WasmEnableSIMD, custom EmccFlags Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../build/BrowserWasmApp.CoreCLR.targets | 661 +++++++++--------- 1 file changed, 331 insertions(+), 330 deletions(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index c7a0288d2786ca..76ce64dfff49f6 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -1,51 +1,155 @@ + Architecture: + Setup emscripten → Compile native sources (EmccCompile) → Link (emcc) → Register outputs - + Link flags mirror src/native/corehost/browserhost/CMakeLists.txt. + --> + - + + true + + + true + true $(WasmEnableExceptionHandling) + <_WasmOutputFileName>dotnet.native.wasm + emcc - Build - Publish - <_WasmNestedPublishAppPreTarget Condition="'$(DisableAutoWasmPublishApp)' != 'true'">Publish + <_WasmDefaultFlags Condition="'$(WasmEnableExceptionHandling)' != 'false'">-fwasm-exceptions + <_WasmDefaultFlags Condition="'$(WasmEnableExceptionHandling)' == 'false'">-fexceptions + <_WasmDefaultFlags Condition="'$(WasmEnableSIMD)' == 'true'">$(_WasmDefaultFlags) -msimd128 - true - true - true - false - false - false + Build + Publish - <_WasmOutputFileName Condition="'$(_WasmOutputFileName)' == ''">dotnet.native.wasm + true + - <_ExeExt Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">.exe - <_PathSeparator Condition="'$(OS)' == 'Windows_NT'">%3B - <_PathSeparator Condition="'$(OS)' != 'Windows_NT'">: + + - true - + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + <_CoreCLRWasmBuildAppCoreDependsOn> + _CoreCLRWasmInitialize; + _CoreCLRSetupEmscripten; + _CoreCLRPrepareForNativeBuild; + _CoreCLRWriteCompileRsp; + _CoreCLRCompileNativeSources; + _CoreCLRWriteLinkRsp; + _CoreCLRLinkNative; + _CoreCLRCompleteNativeBuild; + _CoreCLREmitAssembliesFinal + + + + + + + + + + + + + %(ResolvedRuntimePack.PackageDirectory) + $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackDir), 'runtimes', $(RuntimeIdentifier))) + $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir))) + $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir), 'native')) + + <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' != 'true'">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-build')) + <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' == 'true'">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-publish')) + + <_WasmCompileRsp>$(_WasmIntermediateOutputPath)emcc-compile.rsp + <_WasmLinkRsp>$(_WasmIntermediateOutputPath)emcc-link.rsp + + + + + - + + + <_SystemRuntimePathItem Include="$(MicrosoftNetCoreAppRuntimePackRidDir)lib$(WasmDirSep)net*$(WasmDirSep)System.Runtime.dll" /> + - + + $([System.IO.Path]::GetDirectoryName(%(_SystemRuntimePathItem.Identity))) + + + + + + <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenSdkToolsPath)' == '' or !Exists('$(EmscriptenSdkToolsPath)'))">%24(EmscriptenSdkToolsPath)=$(EmscriptenSdkToolsPath) <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenNodeToolsPath)' == '' or !Exists('$(EmscriptenNodeToolsPath)'))">%24(EmscriptenNodeToolsPath)=$(EmscriptenNodeToolsPath) @@ -55,21 +159,25 @@ <_ToolchainMissingErrorMessage Condition="'$(EMSDK_PATH)' == '' and '$(EmscriptenSdkToolsPath)' == ''">Could not find emscripten sdk. Either set %24(EMSDK_PATH), or use workloads to get the sdk. <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' != 'true' and '$(_EMSDKMissingPaths)' != ''">Emscripten from the workload is missing some paths: $(_EMSDKMissingPaths). - <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' == 'true' and !Exists($(EMSDK_PATH))">Could not find Emscripten sdk at %24(EMSDK_PATH)=$(EMSDK_PATH) . + <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' == 'true' and !Exists($(EMSDK_PATH))">Could not find Emscripten sdk at %24(EMSDK_PATH)=$(EMSDK_PATH). <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' == 'true' and '$(_EMSDKMissingPaths)' != ''">Specified Emscripten sdk at %24(EMSDK_PATH)=$(EMSDK_PATH) is missing some paths: $(_EMSDKMissingPaths). <_IsToolchainMissing Condition="'$(_ToolchainMissingErrorMessage)' != ''">true + + - $([MSBuild]::NormalizeDirectory($(EmscriptenSdkToolsPath))) - $([MSBuild]::NormalizeDirectory($(EmscriptenNodeToolsPath))) + $([MSBuild]::NormalizeDirectory($(EmscriptenSdkToolsPath))) + $([MSBuild]::NormalizeDirectory($(EmscriptenNodeToolsPath))) $([MSBuild]::NormalizeDirectory($(EmscriptenUpstreamBinPath))) + - + @@ -79,6 +187,8 @@ + <_PathSeparator Condition="$([MSBuild]::IsOSPlatform('windows'))">; + <_PathSeparator Condition="!$([MSBuild]::IsOSPlatform('windows'))">: <_EmscriptenPrependPATHProperty>@(EmscriptenPrependPATH -> '%(Identity)', '$(_PathSeparator)') @@ -89,303 +199,236 @@ - - - - - - - - - - - - - + + - %(ResolvedRuntimePack.PackageDirectory) - $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackDir), 'runtimes', $(RuntimeIdentifier))) - $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir))) - $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir), 'native')) + + <_WasmDevel Condition="'$(_WasmDevel)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">true + <_EmccOptimizationFlagDefault Condition="'$(_WasmDevel)' == 'true'">-O0 + <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">-O1 + <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == ''">-O2 + $(_EmccOptimizationFlagDefault) + -O2 + $(EmccCompileOptimizationFlag) - <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' == ''">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-build')) - <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' != ''">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-publish')) + + 134217728 + 2147483648 + 5MB - $(TargetFileName) - $([System.IO.Path]::GetFileName($(WasmMainAssemblyFileName))) + false + <_WasmCompileOutputMessageImportance Condition="'$(EmccVerbose)' == 'true'">Normal + <_WasmCompileOutputMessageImportance Condition="'$(EmccVerbose)' != 'true'">Low - - <_SystemRuntimePathItem Include="$(MicrosoftNetCoreAppRuntimePackRidDir)\lib\net*\System.Runtime.dll" /> + + + <_ExistingNativeLibrary Include="@(NativeLibrary->Exists())" /> + - - - - $([System.IO.Path]::GetDirectoryName(%(_SystemRuntimePathItem.Identity))) - - - - - - - - - - + + + <_EmccCommonFlags Include="$(EmccFlags)" /> + <_EmccCommonFlags Include="-v" Condition="'$(EmccVerbose)' == 'true'" /> + <_EmccCommonFlags Include="-g" Condition="'$(WasmNativeDebugSymbols)' == 'true'" /> + <_EmccCommonFlags Include="-fwasm-exceptions" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> + <_EmccCommonFlags Include="-s DISABLE_EXCEPTION_CATCHING=0" Condition="'$(WasmEnableExceptionHandling)' == 'false'" /> + <_EmccCommonFlags Include="-msimd128" Condition="'$(WasmEnableSIMD)' == 'true'" /> + <_EmccCommonFlags Include="-s MAXIMUM_MEMORY=$(EmccMaximumHeapSize)" Condition="'$(EmccMaximumHeapSize)' != ''" /> - - - + + <_EmccCFlags Include="$(EmccCompileOptimizationFlag)" /> + <_EmccCFlags Include="@(_EmccCommonFlags)" /> + <_EmccCFlags Include="-DGEN_PINVOKE=1" /> + <_EmccCFlags Include="$(EmccExtraCFlags)" /> + - <_WasmAssembliesInternal Remove="@(_WasmAssembliesInternal)" /> - <_WasmAssembliesInternal Include="@(WasmAssembliesToBundle->Distinct())" /> + <_WasmSourceFileToCompile Remove="@(_WasmSourceFileToCompile)" /> + <_WasmSourceFileToCompile Include="@(NativeFileReference)" Condition="'%(Extension)' == '.c' or '%(Extension)' == '.cpp'" /> + <_WasmSourceFileToCompile ObjectFile="$(_WasmIntermediateOutputPath)%(FileName).o" /> + - <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" /> - <_WasmSatelliteAssemblies Include="@(_WasmAssembliesInternal)" /> - <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" Condition="!$([System.String]::Copy('%(Identity)').EndsWith('.resources.dll'))" /> - <_WasmSatelliteAssemblies CultureName="$([System.IO.Directory]::GetParent('%(Identity)').Name)" /> - <_WasmAssembliesInternal Remove="@(_WasmSatelliteAssemblies)" /> + + + <_WasmNativeFileForLinking Include="@(NativeFileReference)" Condition="'%(Extension)' == '.a' or '%(Extension)' == '.o'" /> - - - - - - true - - - - - true - false - true - - - - false - - - - - - true - false - true - - true - false + - <_WasmDevel Condition="'$(_WasmDevel)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">true - - <_EmccOptimizationFlagDefault Condition="'$(_WasmDevel)' == 'true'">-O0 - <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">-O1 - <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == ''">-Oz - - -O2 - $(_EmccOptimizationFlagDefault) - - 5MB - 2147483648 - false + + + <_WasmCFlags Include="@(_EmccCFlags)" /> + + + + + + - <_WasmLinkRsp>$(_WasmIntermediateOutputPath)emcc-link.rsp + - $(EmscriptenUpstreamEmscriptenPath)emcc - - + + + <_WasmCompileArguments Remove="@(_WasmCompileArguments)" /> + <_WasmCompileArguments Include=""@$(_WasmCompileRsp)"" Condition="'$(_WasmCompileRsp)' != ''" /> + - + + + - - - - - - - $(_WasmCalculatedInitialHeapSize) - 134217728 - + + <_WasmNativeFileForLinking Include="%(_WasmSourceFileToCompile.ObjectFile)" /> + - + - - + - <_EmccExportedRuntimeMethods>"['BROWSER_HOST','FS','out','err','ccall','cwrap','setValue','getValue','UTF8ToString','UTF8ArrayToString','lengthBytesUTF8','stringToUTF8Array','safeSetTimeout','runtimeKeepalivePush','runtimeKeepalivePop','abort']" - <_EmccExportedFunctions>_free,_htons,_malloc,_sbrk,_memalign,_posix_memalign,_memset,_ntohs,stackAlloc,stackRestore,stackSave - <_EmccExportedFunctions Condition="'$(WasmEnableExceptionHandling)' == 'true'">$(_EmccExportedFunctions),___cpp_exception + <_EmccExportedRuntimeMethods>"[BROWSER_HOST,@(EmccExportedRuntimeMethod -> '%27%(Identity)%27', ',')]" + <_EmccExportedFunctions>@(EmccExportedFunction -> '%(Identity)',',') - + - <_CoreCLRNativeLibsForLinking Remove="@(_CoreCLRNativeLibsForLinking)" /> + + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclr_static.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libnativeresourcestring.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libgcinfo_unix_wasm.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrminipal.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrpal.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libminipal.a" /> - - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclr_static.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libnativeresourcestring.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libgcinfo_unix_wasm.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrminipal.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrpal.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libminipal.a" /> - - - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.a" /> - - - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.a" /> + + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.IO.Compression.Native.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libz.a" /> - - - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Globalization.Native.a" /> - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicuuc.a" /> - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicui18n.a" /> - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicudata.a" /> - - - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantTimezone)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.a" /> - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantTimezone)' == 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.Invariant.a" /> - - - <_CoreCLRNativeLibsForLinking Include="@(NativeFileReference)" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Globalization.Native.a" Condition="'$(InvariantGlobalization)' != 'true'" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicuuc.a" Condition="'$(InvariantGlobalization)' != 'true'" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicui18n.a" Condition="'$(InvariantGlobalization)' != 'true'" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicudata.a" Condition="'$(InvariantGlobalization)' != 'true'" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.IO.Compression.Native.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libz.a" /> + + + <_CoreCLRNativeLibs Condition="'$(InvariantTimezone)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.a" /> + <_CoreCLRNativeLibs Condition="'$(InvariantTimezone)' == 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.Invariant.a" /> - + - <_CoreCLRJSLibsForLinking Remove="@(_CoreCLRJSLibsForLinking)" /> - <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.js" Kind="js-library" /> - <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.Utils.js" Kind="js-library" /> - <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.js" Kind="js-library" /> - <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.js" Kind="js-library" /> - - - <_CoreCLRJSLibsForLinking Condition="Exists('$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.extpost.js')" - Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.extpost.js" Kind="extern-post-js" /> + <_CoreCLRJsLibrary Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.js" Kind="js-library" /> + <_CoreCLRJsLibrary Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.Utils.js" Kind="js-library" /> + <_CoreCLRJsLibrary Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.js" Kind="js-library" /> + <_CoreCLRJsLibrary Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.js" Kind="js-library" /> + <_CoreCLRJsLibrary Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.extpost.js" Kind="extern-post-js" /> - + - - - - - + <_CoreCLRJsLibrary Include="@(WasmExtraJSFile)" Kind="%(WasmExtraJSFile.Kind)" Condition="'%(WasmExtraJSFile.Kind)' != ''" /> - - - - - - + - <_CoreCLRLinkStepArgs Remove="@(_CoreCLRLinkStepArgs)" /> - - - <_CoreCLRLinkStepArgs Include="$(EmccLinkOptimizationFlag)" /> - - - <_CoreCLRLinkStepArgs Include="$(EmccFlags)" /> - <_CoreCLRLinkStepArgs Include="-v" Condition="'$(EmccVerbose)' == 'true'" /> - <_CoreCLRLinkStepArgs Include="-g" Condition="'$(WasmNativeDebugSymbols)' == 'true'" /> - <_CoreCLRLinkStepArgs Include="-fwasm-exceptions" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> - <_CoreCLRLinkStepArgs Include="-s DISABLE_EXCEPTION_CATCHING=0" Condition="'$(WasmEnableExceptionHandling)' == 'false'" /> - <_CoreCLRLinkStepArgs Include="-msimd128" Condition="'$(WasmEnableSIMD)' == 'true'" /> - - - <_CoreCLRLinkStepArgs Include="-s INITIAL_MEMORY=$(WasmInitialHeapSize)" /> - <_CoreCLRLinkStepArgs Include="-s MAXIMUM_MEMORY=$(EmccMaximumHeapSize)" /> - <_CoreCLRLinkStepArgs Include="-s ALLOW_MEMORY_GROWTH=1" /> - <_CoreCLRLinkStepArgs Include="-s STACK_SIZE=$(EmccStackSize)" /> - - - <_CoreCLRLinkStepArgs Include="-s WASM_BIGINT=1" /> - <_CoreCLRLinkStepArgs Include="-s MODULARIZE=1" /> - <_CoreCLRLinkStepArgs Include="-s EXPORT_ES6=1" /> - <_CoreCLRLinkStepArgs Include="-s EXIT_RUNTIME=1" /> - <_CoreCLRLinkStepArgs Include="-s ALLOW_TABLE_GROWTH=1" /> - <_CoreCLRLinkStepArgs Include="-s EXPORT_NAME=createDotnetRuntime" /> - <_CoreCLRLinkStepArgs Include="-s ENVIRONMENT="web,webview,worker,node,shell"" /> - - - <_CoreCLRLinkStepArgs Condition="'$(EmccEnableAssertions)' == 'true'" Include="-s ASSERTIONS=1" /> - - - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' == 'true'" Include="-Wl,--allow-undefined" /> - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' == 'true'" Include="-s ERROR_ON_UNDEFINED_SYMBOLS=0" /> - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-s LLD_REPORT_UNDEFINED" /> - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-s ERROR_ON_UNDEFINED_SYMBOLS=1" /> - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-Wl,-error-limit=0" /> + <_EmccLinkStepArgs Include="$(EmccLinkOptimizationFlag)" /> + <_EmccLinkStepArgs Include="@(_EmccCommonFlags)" /> + + + <_EmccLinkStepArgs Include="-s EXPORT_ES6=1" /> + <_EmccLinkStepArgs Include="-lexports.js" /> + + + <_EmccLinkStepArgs Include="-s INITIAL_MEMORY=$(WasmInitialHeapSize)" /> + <_EmccLinkStepArgs Include="-s MAXIMUM_MEMORY=$(EmccMaximumHeapSize)" /> + <_EmccLinkStepArgs Include="-s ALLOW_MEMORY_GROWTH=1" /> + <_EmccLinkStepArgs Include="-s STACK_SIZE=$(EmccStackSize)" /> + <_EmccLinkStepArgs Include="-s WASM_BIGINT=1" /> + + + <_EmccLinkStepArgs Include="-s MODULARIZE=1" /> + <_EmccLinkStepArgs Include="-s EXIT_RUNTIME=1" /> + <_EmccLinkStepArgs Include="-s ALLOW_TABLE_GROWTH=1" /> + <_EmccLinkStepArgs Include="-s EXPORT_NAME=createDotnetRuntime" /> + <_EmccLinkStepArgs Include="-s ENVIRONMENT=web,webview,worker,node,shell" /> + + + <_EmccLinkStepArgs Include="-s LLD_REPORT_UNDEFINED" /> + <_EmccLinkStepArgs Include="-s ERROR_ON_UNDEFINED_SYMBOLS=1" /> + <_EmccLinkStepArgs Include="--emit-symbol-map" /> + + + <_EmccLinkStepArgs Condition="'$(Configuration)' == 'Debug'" Include="-s ASSERTIONS=1" /> - <_CoreCLRLinkStepArgs Include="-s EXPORTED_RUNTIME_METHODS=$(_EmccExportedRuntimeMethods)" /> - <_CoreCLRLinkStepArgs Include="-s EXPORTED_FUNCTIONS=$(_EmccExportedFunctions)" /> - - - <_CoreCLRLinkStepArgs Include="--emit-symbol-map" Condition="'$(WasmEmitSymbolMap)' == 'true'" /> + <_EmccLinkStepArgs Include="-s EXPORTED_RUNTIME_METHODS=$(_EmccExportedRuntimeMethods)" /> + <_EmccLinkStepArgs Include="-s EXPORTED_FUNCTIONS=$(_EmccExportedFunctions)" /> - <_CoreCLRLinkStepArgs Include="--%(_CoreCLRJSLibsForLinking.Kind) "%(_CoreCLRJSLibsForLinking.Identity)"" /> + <_EmccLinkStepArgs Include="--%(_CoreCLRJsLibrary.Kind) "%(_CoreCLRJsLibrary.Identity)"" /> + + + <_EmccLinkStepArgs Include=""%(_WasmNativeFileForLinking.Identity)"" /> + + + <_EmccLinkStepArgs Include=""%(_CoreCLRNativeLibs.Identity)"" /> - - <_CoreCLRLinkStepArgs Include=""%(_CoreCLRNativeLibsForLinking.Identity)"" /> + + <_EmccLinkStepArgs Include="-o "$(_WasmIntermediateOutputPath)dotnet.native.js"" /> - - <_CoreCLRLinkStepArgs Include="-o "$(_WasmIntermediateOutputPath)dotnet.native.js"" /> + + <_EmccLinkStepArgs Include="$(EmccExtraLDFlags)" /> - - <_CoreCLRLinkStepArgs Include="$(EmccExtraLDFlags)" /> + + <_EmccLinkStepArgs Include="-Wl,-error-limit=0" /> + + + + + <_WasmLinkDependencies Include="@(_WasmNativeFileForLinking)" /> + <_WasmLinkDependencies Include="@(_CoreCLRNativeLibs)" /> + <_WasmLinkDependencies Include="@(_CoreCLRJsLibrary)" /> + <_WasmLinkDependencies Include="$(_WasmLinkRsp)" /> - + - + - - - - + + - + @@ -393,84 +436,42 @@ - + - - - - - - - <_WasmOptPostLinkFileName>$(_WasmIntermediateOutputPath)dotnet.native.wasm - + + - <_WasmOptConfigFlags Remove="@(_WasmOptConfigFlags)" /> - <_WasmOptConfigFlags Include="--enable-simd" Condition="'$(WasmEnableSIMD)' == 'true'" /> - <_WasmOptConfigFlags Include="--enable-exception-handling" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> - <_WasmOptConfigFlags Include="--enable-bulk-memory" /> - <_WasmOptConfigFlags Include="--strip-dwarf" Condition="'$(WasmNativeStrip)' == 'true'" /> - + + + + - - - - - - - - - + - - - - - - - - - - - - - - - - + + - - - - - - - - - + <_WasmAssembliesInternal Remove="@(_WasmAssembliesInternal)" /> + <_WasmAssembliesInternal Include="@(WasmAssembliesToBundle->Distinct())" Condition="@(WasmAssembliesToBundle->Count()) > 0" /> - + + <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" /> + <_WasmSatelliteAssemblies Include="@(_WasmAssembliesInternal)" /> + <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" Condition="!$([System.String]::Copy('%(Identity)').EndsWith('.resources.dll'))" /> + <_WasmSatelliteAssemblies CultureName="$([System.IO.Directory]::GetParent('%(Identity)').Name)" /> + <_WasmAssembliesInternal Remove="@(_WasmSatelliteAssemblies)" /> - - - - + + From 896ab9b5925067599f55524618da46b29917b297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 9 Mar 2026 12:25:38 +0000 Subject: [PATCH 04/38] Add ManagedToNativeGenerator integration to CoreCLR WASM native build Integrate the CoreCLR ManagedToNativeGenerator MSBuild task into the native re-link pipeline. This generates P/Invoke dispatch tables, reverse P/Invoke tables, and interpreter-to-native thunks that are compiled and linked into dotnet.native.wasm. Key changes: - Add _CoreCLRGenerateManagedToNative target that scans managed assemblies for P/Invoke signatures and generates C++ source files - Generate coreclr_compat.h shim header providing type/macro stubs (MethodDesc, PCODE, ULONG, LOG, PORTABILITY_ASSERT) so generated files compile outside the full CoreCLR build context - Use .cpp extensions for generated files (they contain extern "C", namespaces, and other C++ constructs) - Fix CoreLib discovery to check native/ dir first (CoreCLR WASM ships CoreLib there, not in lib/net11.0/) - Fix UsingTask assembly paths: EmccCompile and ManagedToNativeGenerator both live in WasmAppBuilder.dll, not WasmBuildTasks.dll Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../build/BrowserWasmApp.CoreCLR.targets | 109 +++++++++++++++++- 1 file changed, 106 insertions(+), 3 deletions(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index 76ce64dfff49f6..a32a281a48aed7 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -42,11 +42,15 @@ - + + Condition="'$(WasmAppBuilderTasksAssemblyPath)' != ''" /> + @@ -100,6 +104,7 @@ _CoreCLRWasmInitialize; _CoreCLRSetupEmscripten; _CoreCLRPrepareForNativeBuild; + _CoreCLRGenerateManagedToNative; _CoreCLRWriteCompileRsp; _CoreCLRCompileNativeSources; _CoreCLRWriteLinkRsp; @@ -244,6 +249,11 @@ <_EmccCFlags Include="@(_EmccCommonFlags)" /> <_EmccCFlags Include="-DGEN_PINVOKE=1" /> <_EmccCFlags Include="$(EmccExtraCFlags)" /> + + + <_EmccCFlags Include="-I"$(RepoRoot)src/coreclr/vm/wasm"" Condition="Exists('$(RepoRoot)src/coreclr/vm/wasm/callhelpers.hpp')" /> + <_EmccCFlags Include="-I"$(RepoRoot)src/native"" Condition="Exists('$(RepoRoot)src/native/minipal/entrypoints.h')" /> + <_EmccCFlags Include="-include "$(_WasmIntermediateOutputPath)coreclr_compat.h"" /> @@ -259,9 +269,102 @@ + + + + + <_WasmPInvokeTablePath>$(_WasmIntermediateOutputPath)pinvoke-table.cpp + <_WasmReversePInvokeTablePath>$(_WasmIntermediateOutputPath)reverse-pinvoke-table.cpp + <_WasmInterpToNativeTablePath>$(_WasmIntermediateOutputPath)wasm_m2n_invoke.g.cpp + <_WasmM2NCachePath>$(_WasmIntermediateOutputPath)m2n_cache.txt + <_IsLibraryMode Condition="'$(OutputType)' == 'Library'">true + <_IsLibraryMode Condition="'$(_IsLibraryMode)' == ''">false + + + + + <_WasmPInvokeModules Include="%(_WasmNativeFileForLinking.FileName)" Condition="'%(_WasmNativeFileForLinking.ScanForPInvokes)' != 'false'" /> + <_WasmPInvokeModules Include="libSystem.Native" /> + <_WasmPInvokeModules Include="libSystem.IO.Compression.Native" /> + <_WasmPInvokeModules Include="libSystem.Globalization.Native" /> + <_WasmPInvokeModules Include="libSystem.Native.Browser" /> + <_WasmPInvokeModules Include="libSystem.Runtime.InteropServices.JavaScript.Native" /> + + + + + <_WasmManagedAssemblies Include="@(WasmAssembliesToBundle->Distinct())" /> + + + + + <_HasCoreLib Condition="'%(_WasmManagedAssemblies.FileName)%(_WasmManagedAssemblies.Extension)' == 'System.Private.CoreLib.dll'">true + + <_CoreLibPath Condition="'$(_HasCoreLib)' != 'true'">$(MicrosoftNetCoreAppRuntimePackRidNativeDir)System.Private.CoreLib.dll + <_CoreLibPath Condition="'$(_HasCoreLib)' != 'true' and !Exists('$(_CoreLibPath)')">$([System.IO.Path]::Combine($(MicrosoftNetCoreAppRuntimePackRidLibTfmDir), 'System.Private.CoreLib.dll')) + + + + + + <_WasmManagedAssemblies Include="$(_CoreLibPath)" /> + + + + + + + + + <_WasmSourceFileToCompile Include="$(_WasmPInvokeTablePath)" ObjectFile="$(_WasmIntermediateOutputPath)pinvoke-table.o" /> + <_WasmSourceFileToCompile Include="$(_WasmInterpToNativeTablePath)" ObjectFile="$(_WasmIntermediateOutputPath)wasm_m2n_invoke.o" /> + + + + + + <_WasmCoreclrCompatHeader>$(_WasmIntermediateOutputPath)coreclr_compat.h + + + <_CompatHeaderLines Include="// Auto-generated CoreCLR compat header for app native build" /> + <_CompatHeaderLines Include="#pragma once" /> + <_CompatHeaderLines Include="#include <stddef.h>" /> + <_CompatHeaderLines Include="#include <stdint.h>" /> + <_CompatHeaderLines Include="#include <stdlib.h>" /> + <_CompatHeaderLines Include="#include <stdio.h>" /> + <_CompatHeaderLines Include="// CoreCLR type stubs" /> + <_CompatHeaderLines Include="#ifndef _CORECLR_COMPAT_TYPES" /> + <_CompatHeaderLines Include="#define _CORECLR_COMPAT_TYPES" /> + <_CompatHeaderLines Include="typedef void MethodDesc%3B" /> + <_CompatHeaderLines Include="typedef uintptr_t PCODE%3B" /> + <_CompatHeaderLines Include="typedef uint32_t ULONG%3B" /> + <_CompatHeaderLines Include="#define INTERP_STACK_SLOT_SIZE 8u" /> + <_CompatHeaderLines Include="#endif" /> + <_CompatHeaderLines Include="// CoreCLR logging stubs" /> + <_CompatHeaderLines Include="#define LF_INTEROP 0" /> + <_CompatHeaderLines Include="#define LL_INFO1000 0" /> + <_CompatHeaderLines Include="#define LOG(x)" /> + <_CompatHeaderLines Include="// CoreCLR assertion stubs" /> + <_CompatHeaderLines Include="#define PORTABILITY_ASSERT(msg) do { fprintf(stderr, "PORTABILITY_ASSERT: %%s\n", msg)%3B abort()%3B } while(0)" /> + + + + + + + <_WasmCFlags Include="@(_EmccCFlags)" /> From e5f40ee0825c87870477673d09641a833ed71805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 9 Mar 2026 12:58:27 +0000 Subject: [PATCH 05/38] Apply code review fixes to CoreCLR WASM native build - Don't compile reverse-pinvoke-table.cpp separately to avoid duplicate symbols with callhelpers-reverse.cpp.o in libcoreclr_static.a - Condition LLD_REPORT_UNDEFINED and ERROR_ON_UNDEFINED_SYMBOLS to Debug only, matching CMakeLists.txt behavior - Add Dependencies metadata to generated source files for incremental builds - Use node$(_ExeExt) for cross-platform compat - Reorder link libraries: libBrowserHost.a first, matching CMakeLists.txt Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../build/BrowserWasmApp.CoreCLR.targets | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index a32a281a48aed7..79cb0001937277 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -33,6 +33,9 @@ Publish true + + + <_ExeExt Condition="$([MSBuild]::IsOSPlatform('windows'))">.exe @@ -182,7 +185,7 @@ - + @@ -261,6 +264,8 @@ <_WasmSourceFileToCompile Remove="@(_WasmSourceFileToCompile)" /> <_WasmSourceFileToCompile Include="@(NativeFileReference)" Condition="'%(Extension)' == '.c' or '%(Extension)' == '.cpp'" /> <_WasmSourceFileToCompile ObjectFile="$(_WasmIntermediateOutputPath)%(FileName).o" /> + + <_WasmSourceFileToCompile Dependencies="$(_WasmCompileRsp);$(_WasmIntermediateOutputPath)coreclr_compat.h" /> @@ -322,10 +327,17 @@ - + - <_WasmSourceFileToCompile Include="$(_WasmPInvokeTablePath)" ObjectFile="$(_WasmIntermediateOutputPath)pinvoke-table.o" /> - <_WasmSourceFileToCompile Include="$(_WasmInterpToNativeTablePath)" ObjectFile="$(_WasmIntermediateOutputPath)wasm_m2n_invoke.o" /> + <_WasmSourceFileToCompile Include="$(_WasmPInvokeTablePath)" ObjectFile="$(_WasmIntermediateOutputPath)pinvoke-table.o" + Dependencies="$(_WasmCompileRsp);$(_WasmIntermediateOutputPath)coreclr_compat.h" /> + <_WasmSourceFileToCompile Include="$(_WasmInterpToNativeTablePath)" ObjectFile="$(_WasmIntermediateOutputPath)wasm_m2n_invoke.o" + Dependencies="$(_WasmCompileRsp);$(_WasmIntermediateOutputPath)coreclr_compat.h" /> @@ -408,8 +420,11 @@ <_EmccExportedFunctions>@(EmccExportedFunction -> '%(Identity)',',') - + + + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.a" /> + <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclr_static.a" /> <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libnativeresourcestring.a" /> @@ -418,9 +433,6 @@ <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrpal.a" /> <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libminipal.a" /> - - <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.a" /> - <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.a" /> <_CoreCLRNativeLibs Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.a" /> @@ -474,9 +486,9 @@ <_EmccLinkStepArgs Include="-s EXPORT_NAME=createDotnetRuntime" /> <_EmccLinkStepArgs Include="-s ENVIRONMENT=web,webview,worker,node,shell" /> - - <_EmccLinkStepArgs Include="-s LLD_REPORT_UNDEFINED" /> - <_EmccLinkStepArgs Include="-s ERROR_ON_UNDEFINED_SYMBOLS=1" /> + + <_EmccLinkStepArgs Condition="'$(Configuration)' == 'Debug'" Include="-s LLD_REPORT_UNDEFINED" /> + <_EmccLinkStepArgs Condition="'$(Configuration)' == 'Debug'" Include="-s ERROR_ON_UNDEFINED_SYMBOLS=1" /> <_EmccLinkStepArgs Include="--emit-symbol-map" /> From 1826cbfbdbaa7a8d9c164f24c0b8e4c43b4ead94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 9 Mar 2026 13:43:46 +0000 Subject: [PATCH 06/38] Fix duplicate MAXIMUM_MEMORY in link RSP and PORTABILITY_ASSERT format string - Remove MAXIMUM_MEMORY from _EmccCommonFlags (compile+link shared flags); it only belongs in the link step's _EmccLinkStepArgs - Fix PORTABILITY_ASSERT fprintf format: use %25s MSBuild encoding to produce correct %s printf format specifier Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index 79cb0001937277..6ef24e17d02942 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -244,7 +244,6 @@ <_EmccCommonFlags Include="-fwasm-exceptions" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> <_EmccCommonFlags Include="-s DISABLE_EXCEPTION_CATCHING=0" Condition="'$(WasmEnableExceptionHandling)' == 'false'" /> <_EmccCommonFlags Include="-msimd128" Condition="'$(WasmEnableSIMD)' == 'true'" /> - <_EmccCommonFlags Include="-s MAXIMUM_MEMORY=$(EmccMaximumHeapSize)" Condition="'$(EmccMaximumHeapSize)' != ''" /> @@ -369,7 +368,7 @@ <_CompatHeaderLines Include="#define LL_INFO1000 0" /> <_CompatHeaderLines Include="#define LOG(x)" /> <_CompatHeaderLines Include="// CoreCLR assertion stubs" /> - <_CompatHeaderLines Include="#define PORTABILITY_ASSERT(msg) do { fprintf(stderr, "PORTABILITY_ASSERT: %%s\n", msg)%3B abort()%3B } while(0)" /> + <_CompatHeaderLines Include="#define PORTABILITY_ASSERT(msg) do { fprintf(stderr, "PORTABILITY_ASSERT: %25s", msg)%3B fprintf(stderr, "\n")%3B abort()%3B } while(0)" /> From 595d35e5fae78d443464585cced720d54bf2c51e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Tue, 10 Mar 2026 12:32:32 +0000 Subject: [PATCH 07/38] Enable native build test for CoreCLR WASM and fix CoreCLR property injection - Add SimpleNativeBuildForCoreCLR test that publishes WasmBrowserRunMainOnly with WasmBuildNative=true, verifying the CoreCLR native build pipeline works - Add CoreCLR property injection to CreateWasmTemplateProject (was missing, only CopyTestAsset had it), enabling template-based tests on CoreCLR - Add UsingBrowserRuntimeWorkload=false to both CoreCLR injection blocks to bypass the wasm-tools workload check (NETSDK1147) that fires when WasmBuildNative=true triggers _WasmNativeWorkloadNeeded Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../wasm/Wasm.Build.Tests/NativeBuildTests.cs | 16 ++++++++++ .../Templates/WasmTemplateTestsBase.cs | 31 +++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index 6716d4d350a298..d7df8aefac66a5 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -115,5 +115,21 @@ public async Task ZipArchiveInteropTest() m => Assert.Equal("Zip file created successfully.", m) ); } + + [TestCategory("coreclr")] + [Theory] + [BuildAndRun(aot: false)] + public async Task SimpleNativeBuildForCoreCLR(Configuration config, bool aot) + { + ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBrowserRunMainOnly, "NativeBuildCoreCLR", + extraProperties: "true"); + var (_, buildOutput) = PublishProject(info, config, new PublishOptions(AssertAppBundle: false)); + + var result = await RunForPublishWithWebServer(new BrowserRunOptions(Configuration: config)); + Assert.Collection( + result.TestOutput, + m => Assert.Equal("Hello from WasmBrowserRunMainOnly!", m) + ); + } } } diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs index 820e4464de9eab..55bd927b25a0dc 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs @@ -89,6 +89,36 @@ public ProjectInfo CreateWasmTemplateProject( .ExecuteWithCapturedOutput($"new {template.ToString().ToLower()} {extraArgs}") .EnsureSuccessful(); + if (EnvironmentVariables.RuntimeFlavor == "CoreCLR") + { + string versionSuffix = s_buildEnv.IsRunningOnCI ? "ci" : "dev"; + + extraProperties += + """ + false + false + """; + extraItems += + $$""" + + 11.0.0-{{versionSuffix}} + 11.0.0-{{versionSuffix}} + 11.0.0-{{versionSuffix}} + browser-wasm;%(RuntimePackRuntimeIdentifiers) + + """; + insertAtEnd += + $$""" + + + + 11.0.0-{{versionSuffix}} + + + + """; + } + string projectFilePath = Path.Combine(_projectDir, $"{projectName}.csproj"); UpdateProjectFile(projectFilePath, runAnalyzers, extraProperties, extraItems, insertAtEnd); return new ProjectInfo(projectName, projectFilePath, logPath, nugetDir); @@ -132,6 +162,7 @@ protected ProjectInfo CopyTestAsset( extraProperties += """ false + false """; extraItems += $$""" From 824ac8b387696cbfbf2c681f4646f4b5b260ffda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Thu, 12 Mar 2026 14:14:00 +0000 Subject: [PATCH 08/38] Second round --- .github/skills/wasm-build-tests/SKILL.md | 158 ++++++ .research/build-wasm-browser-sample.md | 2 +- .research/myprompts.txt | 41 ++ .../wasm-native-build-binlog-analysis.md | 413 +++++++++++++++ .../BrowserWasmApp.CoreCLR.targets.backup | 477 ++++++++++++++++++ 5 files changed, 1090 insertions(+), 1 deletion(-) create mode 100644 .github/skills/wasm-build-tests/SKILL.md create mode 100644 .research/myprompts.txt create mode 100644 .research/wasm-native-build-binlog-analysis.md create mode 100644 src/mono/browser/build/BrowserWasmApp.CoreCLR.targets.backup diff --git a/.github/skills/wasm-build-tests/SKILL.md b/.github/skills/wasm-build-tests/SKILL.md new file mode 100644 index 00000000000000..6e5e30a7a4305d --- /dev/null +++ b/.github/skills/wasm-build-tests/SKILL.md @@ -0,0 +1,158 @@ +--- +name: wasm-build-tests +description: Build runtime, construct .NET SDK with wasm-tools workload, and run Wasm.Build.Tests. Use when asked to "build wasm", "run wasm tests", "wasm build tests", "test wasm", "build browser wasm", "install wasm workload", or work with src/mono/wasm/Wasm.Build.Tests. +--- + +# Wasm.Build.Tests — Build & Test Workflow + +Pre-flight check + three-phase workflow: validate artifacts → build runtime → construct SDK with workload → run tests. All commands run from the repo root. + +## Pre-flight: Validate RuntimeFlavor Artifacts + +Ask the user for **RuntimeFlavor** and **Configuration** if not specified. + +Before any build phase, check whether existing artifacts match the requested RuntimeFlavor. The runtime build produces flavor-specific artifacts at: + +| RuntimeFlavor | Artifact marker path | +|---|---| +| **Mono** | `artifacts\obj\mono\browser.wasm.{Config}\out\lib\` | +| **CoreCLR** | `artifacts\obj\coreclr\browser.wasm.{Config}\libs-native\` | + +**Mismatch detection**: If the *other* flavor's marker path exists but the requested flavor's does not, the artifacts were built for a different RuntimeFlavor. In that case, **remove the entire `artifacts` folder** before proceeding: + +```powershell +Remove-Item .\artifacts -Recurse -Force +``` + +This avoids subtle errors from mixing Mono and CoreCLR outputs (stale packages, wrong native libraries, incorrect workload packs). + +**Example check** (requesting Mono/Debug): + +```powershell +$monoExists = Test-Path ".\artifacts\obj\mono\browser.wasm.Debug\out\lib" +$coreclrExists = Test-Path ".\artifacts\obj\coreclr\browser.wasm.Debug\libs-native" +if ($coreclrExists -and -not $monoExists) { + Write-Host "CoreCLR artifacts detected but Mono requested — removing artifacts folder" + Remove-Item .\artifacts -Recurse -Force +} +``` + +Reverse the check when requesting CoreCLR. + +## Phase 1: Build Runtime + +| RuntimeFlavor | Command | +|---|---| +| **Mono** (default) | `./build.cmd -bl -os browser -subset mono+libs+packs -c {Config}` | +| **CoreCLR** | `./build.cmd -bl -os browser -subset clr+libs+packs -c {Config}` | + +`{Config}` is `Debug` or `Release`. + +**When rebuilding after runtime source changes** (same flavor), delete stale packages first: + +``` +Remove-Item .\artifacts\packages\{Config}\Shipping\* -Recurse -Force +``` + +Then re-run the build command above. + +⏱️ This build takes 15–40 minutes. + +## Phase 2: Construct SDK with Workload + +Installs a `wasm-tools` workload into a constructed .NET SDK under `artifacts\bin\dotnet-latest`, with a matching base SDK in `artifacts\bin\dotnet-none`. + +``` +.\dotnet.cmd build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor={Flavor} -c {Config} .\src\mono\wasm\Wasm.Build.Tests -t:InstallWorkloadUsingArtifacts +``` + +**When new packages were built in Phase 1**, delete the old constructed SDK first: + +``` +Remove-Item .\artifacts\bin\dotnet-latest -Recurse -Force +``` + +The `dotnet-none` SDK version matches the `SdkVersionForWorkloadTesting` MSBuild property. + +⏱️ Takes 2–5 minutes. + +## Phase 3: Run Tests + +``` +.\dotnet.cmd build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor={Flavor} -c {Config} -t:Test .\src\mono\wasm\Wasm.Build.Tests\ -p:InstallWorkloadForTesting=false {Filters} {ExtraProps} +``` + +`-p:InstallWorkloadForTesting=false` skips workload re-install (already done in Phase 2). + +### Using Constructed SDKs When System SDK Is Too Old + +The `.\dotnet.cmd` wrapper resolves the SDK via `global.json` (which has `"rollForward": "major"`), so any reasonably recent SDK on PATH usually works. However, if the system SDK is too old and Phase 2 has already completed, use the constructed SDK directly: + +```powershell +# Use dotnet-latest (has wasm-tools workload installed) +.\artifacts\bin\dotnet-latest\dotnet.exe build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor={Flavor} -c {Config} -t:Test .\src\mono\wasm\Wasm.Build.Tests\ -p:InstallWorkloadForTesting=false {Filters} + +# Or use dotnet-none (SDK with no workloads — for TestUsingWorkloads=false scenarios) +.\artifacts\bin\dotnet-none\dotnet.exe build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor={Flavor} -c {Config} -t:Test .\src\mono\wasm\Wasm.Build.Tests\ -p:InstallWorkloadForTesting=false -p:TestUsingWorkloads=false {Filters} +``` + +The SDK version in these directories matches `SdkVersionForWorkloadTesting` (computed from `global.json` and workload manifest versions). Phase 2 downloads this SDK automatically via the `dotnet-install` script. + +**When to use which:** + +| SDK | Path | Use when | +|---|---|---| +| `dotnet-latest` | `artifacts\bin\dotnet-latest\dotnet.exe` | Running tests with workloads (default for Mono) | +| `dotnet-none` | `artifacts\bin\dotnet-none\dotnet.exe` | Running tests without workloads (`TestUsingWorkloads=false`, default for CoreCLR) | + +> ⚠️ These SDKs only exist after Phase 2 completes. Phase 1 still requires `.\dotnet.cmd` (or a compatible system SDK). + +### Test Filtering + +| Property | Scope | Example | +|---|---|---| +| `-p:XUnitClassName=` | Run all tests in a class | `Wasm.Build.Tests.MainWithArgsTests` | +| `-p:XUnitMethodName=` | Run a single test method | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs` | +| `-p:XUnitNamespace=` | Run all tests in a namespace | `Wasm.Build.Tests` | + +Use fully qualified names (FQN). + +### Additional Properties + +| Property | Default | Effect | +|---|---|---| +| `TestUsingWorkloads` | `true` (Mono), `false` (CoreCLR) | Test with/without workloads installed | +| `WasmFingerprintAssets` | — | When `false`, runs tests with `no-fingerprinting` trait | +| `WasmBundlerFriendlyBootConfig` | — | When `true`, runs tests with `bundler-friendly` trait | +| `InstallChromeForTests` | auto in CI | Install Chrome for browser tests | +| `InstallFirefoxForTests` | auto in CI | Install Firefox for browser tests | +| `InstallV8ForTests` | auto in CI | Install V8 for JS engine tests | + +## Quick Reference — Full Workflow Example + +Mono / Debug / single test: + +```powershell +# Pre-flight — check for flavor mismatch +$monoExists = Test-Path ".\artifacts\obj\mono\browser.wasm.Debug\out\lib" +$coreclrExists = Test-Path ".\artifacts\obj\coreclr\browser.wasm.Debug\libs-native" +if ($coreclrExists -and -not $monoExists) { Remove-Item .\artifacts -Recurse -Force } + +# Phase 1 — build runtime +./build.cmd -bl -os browser -subset mono+libs+packs -c Debug + +# Phase 2 — construct SDK +.\dotnet.cmd build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor=Mono -c Debug .\src\mono\wasm\Wasm.Build.Tests -t:InstallWorkloadUsingArtifacts + +# Phase 3 — run one test (if system SDK is too old, use .\artifacts\bin\dotnet-latest\dotnet.exe instead of .\dotnet.cmd) +.\dotnet.cmd build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor=Mono -c Debug -t:Test .\src\mono\wasm\Wasm.Build.Tests\ -p:InstallWorkloadForTesting=false -p:XUnitMethodName=Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs +``` + +## Rebuild Cheat Sheet + +| What changed | Actions needed | +|---|---| +| **Switching RuntimeFlavor** (e.g. Mono→CoreCLR) | Pre-flight detects mismatch → removes `artifacts\` → Phase 1 → Phase 2 → Phase 3 | +| Runtime sources (coreclr/mono/libs) | Delete `artifacts\packages\{Config}\Shipping\*` → Phase 1 → Delete `artifacts\bin\dotnet-latest` → Phase 2 → Phase 3 | +| Test sources only | Phase 3 only | +| Workload infrastructure / packaging | Delete `artifacts\bin\dotnet-latest` → Phase 2 → Phase 3 | diff --git a/.research/build-wasm-browser-sample.md b/.research/build-wasm-browser-sample.md index ccf5bda53f1ef1..b20af784534269 100644 --- a/.research/build-wasm-browser-sample.md +++ b/.research/build-wasm-browser-sample.md @@ -30,7 +30,7 @@ cd src/mono/sample/wasm/browser ../../../../../../dotnet.sh build \ /t:BuildSampleInTree \ /p:RuntimeFlavor=CoreCLR \ - /p:Configuration=Release \ + /p:Configuration=Debug \ Wasm.Browser.Sample.csproj ``` diff --git a/.research/myprompts.txt b/.research/myprompts.txt new file mode 100644 index 00000000000000..bd6aad8e3c4ca4 --- /dev/null +++ b/.research/myprompts.txt @@ -0,0 +1,41 @@ +Use following binlogs to understand wasm native +- appbuild-mono-default.binlog produced when no native build happened (WasmNativeBuild=false) +- appbuild-mono-native.binlog produced with native build (WasmNativeBuild=true) +- apppublish-mono-native.binlog produced with native build (WasmNativeBuild=true) for `dotnet publish` + +There are two entry targets `WasmBuildApp` (for build) and `WasmTriggerPublishApp` (for publish). +Understand what it does to a degree that one will be able to recreate it. +Collect all related targets, inputs, outputs, properties and items. +Write down new analysis to `./.research` folder + +=> wasm-native-build-analysis.md + +====================================================================================================== + +Use following binlogs to understand runtime wasm native +- runtime-mono.binlog produced when building wasm runtime using mono +- runtime-coreclr.binlog produced when building wasm runtime using coreclr + +Understand differences between files used for mono and coreclr builds. +You can use these binlogs in addition if it helps you which files are later consumed by application native build +- appbuild-mono-native.binlog produced when building application with mono runtime +- apppublish-mono-native.binlog produced when building (for publish) application with mono runtime +- appbuild-coreclr-sample.binlog produced when building application with mono runtime + +The goal of the understanding is to be able to recreate application native build for coreclr. +You can use `./.research/wasm-native-build-analysis.md` to understand application native build if it helps. +Extend `./.research/wasm-native-build-analysis.md` with findings about different files between mono and coreclr + +=> wasm-native-build-analysis.md + +====================================================================================================== + +Using following documents implement wasm native build for coreclr. +- build-wasm-browser-sample.md guide how to build sample application +- wasm-native-build-analysis.md analysis of differences between mono and coreclr and wasm native build + +The goal is to implement the same relinking using emcc as we do for mono. +We should reimplement all required pieces in `BrowserWasmApp.CoreCLR.targets` instead of importing or refactoring mono implementation in `BrowserWasmApp.(targets|props)` and `WasmApp.Common.(targets|props)`. We can reuse msbuild tasks, not these targets. +Use any binlogs from .research folder to gather further details if needed. + +Prepare a plan. \ No newline at end of file diff --git a/.research/wasm-native-build-binlog-analysis.md b/.research/wasm-native-build-binlog-analysis.md new file mode 100644 index 00000000000000..8a4b35955eff58 --- /dev/null +++ b/.research/wasm-native-build-binlog-analysis.md @@ -0,0 +1,413 @@ +# WASM Native Build Analysis (from binlogs) + +Analysis of the WASM build pipeline from three binlogs: +- `appbuild-mono-default.binlog` — `dotnet build` with `WasmNativeBuild=false` +- `appbuild-mono-native.binlog` — `dotnet build` with `WasmNativeBuild=true` +- `apppublish-mono-native.binlog` — `dotnet publish` with `WasmNativeBuild=true` + +Sample project: `WasmBrowserMonoNativeBuild.csproj` (net10.0, RID=browser-wasm) + +--- + +## 1. Entry Points + +| Scenario | Entry Target | Hooks Into | +|----------|-------------|------------| +| `dotnet build` | `WasmBuildApp` | Runs **after** `Build` target (via `WasmBuildAppAfterThisTarget=Build`) | +| `dotnet publish` | `WasmTriggerPublishApp` | Runs **after** `Publish` target (via `WasmTriggerPublishAppAfterThisTarget=Publish`) | + +### Publish Flow +`WasmTriggerPublishApp` re-invokes MSBuild with `WasmBuildingForNestedPublish=true` on the +entry target `WasmNestedPublishApp`. This nested invocation runs ILLink first, then the full +native build pipeline. The property `_WasmNestedPublishAppPreTarget` controls what runs before +the WASM app builder — it's `Publish` in the normal evaluation but becomes `ComputeFilesToPublish` +in the nested publish context. + +--- + +## 2. Default Build (No Native) — What Happens + +When `WasmNativeBuild=false` (and the wasm workload is not installed), the build skips all +native compilation. The WASM pipeline is reduced to: + +``` +_ResolveGlobalizationConfiguration + └→ _ResolveWasmConfiguration + └→ _ResolveWasmOutputs [651ms] — ComputeWasmBuildAssets task + └→ ResolveWasmOutputs + └→ _GenerateBuildWasmBootJson [161ms] + └→ _AddWasmStaticWebAssets + └→ _WasmConfigurePreload → _AddWasmPreloadBuildProperties +``` + +**Key properties in default build:** +- `WasmNativeWorkload = false` +- `WasmNativeWorkloadAvailable = false` +- No Emscripten SDK paths set +- No `WasmBuildNative` property +- No `_WasmBuildAppCoreDependsOn` chain + +The app uses the **precompiled runtime** from the runtime pack +(`Microsoft.NETCore.App.Runtime.Mono.browser-wasm`) without recompilation. + +--- + +## 3. Native Build — Full Target Chain + +When `WasmNativeBuild=true` (and `WasmNativeWorkload=true`), the full native compilation +pipeline executes. Here is the complete target dependency tree: + +### 3.1 Top-level: `WasmBuildApp` + +``` +_WasmNativeForBuild — entry for build scenario + └→ _GatherWasmFilesToBuild — collects managed assemblies + └→ WasmBuildApp + └→ _WasmBuildAppCore — main orchestrator + ├→ _InitializeCommonProperties [2ms] — creates obj/.../wasm/for-build/ dir + ├→ PrepareInputsForWasmBuild [9ms] — sets up toolchain + reads props + │ ├→ _SetupToolchain + │ │ └→ _SetupEmscripten [1ms] — validates Emscripten SDK paths + │ ├→ _ReadWasmProps [10ms] — ReadWasmProps task reads wasm.props + │ └→ _SetWasmBuildNativeDefaults — sets WasmBuildNative defaults + ├→ _WasmBuildNativeCore — native compilation orchestrator + │ ├→ _WasmCommonPrepareForWasmBuildNative + │ ├→ PrepareForWasmBuildNative + │ │ ├→ _CheckToolchainIsExpectedVersion + │ │ └→ _PrepareForBrowserWasmBuildNative [5ms] + │ ├→ _ScanAssembliesDecideLightweightMarshaler [362ms] + │ │ └→ TASK: MarshalingPInvokeScanner — scans assemblies for P/Invoke + │ ├→ _GenerateManagedToNative [1.26s] + │ │ ├→ TASK: Exec — runs helper tool + │ │ └→ TASK: ManagedToNativeGenerator — scans pinvokes + icalls + │ ├→ WasmLinkDotNet — linking orchestrator + │ │ ├→ _WasmSelectRuntimeComponentsForLinking + │ │ │ └→ _MonoSelectRuntimeComponents + │ │ │ └→ _MonoComputeAvailableComponentDefinitions + │ │ │ └→ _MonoReadAvailableComponentsManifest [2ms] + │ │ ├→ _WasmCalculateInitialHeapSizeFromBitcodeFiles [17ms] + │ │ │ └→ TASK: WasmCalculateInitialHeapSize + │ │ ├→ _WasmWriteRspForCompilingNativeSourceFiles [1ms] + │ │ │ └→ _BrowserWasmWriteCompileRsp (BeforeTargets) + │ │ ├→ _WasmCompileNativeSourceFiles [4.46s] ← MOST EXPENSIVE + │ │ │ └→ TASK: EmccCompile — compiles pinvoke.c, driver.c, corebindings.c etc. + │ │ ├→ _WasmWriteRspForLinking + │ │ │ └→ _BrowserWasmWriteRspForLinking (BeforeTargets) + │ │ └→ _BrowserWasmLinkDotNet [4.46s] ← SECOND MOST EXPENSIVE + │ │ └→ TASK: Exec — runs emcc linker + │ ├→ WasmAfterLinkSteps + │ └→ _CompleteWasmBuildNative (AfterTargets) + └→ _EmitWasmAssembliesFinal +``` + +### 3.2 Publish-only additions: `WasmTriggerPublishApp` + +The publish flow adds these targets before the native build: + +``` +Publish + └→ WasmTriggerPublishApp [14.4s] — triggers nested publish + └→ (nested MSBuild invocation with WasmBuildingForNestedPublish=true) + └→ WasmNestedPublishApp + ├→ ComputeFilesToPublish + │ ├→ ILLink [7ms] — IL trimming + │ │ └→ _RunILLink [3.02s] — actual ILLinker execution + │ │ └→ PrepareForILLink + │ │ └→ _ComputeManagedAssemblyToLink + │ ├→ ProcessPublishFilesForWasm [60ms] + │ │ └→ _WasmNative (BeforeTargets) + │ │ └→ _GatherWasmFilesToPublish + │ ├→ ComputeWasmExtensions [1ms] + │ └→ _AddWasmWebConfigFile + ├→ _GatherWasmFilesToPublish + └→ _WasmBuildAppCore — same chain as build (see 3.1) + └→ ... (identical native pipeline) + + (post-publish static web asset processing) + └→ GeneratePublishWasmBootJson [13ms] + └→ _AddPublishWasmBootJsonToStaticWebAssets + └→ _AddWasmPreloadPublishProperties + └→ ResolvePublishStaticWebAssets + └→ CopyFilesToPublishDirectory +``` + +**Publish also runs `_RunWasmOptPostLink` [686ms]** — wasm-opt optimization pass on the +linked `.wasm` file — which does NOT run in the build scenario. + +--- + +## 4. Key Properties + +### Properties that differ between default and native builds + +| Property | Default (no native) | Native Build | +|----------|-------------------|--------------| +| `WasmNativeWorkload` | `false` | `true` | +| `WasmNativeWorkloadAvailable` | `false` | `true` | +| `WasmBuildNative` | *(not set)* | `true` | +| `IsWasmProject` | *(not set)* | `true` | +| `IsBrowserWasmProject` | *(not set)* | `true` | +| `WasmIsWorkloadAvailable` | *(not set)* | `true` | +| `EnableDefaultWasmAssembliesToBundle` | `false` | `true` | +| `_WasmNativeWorkloadNeeded` | *(not set)* | `true` | +| All `Emscripten*` paths | *(not set)* | Set to SDK pack paths | + +### Properties specific to publish (vs build) + +| Property | Build | Publish (nested) | +|----------|-------|-----------------| +| `_IsPublishing` | *(not set)* | `true` | +| `_WasmIsPublishing` | *(not set)* | `true` | +| `WasmBuildingForNestedPublish` | *(not set)* | `true` | +| `WasmBuildOnlyAfterPublish` | *(not set)* | `true` | +| `_WasmInNestedPublish_UniqueProperty_XYZ` | *(not set)* | `true` | +| `_WasmDebuggerSupport` | `true` | `false` | +| `_WasmEnableHotReload` | `true` | `false` | + +### All WASM Properties (native build) + +``` +WasmAppBuilderTasksAssemblyPath = ...packs/Microsoft.NET.Runtime.WebAssembly.Sdk/.../WasmAppBuilder.dll +WasmAppHostDir = ...packs/Microsoft.NET.Runtime.WebAssembly.Sdk/.../WasmAppHost/ +WasmAssemblyExtension = .wasm +WasmBuildAppAfterThisTarget = Build +WasmBuildNative = true +WasmBuildTasksAssemblyPath = ...packs/Microsoft.NET.Runtime.WebAssembly.Sdk/.../WasmBuildTasks.dll +WasmCachePath = ...packs/Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64/.../emscripten/cache/ +WasmClang = emcc +WasmDedup = true +WasmEmitSymbolMap = false +WasmEnableExceptionHandling = true +WasmEnableJsInteropByValue = false +WasmEnableSIMD = true +WasmEnableStreamingResponse = true +WasmEnableWebcil = true +WasmGenerateAppBundle = false +WasmNativeWorkload = true +WasmRuntimeAssetsLocation = _framework +WasmSingleFileBundle = false +WasmStripAOTAssemblies = false +WasmStripILAfterAOT = true +WasmTriggerPublishAppAfterThisTarget = Publish +_WasmDebuggerSupport = true +_WasmDefaultFlags = -msimd128 +_WasmEnableHotReload = true +_WasmOutputFileName = dotnet.native.wasm +``` + +--- + +## 5. Key Items + +### Emscripten Environment + +```xml +@(EmscriptenEnvVars): + EMSDK_PYTHON=...packs/Microsoft.NET.Runtime.Emscripten.3.1.56.Python.win-x64/.../python.exe + PYTHONUTF8=1 + +@(EmscriptenPrependPATH): + .../Emscripten.3.1.56.Python.win-x64/.../tools/ + .../Emscripten.3.1.56.Node.win-x64/.../tools/bin/ + .../Emscripten.3.1.56.Sdk.win-x64/.../tools/bin/ + .../Emscripten.3.1.56.Sdk.win-x64/.../tools/emscripten/ +``` + +--- + +## 6. Key Tasks and What They Do + +| Task | Target | Duration | Description | +|------|--------|----------|-------------| +| `ReadWasmProps` | `_ReadWasmProps` | 10ms | Reads wasm.props from runtime pack, sets native source/header/lib paths | +| `MarshalingPInvokeScanner` | `_ScanAssembliesDecideLightweightMarshaler` | 362ms | Scans managed assemblies for P/Invoke signatures to decide marshaling strategy | +| `ManagedToNativeGenerator` | `_GenerateManagedToNative` | 1.1s | Scans all assemblies for pinvokes and icalls, generates native bridge code | +| `MonoRuntimeComponentManifestReadTask` | `_MonoReadAvailableComponentsManifest` | 2ms | Reads available Mono runtime components manifest | +| `WasmCalculateInitialHeapSize` | `_WasmCalculateInitialHeapSizeFromBitcodeFiles` | 17ms | Calculates WASM initial heap size from bitcode files | +| `EmccCompile` | `_WasmCompileNativeSourceFiles` | 4.5s | Compiles C sources (pinvoke.c, driver.c, corebindings.c, etc.) with emcc | +| `Exec` (emcc link) | `_BrowserWasmLinkDotNet` | 4.5s | Links all objects into final `dotnet.native.wasm` with emcc | +| `ComputeWasmBuildAssets` | `_ResolveWasmOutputs` | 20ms | Resolves output file list for static web assets | +| `ILLink` (publish only) | `_RunILLink` | 3.0s | Trims unused IL from managed assemblies | +| wasm-opt (publish only) | `_RunWasmOptPostLink` | 686ms | Post-link optimization of the .wasm binary | + +### emcc Linker Flags (from `_BrowserWasmLinkDotNet`) + +``` +-O0 -v -g +-fwasm-exceptions +-s EXPORT_ES6=1 +-lexports.js +-s LLD_REPORT_UNDEFINED +-s ERROR_ON_UNDEFINED_SYMBOLS=1 +-s INITIAL_MEMORY=33554432 ← WasmInitialHeapSize (32MB) +-s STACK_SIZE=5MB +-s WASM_BIGINT=1 +--pre-js /src/es6/dotnet.pre.js +--js-library /src/es6/dotnet.lib.js +--extern-pre-js /src/es6/dotnet.extpre.js +--extern-post-js /src/es6/dotnet.extpost.js +``` + +Environment variables for emcc: +``` +EMSDK_PYTHON=/python.exe +PYTHONUTF8=1 +DOTNET_EMSCRIPTEN_LLVM_ROOT=/tools/bin +DOTNET_EMSCRIPTEN_BINARYEN_ROOT=/tools/ +``` + +--- + +## 7. Target Dependency Chains (DependsOn properties) + +These MSBuild properties define the target ordering: + +``` +WasmBuildAppDependsOn = _WasmBuildAppCore + +_WasmBuildAppCoreDependsOn = + _InitializeCommonProperties + PrepareInputsForWasmBuild + _WasmResolveReferences + _WasmBuildNativeCore + WasmGenerateAppBundle + _EmitWasmAssembliesFinal + +_WasmBuildNativeCoreDependsOn = + _WasmCommonPrepareForWasmBuildNative + PrepareForWasmBuildNative + _ScanAssembliesDecideLightweightMarshaler + _WasmAotCompileApp ← only when RunAOTCompilation=true + _WasmStripAOTAssemblies ← only when RunAOTCompilation=true + _GenerateManagedToNative + WasmLinkDotNet + WasmAfterLinkSteps + +PrepareInputsForWasmBuildDependsOn = + _SetupToolchain + _ReadWasmProps + _SetWasmBuildNativeDefaults + _GetDefaultWasmAssembliesToBundle + +PrepareForWasmBuildNativeDependsOn = + _CheckToolchainIsExpectedVersion + _PrepareForBrowserWasmBuildNative + +WasmLinkDotNetDependsOn = + _CheckToolchainIsExpectedVersion + _WasmSelectRuntimeComponentsForLinking + _WasmCompileAssemblyBitCodeFilesForAOT ← only when AOT + _WasmCalculateInitialHeapSizeFromBitcodeFiles + _WasmWriteRspForCompilingNativeSourceFiles + _WasmCompileNativeSourceFiles + _GenerateManagedToNative ← generates pinvoke tables + _WasmWriteRspForLinking + _BrowserWasmLinkDotNet ← actual emcc link + +WasmNestedPublishAppDependsOn = + _GatherWasmFilesToPublish + _WasmBuildAppCore ← same core pipeline +``` + +--- + +## 8. SDK Packs Used + +The native build requires these workload packs (Emscripten 3.1.56, .NET 10.0.3): + +| Pack | Content | +|------|---------| +| `Microsoft.NET.Runtime.WebAssembly.Sdk` | MSBuild targets, tasks (WasmAppBuilder.dll, WasmBuildTasks.dll) | +| `Microsoft.NET.Runtime.MonoTargets.Sdk` | Mono-specific tasks (MonoTargetsTasks.dll) | +| `Microsoft.NETCore.App.Runtime.Mono.browser-wasm` | Precompiled runtime, native sources (pinvoke.c, driver.c), JS glue | +| `Microsoft.NET.Runtime.Emscripten.3.1.56.Sdk.win-x64` | emcc, clang, lld, binaryen | +| `Microsoft.NET.Runtime.Emscripten.3.1.56.Node.win-x64` | Node.js for Emscripten | +| `Microsoft.NET.Runtime.Emscripten.3.1.56.Python.win-x64` | Python for Emscripten | +| `Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64` | Prebuilt Emscripten cache (libc, etc.) | +| `Microsoft.NET.Sdk.WebAssembly.Pack` | WebAssembly SDK integration, boot JSON generation | + +--- + +## 9. Timing Summary + +### Build (WasmNativeBuild=true) + +| Phase | Duration | +|-------|----------| +| Restore | 3.4s | +| Normal build (Compile, etc.) | ~1s | +| `_ScanAssembliesDecideLightweightMarshaler` | 362ms | +| `_GenerateManagedToNative` | 1.26s | +| `_WasmCompileNativeSourceFiles` (EmccCompile) | **4.46s** | +| `_BrowserWasmLinkDotNet` (emcc link) | **4.46s** | +| `_ResolveWasmOutputs` | 219ms | +| **Total** | ~12s | + +### Publish (WasmNativeBuild=true) + +| Phase | Duration | +|-------|----------| +| Restore | ~1s | +| Normal build | ~2s | +| `_RunILLink` (IL trimming) | **3.02s** | +| `_WasmCompileNativeSourceFiles` | **3.90s** | +| `_BrowserWasmLinkDotNet` + `_RunWasmOptPostLink` | **10.45s** | +| **Total** | ~28s | + +--- + +## 10. How to Recreate the Build + +To reproduce what `dotnet build` with `WasmNativeBuild=true` does: + +1. **Scan assemblies** for P/Invoke signatures → `MarshalingPInvokeScanner` +2. **Generate native bridge** code (pinvoke tables, icall tables) → `ManagedToNativeGenerator` +3. **Read runtime component manifest** and select components for linking +4. **Calculate initial heap size** from bitcode files +5. **Compile native sources** with `emcc`: + - Sources: `pinvoke.c`, `driver.c`, `corebindings.c` from runtime pack + - Plus generated pinvoke/icall tables + - Flags: `-msimd128`, platform-specific +6. **Link with emcc** into `dotnet.native.wasm`: + - Objects from step 5 + - Runtime bitcode libraries + - JS glue files (`dotnet.pre.js`, `dotnet.lib.js`, etc.) + - Flags: `-fwasm-exceptions`, SIMD, ES6 exports, 32MB initial memory +7. **Resolve outputs** and register as static web assets +8. **Generate boot JSON** for the browser runtime loader + +For **publish**, insert before step 1: +- **IL Link/Trim** managed assemblies (removes unused code) +- After step 6: **Run wasm-opt** for binary optimization + +--- + +## 11. Targets Unique to Each Scenario + +### Only in native build (not in default) +``` +WasmBuildApp, _WasmBuildAppCore, _WasmBuildNativeCore, _WasmNativeForBuild +_InitializeCommonProperties, PrepareInputsForWasmBuild, _SetupToolchain, _SetupEmscripten +_ReadWasmProps, _SetWasmBuildNativeDefaults, PrepareForWasmBuildNative +_WasmCommonPrepareForWasmBuildNative, _CheckToolchainIsExpectedVersion +_PrepareForBrowserWasmBuildNative, _ScanAssembliesDecideLightweightMarshaler +_GenerateManagedToNative, WasmLinkDotNet, _WasmSelectRuntimeComponentsForLinking +_MonoSelectRuntimeComponents, _MonoComputeAvailableComponentDefinitions +_MonoReadAvailableComponentsManifest, _WasmCalculateInitialHeapSizeFromBitcodeFiles +_BrowserWasmWriteCompileRsp, _WasmWriteRspForCompilingNativeSourceFiles +_WasmCompileNativeSourceFiles, _BrowserWasmWriteRspForLinking, _WasmWriteRspForLinking +_BrowserWasmLinkDotNet, _CompleteWasmBuildNative, WasmAfterLinkSteps +_EmitWasmAssembliesFinal, _GatherWasmFilesToBuild +``` + +### Only in publish (not in build) +``` +WasmTriggerPublishApp, WasmNestedPublishApp, _WasmPrepareForPublish +_WasmNative, ProcessPublishFilesForWasm, _GatherWasmFilesToPublish +ComputeWasmExtensions, _AddWasmWebConfigFile, GeneratePublishWasmBootJson +_AddPublishWasmBootJsonToStaticWebAssets, _AddWasmPreloadPublishProperties +ILLink, _RunILLink, PrepareForILLink, _ComputeManagedAssemblyToLink +_RunWasmOptPostLink +ComputeFilesToPublish, CopyFilesToPublishDirectory, Publish +(+ all static web asset publish targets) +``` diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets.backup b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets.backup new file mode 100644 index 00000000000000..c7a0288d2786ca --- /dev/null +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets.backup @@ -0,0 +1,477 @@ + + + + + + + + true + $(WasmEnableExceptionHandling) + + Build + Publish + <_WasmNestedPublishAppPreTarget Condition="'$(DisableAutoWasmPublishApp)' != 'true'">Publish + + true + true + true + false + false + false + + <_WasmOutputFileName Condition="'$(_WasmOutputFileName)' == ''">dotnet.native.wasm + + <_ExeExt Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">.exe + <_PathSeparator Condition="'$(OS)' == 'Windows_NT'">%3B + <_PathSeparator Condition="'$(OS)' != 'Windows_NT'">: + + true + + + + + + + + + + + + + <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenSdkToolsPath)' == '' or !Exists('$(EmscriptenSdkToolsPath)'))">%24(EmscriptenSdkToolsPath)=$(EmscriptenSdkToolsPath) + <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenNodeToolsPath)' == '' or !Exists('$(EmscriptenNodeToolsPath)'))">%24(EmscriptenNodeToolsPath)=$(EmscriptenNodeToolsPath) + <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenUpstreamBinPath)' == '' or !Exists('$(EmscriptenUpstreamBinPath)'))">%24(EmscriptenUpstreamBinPath)=$(EmscriptenUpstreamBinPath) + + + + <_ToolchainMissingErrorMessage Condition="'$(EMSDK_PATH)' == '' and '$(EmscriptenSdkToolsPath)' == ''">Could not find emscripten sdk. Either set %24(EMSDK_PATH), or use workloads to get the sdk. + <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' != 'true' and '$(_EMSDKMissingPaths)' != ''">Emscripten from the workload is missing some paths: $(_EMSDKMissingPaths). + <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' == 'true' and !Exists($(EMSDK_PATH))">Could not find Emscripten sdk at %24(EMSDK_PATH)=$(EMSDK_PATH) . + <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' == 'true' and '$(_EMSDKMissingPaths)' != ''">Specified Emscripten sdk at %24(EMSDK_PATH)=$(EMSDK_PATH) is missing some paths: $(_EMSDKMissingPaths). + <_IsToolchainMissing Condition="'$(_ToolchainMissingErrorMessage)' != ''">true + + + + $([MSBuild]::NormalizeDirectory($(EmscriptenSdkToolsPath))) + $([MSBuild]::NormalizeDirectory($(EmscriptenNodeToolsPath))) + $([MSBuild]::NormalizeDirectory($(EmscriptenUpstreamBinPath))) + + + + + + + + + + <_EmscriptenPrependPATHTrimmed Include="$([MSBuild]::ValueOrDefault('%(EmscriptenPrependPATH.Identity)\', '').TrimEnd('\/'))" /> + + + + + + <_EmscriptenPrependPATHProperty>@(EmscriptenPrependPATH -> '%(Identity)', '$(_PathSeparator)') + + + + + + + + + + + + + + + + + + + + + + + + + %(ResolvedRuntimePack.PackageDirectory) + $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackDir), 'runtimes', $(RuntimeIdentifier))) + $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir))) + $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir), 'native')) + + <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' == ''">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-build')) + <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' != ''">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-publish')) + + $(TargetFileName) + $([System.IO.Path]::GetFileName($(WasmMainAssemblyFileName))) + + + + <_SystemRuntimePathItem Include="$(MicrosoftNetCoreAppRuntimePackRidDir)\lib\net*\System.Runtime.dll" /> + + + + + + $([System.IO.Path]::GetDirectoryName(%(_SystemRuntimePathItem.Identity))) + + + + + + + + + + + + + + + + + + + <_WasmAssembliesInternal Remove="@(_WasmAssembliesInternal)" /> + <_WasmAssembliesInternal Include="@(WasmAssembliesToBundle->Distinct())" /> + + <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" /> + <_WasmSatelliteAssemblies Include="@(_WasmAssembliesInternal)" /> + <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" Condition="!$([System.String]::Copy('%(Identity)').EndsWith('.resources.dll'))" /> + <_WasmSatelliteAssemblies CultureName="$([System.IO.Directory]::GetParent('%(Identity)').Name)" /> + <_WasmAssembliesInternal Remove="@(_WasmSatelliteAssemblies)" /> + + + + + + + + + true + + + + + true + false + true + + + + false + + + + + + true + false + true + + true + false + + <_WasmDevel Condition="'$(_WasmDevel)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">true + + <_EmccOptimizationFlagDefault Condition="'$(_WasmDevel)' == 'true'">-O0 + <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">-O1 + <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == ''">-Oz + + -O2 + $(_EmccOptimizationFlagDefault) + + 5MB + 2147483648 + false + + <_WasmLinkRsp>$(_WasmIntermediateOutputPath)emcc-link.rsp + + $(EmscriptenUpstreamEmscriptenPath)emcc + + + + + + + + + + + + $(_WasmCalculatedInitialHeapSize) + 134217728 + + + + + + + + + + <_EmccExportedRuntimeMethods>"['BROWSER_HOST','FS','out','err','ccall','cwrap','setValue','getValue','UTF8ToString','UTF8ArrayToString','lengthBytesUTF8','stringToUTF8Array','safeSetTimeout','runtimeKeepalivePush','runtimeKeepalivePop','abort']" + <_EmccExportedFunctions>_free,_htons,_malloc,_sbrk,_memalign,_posix_memalign,_memset,_ntohs,stackAlloc,stackRestore,stackSave + <_EmccExportedFunctions Condition="'$(WasmEnableExceptionHandling)' == 'true'">$(_EmccExportedFunctions),___cpp_exception + + + + + <_CoreCLRNativeLibsForLinking Remove="@(_CoreCLRNativeLibsForLinking)" /> + + + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclr_static.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libnativeresourcestring.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libgcinfo_unix_wasm.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrminipal.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrpal.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libminipal.a" /> + + + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.a" /> + + + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.a" /> + + + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.IO.Compression.Native.a" /> + <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libz.a" /> + + + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Globalization.Native.a" /> + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicuuc.a" /> + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicui18n.a" /> + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicudata.a" /> + + + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantTimezone)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.a" /> + <_CoreCLRNativeLibsForLinking Condition="'$(InvariantTimezone)' == 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.Invariant.a" /> + + + <_CoreCLRNativeLibsForLinking Include="@(NativeFileReference)" /> + + + + + <_CoreCLRJSLibsForLinking Remove="@(_CoreCLRJSLibsForLinking)" /> + <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.js" Kind="js-library" /> + <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.Utils.js" Kind="js-library" /> + <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.js" Kind="js-library" /> + <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.js" Kind="js-library" /> + + + <_CoreCLRJSLibsForLinking Condition="Exists('$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.extpost.js')" + Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.extpost.js" Kind="extern-post-js" /> + + + + + + + + + + + + + + + + + + + <_CoreCLRLinkStepArgs Remove="@(_CoreCLRLinkStepArgs)" /> + + + <_CoreCLRLinkStepArgs Include="$(EmccLinkOptimizationFlag)" /> + + + <_CoreCLRLinkStepArgs Include="$(EmccFlags)" /> + <_CoreCLRLinkStepArgs Include="-v" Condition="'$(EmccVerbose)' == 'true'" /> + <_CoreCLRLinkStepArgs Include="-g" Condition="'$(WasmNativeDebugSymbols)' == 'true'" /> + <_CoreCLRLinkStepArgs Include="-fwasm-exceptions" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> + <_CoreCLRLinkStepArgs Include="-s DISABLE_EXCEPTION_CATCHING=0" Condition="'$(WasmEnableExceptionHandling)' == 'false'" /> + <_CoreCLRLinkStepArgs Include="-msimd128" Condition="'$(WasmEnableSIMD)' == 'true'" /> + + + <_CoreCLRLinkStepArgs Include="-s INITIAL_MEMORY=$(WasmInitialHeapSize)" /> + <_CoreCLRLinkStepArgs Include="-s MAXIMUM_MEMORY=$(EmccMaximumHeapSize)" /> + <_CoreCLRLinkStepArgs Include="-s ALLOW_MEMORY_GROWTH=1" /> + <_CoreCLRLinkStepArgs Include="-s STACK_SIZE=$(EmccStackSize)" /> + + + <_CoreCLRLinkStepArgs Include="-s WASM_BIGINT=1" /> + <_CoreCLRLinkStepArgs Include="-s MODULARIZE=1" /> + <_CoreCLRLinkStepArgs Include="-s EXPORT_ES6=1" /> + <_CoreCLRLinkStepArgs Include="-s EXIT_RUNTIME=1" /> + <_CoreCLRLinkStepArgs Include="-s ALLOW_TABLE_GROWTH=1" /> + <_CoreCLRLinkStepArgs Include="-s EXPORT_NAME=createDotnetRuntime" /> + <_CoreCLRLinkStepArgs Include="-s ENVIRONMENT="web,webview,worker,node,shell"" /> + + + <_CoreCLRLinkStepArgs Condition="'$(EmccEnableAssertions)' == 'true'" Include="-s ASSERTIONS=1" /> + + + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' == 'true'" Include="-Wl,--allow-undefined" /> + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' == 'true'" Include="-s ERROR_ON_UNDEFINED_SYMBOLS=0" /> + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-s LLD_REPORT_UNDEFINED" /> + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-s ERROR_ON_UNDEFINED_SYMBOLS=1" /> + <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-Wl,-error-limit=0" /> + + + <_CoreCLRLinkStepArgs Include="-s EXPORTED_RUNTIME_METHODS=$(_EmccExportedRuntimeMethods)" /> + <_CoreCLRLinkStepArgs Include="-s EXPORTED_FUNCTIONS=$(_EmccExportedFunctions)" /> + + + <_CoreCLRLinkStepArgs Include="--emit-symbol-map" Condition="'$(WasmEmitSymbolMap)' == 'true'" /> + + + <_CoreCLRLinkStepArgs Include="--%(_CoreCLRJSLibsForLinking.Kind) "%(_CoreCLRJSLibsForLinking.Identity)"" /> + + + <_CoreCLRLinkStepArgs Include=""%(_CoreCLRNativeLibsForLinking.Identity)"" /> + + + <_CoreCLRLinkStepArgs Include="-o "$(_WasmIntermediateOutputPath)dotnet.native.js"" /> + + + <_CoreCLRLinkStepArgs Include="$(EmccExtraLDFlags)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_WasmOptPostLinkFileName>$(_WasmIntermediateOutputPath)dotnet.native.wasm + + + + <_WasmOptConfigFlags Remove="@(_WasmOptConfigFlags)" /> + <_WasmOptConfigFlags Include="--enable-simd" Condition="'$(WasmEnableSIMD)' == 'true'" /> + <_WasmOptConfigFlags Include="--enable-exception-handling" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> + <_WasmOptConfigFlags Include="--enable-bulk-memory" /> + <_WasmOptConfigFlags Include="--strip-dwarf" Condition="'$(WasmNativeStrip)' == 'true'" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 5a4d6440e020b24035234aee51c92b85af4fd607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Thu, 12 Mar 2026 14:19:50 +0000 Subject: [PATCH 09/38] Cleanup --- .../wasm/Wasm.Build.Tests/NativeBuildTests.cs | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index bd8d116d7ae5cb..ff33906df14d1a 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -116,21 +116,5 @@ public async Task ZipArchiveInteropTest() m => Assert.Equal("Zip file created successfully.", m) ); } - - [TestCategory("coreclr")] - [Theory] - [BuildAndRun(aot: false)] - public async Task SimpleNativeBuildForCoreCLR(Configuration config, bool aot) - { - ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBrowserRunMainOnly, "NativeBuildCoreCLR", - extraProperties: "true"); - var (_, buildOutput) = PublishProject(info, config, new PublishOptions(AssertAppBundle: false)); - - var result = await RunForPublishWithWebServer(new BrowserRunOptions(Configuration: config)); - Assert.Collection( - result.TestOutput, - m => Assert.Equal("Hello from WasmBrowserRunMainOnly!", m) - ); - } } } From a42e35a8ca82e3633540e4dc9d5c8242af7859b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 16 Mar 2026 08:39:07 +0000 Subject: [PATCH 10/38] Cleanup --- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index 6ef24e17d02942..a4f9b7b0a6cc05 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -22,7 +22,6 @@ true $(WasmEnableExceptionHandling) - <_WasmOutputFileName>dotnet.native.wasm emcc <_WasmDefaultFlags Condition="'$(WasmEnableExceptionHandling)' != 'false'">-fwasm-exceptions From c429a00950ae92885c2f00f26f7744549bf10366 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 16 Mar 2026 08:41:40 +0000 Subject: [PATCH 11/38] Cleanup --- .github/skills/wasm-build-tests/SKILL.md | 158 ----------------------- .research/myprompts.txt | 41 ------ 2 files changed, 199 deletions(-) delete mode 100644 .github/skills/wasm-build-tests/SKILL.md delete mode 100644 .research/myprompts.txt diff --git a/.github/skills/wasm-build-tests/SKILL.md b/.github/skills/wasm-build-tests/SKILL.md deleted file mode 100644 index 6e5e30a7a4305d..00000000000000 --- a/.github/skills/wasm-build-tests/SKILL.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -name: wasm-build-tests -description: Build runtime, construct .NET SDK with wasm-tools workload, and run Wasm.Build.Tests. Use when asked to "build wasm", "run wasm tests", "wasm build tests", "test wasm", "build browser wasm", "install wasm workload", or work with src/mono/wasm/Wasm.Build.Tests. ---- - -# Wasm.Build.Tests — Build & Test Workflow - -Pre-flight check + three-phase workflow: validate artifacts → build runtime → construct SDK with workload → run tests. All commands run from the repo root. - -## Pre-flight: Validate RuntimeFlavor Artifacts - -Ask the user for **RuntimeFlavor** and **Configuration** if not specified. - -Before any build phase, check whether existing artifacts match the requested RuntimeFlavor. The runtime build produces flavor-specific artifacts at: - -| RuntimeFlavor | Artifact marker path | -|---|---| -| **Mono** | `artifacts\obj\mono\browser.wasm.{Config}\out\lib\` | -| **CoreCLR** | `artifacts\obj\coreclr\browser.wasm.{Config}\libs-native\` | - -**Mismatch detection**: If the *other* flavor's marker path exists but the requested flavor's does not, the artifacts were built for a different RuntimeFlavor. In that case, **remove the entire `artifacts` folder** before proceeding: - -```powershell -Remove-Item .\artifacts -Recurse -Force -``` - -This avoids subtle errors from mixing Mono and CoreCLR outputs (stale packages, wrong native libraries, incorrect workload packs). - -**Example check** (requesting Mono/Debug): - -```powershell -$monoExists = Test-Path ".\artifacts\obj\mono\browser.wasm.Debug\out\lib" -$coreclrExists = Test-Path ".\artifacts\obj\coreclr\browser.wasm.Debug\libs-native" -if ($coreclrExists -and -not $monoExists) { - Write-Host "CoreCLR artifacts detected but Mono requested — removing artifacts folder" - Remove-Item .\artifacts -Recurse -Force -} -``` - -Reverse the check when requesting CoreCLR. - -## Phase 1: Build Runtime - -| RuntimeFlavor | Command | -|---|---| -| **Mono** (default) | `./build.cmd -bl -os browser -subset mono+libs+packs -c {Config}` | -| **CoreCLR** | `./build.cmd -bl -os browser -subset clr+libs+packs -c {Config}` | - -`{Config}` is `Debug` or `Release`. - -**When rebuilding after runtime source changes** (same flavor), delete stale packages first: - -``` -Remove-Item .\artifacts\packages\{Config}\Shipping\* -Recurse -Force -``` - -Then re-run the build command above. - -⏱️ This build takes 15–40 minutes. - -## Phase 2: Construct SDK with Workload - -Installs a `wasm-tools` workload into a constructed .NET SDK under `artifacts\bin\dotnet-latest`, with a matching base SDK in `artifacts\bin\dotnet-none`. - -``` -.\dotnet.cmd build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor={Flavor} -c {Config} .\src\mono\wasm\Wasm.Build.Tests -t:InstallWorkloadUsingArtifacts -``` - -**When new packages were built in Phase 1**, delete the old constructed SDK first: - -``` -Remove-Item .\artifacts\bin\dotnet-latest -Recurse -Force -``` - -The `dotnet-none` SDK version matches the `SdkVersionForWorkloadTesting` MSBuild property. - -⏱️ Takes 2–5 minutes. - -## Phase 3: Run Tests - -``` -.\dotnet.cmd build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor={Flavor} -c {Config} -t:Test .\src\mono\wasm\Wasm.Build.Tests\ -p:InstallWorkloadForTesting=false {Filters} {ExtraProps} -``` - -`-p:InstallWorkloadForTesting=false` skips workload re-install (already done in Phase 2). - -### Using Constructed SDKs When System SDK Is Too Old - -The `.\dotnet.cmd` wrapper resolves the SDK via `global.json` (which has `"rollForward": "major"`), so any reasonably recent SDK on PATH usually works. However, if the system SDK is too old and Phase 2 has already completed, use the constructed SDK directly: - -```powershell -# Use dotnet-latest (has wasm-tools workload installed) -.\artifacts\bin\dotnet-latest\dotnet.exe build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor={Flavor} -c {Config} -t:Test .\src\mono\wasm\Wasm.Build.Tests\ -p:InstallWorkloadForTesting=false {Filters} - -# Or use dotnet-none (SDK with no workloads — for TestUsingWorkloads=false scenarios) -.\artifacts\bin\dotnet-none\dotnet.exe build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor={Flavor} -c {Config} -t:Test .\src\mono\wasm\Wasm.Build.Tests\ -p:InstallWorkloadForTesting=false -p:TestUsingWorkloads=false {Filters} -``` - -The SDK version in these directories matches `SdkVersionForWorkloadTesting` (computed from `global.json` and workload manifest versions). Phase 2 downloads this SDK automatically via the `dotnet-install` script. - -**When to use which:** - -| SDK | Path | Use when | -|---|---|---| -| `dotnet-latest` | `artifacts\bin\dotnet-latest\dotnet.exe` | Running tests with workloads (default for Mono) | -| `dotnet-none` | `artifacts\bin\dotnet-none\dotnet.exe` | Running tests without workloads (`TestUsingWorkloads=false`, default for CoreCLR) | - -> ⚠️ These SDKs only exist after Phase 2 completes. Phase 1 still requires `.\dotnet.cmd` (or a compatible system SDK). - -### Test Filtering - -| Property | Scope | Example | -|---|---|---| -| `-p:XUnitClassName=` | Run all tests in a class | `Wasm.Build.Tests.MainWithArgsTests` | -| `-p:XUnitMethodName=` | Run a single test method | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs` | -| `-p:XUnitNamespace=` | Run all tests in a namespace | `Wasm.Build.Tests` | - -Use fully qualified names (FQN). - -### Additional Properties - -| Property | Default | Effect | -|---|---|---| -| `TestUsingWorkloads` | `true` (Mono), `false` (CoreCLR) | Test with/without workloads installed | -| `WasmFingerprintAssets` | — | When `false`, runs tests with `no-fingerprinting` trait | -| `WasmBundlerFriendlyBootConfig` | — | When `true`, runs tests with `bundler-friendly` trait | -| `InstallChromeForTests` | auto in CI | Install Chrome for browser tests | -| `InstallFirefoxForTests` | auto in CI | Install Firefox for browser tests | -| `InstallV8ForTests` | auto in CI | Install V8 for JS engine tests | - -## Quick Reference — Full Workflow Example - -Mono / Debug / single test: - -```powershell -# Pre-flight — check for flavor mismatch -$monoExists = Test-Path ".\artifacts\obj\mono\browser.wasm.Debug\out\lib" -$coreclrExists = Test-Path ".\artifacts\obj\coreclr\browser.wasm.Debug\libs-native" -if ($coreclrExists -and -not $monoExists) { Remove-Item .\artifacts -Recurse -Force } - -# Phase 1 — build runtime -./build.cmd -bl -os browser -subset mono+libs+packs -c Debug - -# Phase 2 — construct SDK -.\dotnet.cmd build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor=Mono -c Debug .\src\mono\wasm\Wasm.Build.Tests -t:InstallWorkloadUsingArtifacts - -# Phase 3 — run one test (if system SDK is too old, use .\artifacts\bin\dotnet-latest\dotnet.exe instead of .\dotnet.cmd) -.\dotnet.cmd build -bl -p:TargetOS=browser -p:TargetArchitecture=wasm -p:RuntimeFlavor=Mono -c Debug -t:Test .\src\mono\wasm\Wasm.Build.Tests\ -p:InstallWorkloadForTesting=false -p:XUnitMethodName=Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs -``` - -## Rebuild Cheat Sheet - -| What changed | Actions needed | -|---|---| -| **Switching RuntimeFlavor** (e.g. Mono→CoreCLR) | Pre-flight detects mismatch → removes `artifacts\` → Phase 1 → Phase 2 → Phase 3 | -| Runtime sources (coreclr/mono/libs) | Delete `artifacts\packages\{Config}\Shipping\*` → Phase 1 → Delete `artifacts\bin\dotnet-latest` → Phase 2 → Phase 3 | -| Test sources only | Phase 3 only | -| Workload infrastructure / packaging | Delete `artifacts\bin\dotnet-latest` → Phase 2 → Phase 3 | diff --git a/.research/myprompts.txt b/.research/myprompts.txt deleted file mode 100644 index bd6aad8e3c4ca4..00000000000000 --- a/.research/myprompts.txt +++ /dev/null @@ -1,41 +0,0 @@ -Use following binlogs to understand wasm native -- appbuild-mono-default.binlog produced when no native build happened (WasmNativeBuild=false) -- appbuild-mono-native.binlog produced with native build (WasmNativeBuild=true) -- apppublish-mono-native.binlog produced with native build (WasmNativeBuild=true) for `dotnet publish` - -There are two entry targets `WasmBuildApp` (for build) and `WasmTriggerPublishApp` (for publish). -Understand what it does to a degree that one will be able to recreate it. -Collect all related targets, inputs, outputs, properties and items. -Write down new analysis to `./.research` folder - -=> wasm-native-build-analysis.md - -====================================================================================================== - -Use following binlogs to understand runtime wasm native -- runtime-mono.binlog produced when building wasm runtime using mono -- runtime-coreclr.binlog produced when building wasm runtime using coreclr - -Understand differences between files used for mono and coreclr builds. -You can use these binlogs in addition if it helps you which files are later consumed by application native build -- appbuild-mono-native.binlog produced when building application with mono runtime -- apppublish-mono-native.binlog produced when building (for publish) application with mono runtime -- appbuild-coreclr-sample.binlog produced when building application with mono runtime - -The goal of the understanding is to be able to recreate application native build for coreclr. -You can use `./.research/wasm-native-build-analysis.md` to understand application native build if it helps. -Extend `./.research/wasm-native-build-analysis.md` with findings about different files between mono and coreclr - -=> wasm-native-build-analysis.md - -====================================================================================================== - -Using following documents implement wasm native build for coreclr. -- build-wasm-browser-sample.md guide how to build sample application -- wasm-native-build-analysis.md analysis of differences between mono and coreclr and wasm native build - -The goal is to implement the same relinking using emcc as we do for mono. -We should reimplement all required pieces in `BrowserWasmApp.CoreCLR.targets` instead of importing or refactoring mono implementation in `BrowserWasmApp.(targets|props)` and `WasmApp.Common.(targets|props)`. We can reuse msbuild tasks, not these targets. -Use any binlogs from .research folder to gather further details if needed. - -Prepare a plan. \ No newline at end of file From 9ebd7acdab3b9a6cb14a09efef24ef15c27b3ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 16 Mar 2026 08:58:45 +0000 Subject: [PATCH 12/38] Cleanup --- .../Templates/WasmTemplateTestsBase.cs | 95 +++++++------------ 1 file changed, 36 insertions(+), 59 deletions(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs index 99c7538c3c5392..c56971a52bee14 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs @@ -89,35 +89,7 @@ public ProjectInfo CreateWasmTemplateProject( .ExecuteWithCapturedOutput($"new {template.ToString().ToLower()} {extraArgs}") .EnsureSuccessful(); - if (EnvironmentVariables.RuntimeFlavor == "CoreCLR") - { - string versionSuffix = s_buildEnv.IsRunningOnCI ? "ci" : "dev"; - - extraProperties += - """ - false - false - """; - extraItems += - $$""" - - 11.0.0-{{versionSuffix}} - 11.0.0-{{versionSuffix}} - 11.0.0-{{versionSuffix}} - browser-wasm;%(RuntimePackRuntimeIdentifiers) - - """; - insertAtEnd += - $$""" - - - - 11.0.0-{{versionSuffix}} - - - - """; - } + AddCoreClrProjectProperties(ref extraProperties, ref extraItems, ref insertAtEnd); string projectFilePath = Path.Combine(_projectDir, $"{projectName}.csproj"); UpdateProjectFile(projectFilePath, runAnalyzers, extraProperties, extraItems, insertAtEnd); @@ -154,36 +126,7 @@ protected ProjectInfo CopyTestAsset( """; } - if (s_buildEnv.IsCoreClrRuntime) - { - // TODO-WASM: https://github.com/dotnet/sdk/issues/51213 - string versionSuffix = s_buildEnv.IsRunningOnCI ? "ci" : "dev"; - - extraProperties += - """ - false - false - """; - extraItems += - $$""" - - 11.0.0-{{versionSuffix}} - 11.0.0-{{versionSuffix}} - 11.0.0-{{versionSuffix}} - browser-wasm;%(RuntimePackRuntimeIdentifiers) - - """; - insertAtEnd += - $$""" - - - - 11.0.0-{{versionSuffix}} - - - - """; - } + AddCoreClrProjectProperties(ref extraProperties, ref extraItems, ref insertAtEnd); UpdateProjectFile(projectFilePath, runAnalyzers, extraProperties, extraItems, insertAtEnd); return new ProjectInfo(asset.Name, projectFilePath, logPath, nugetDir); @@ -197,6 +140,40 @@ private void UpdateProjectFile(string projectFilePath, bool runAnalyzers, string AddItemsPropertiesToProject(projectFilePath, extraProperties, extraItems, insertAtEnd); } + // TODO-WASM: https://github.com/dotnet/sdk/issues/51213 + private static void AddCoreClrProjectProperties(ref string extraProperties, ref string extraItems, ref string insertAtEnd) + { + if (!s_buildEnv.IsCoreClrRuntime) + return; + + string versionSuffix = s_buildEnv.IsRunningOnCI ? "ci" : "dev"; + + extraProperties += + """ + false + false + """; + extraItems += + $$""" + + 11.0.0-{{versionSuffix}} + 11.0.0-{{versionSuffix}} + 11.0.0-{{versionSuffix}} + browser-wasm;%(RuntimePackRuntimeIdentifiers) + + """; + insertAtEnd += + $$""" + + + + 11.0.0-{{versionSuffix}} + + + + """; + } + public virtual (string projectDir, string buildOutput) PublishProject( ProjectInfo info, Configuration configuration, From 3cf4c0fbc07dbda85dcd0a59ef146c8e65dd02cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 16 Mar 2026 10:41:58 +0000 Subject: [PATCH 13/38] Fix --- src/native/corehost/corehost.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/native/corehost/corehost.proj b/src/native/corehost/corehost.proj index 10f6cdd0a2ada0..896b0004dae858 100644 --- a/src/native/corehost/corehost.proj +++ b/src/native/corehost/corehost.proj @@ -185,7 +185,7 @@ <_MicrosoftNetCoreAppRuntimePackNativeDirFiles Include="$(HostSharedFrameworkDir)dotnet.native.js.symbols" /> <_MicrosoftNetCoreAppRuntimePackNativeDirFiles Include="$(HostSharedFrameworkDir)dotnet.native.wasm" /> - <_MicrosoftNetCoreAppRuntimePackNativeDirFiles Include="$(MSBuildThisFileDirectory)..\..\libs\System.Native.Browser\libSystem.Native.Browser.extpost.js" /> + <_MicrosoftNetCoreAppRuntimePackNativeDirFiles Include="$(MSBuildThisFileDirectory)..\libs\System.Native.Browser\libSystem.Native.Browser.extpost.js" /> Date: Tue, 17 Mar 2026 10:40:29 +0000 Subject: [PATCH 14/38] Use absolute path for emcc in CoreCLR WASM targets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On Windows, the EmccCompile task's CompilerBinaryPath was set to bare 'emcc', which relies on the PATH environment variable to resolve. However, the PATH constructed in _CoreCLRSetupEmscripten was fragmented by MSBuild item-separator splitting on semicolons, so only the emsdk root directory ended up in PATH — not the emscripten subdirectory where emcc lives. Fix by setting WasmClang to an absolute path using EmscriptenUpstreamEmscriptenPath, matching the existing pattern in the Mono targets (BrowserWasmApp.targets line 173). Also update the link step Exec command to use $(WasmClang) instead of bare 'emcc'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index a4f9b7b0a6cc05..ed40918d70ead8 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -178,6 +178,7 @@ $([MSBuild]::NormalizeDirectory($(EmscriptenSdkToolsPath))) $([MSBuild]::NormalizeDirectory($(EmscriptenNodeToolsPath))) $([MSBuild]::NormalizeDirectory($(EmscriptenUpstreamBinPath))) + $(EmscriptenUpstreamEmscriptenPath)emcc @@ -539,7 +540,7 @@ - From 81c5791ae3969aedd889f65055a584a5f468f4e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Tue, 17 Mar 2026 13:48:29 +0000 Subject: [PATCH 15/38] The changes are clean and focused. Three surgical edits: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. WasmTriggerPublishApp — removed the WasmBuildNative == 'true' gate so the publish pipeline runs for all browser-wasm projects (matching Mono behavior) 2. WasmNestedPublishApp — switched from hardcoded ComputeFilesToPublish to $(_WasmNestedPublishAppPreTarget);$(WasmNestedPublishAppDependsOn) so that PrepareForWasmBuildApp and _GatherWasmFilesToPublish run (setting WasmMainJSPath, populating StaticWebAssets) 3. _CoreCLRWasmBuildAppCore — added WasmBuildNative == 'true' condition so the emcc native linking is skipped when not needed, but the rest of the publish pipeline still runs --- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index ed40918d70ead8..e244cccb820d3c 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -71,11 +71,10 @@ '$(IsCrossTargetingBuild)' != 'true'" DependsOnTargets="_CoreCLRWasmBuildAppCore" /> - + @@ -117,6 +116,7 @@ From 96ab64e820d24fcb9c5d723865c9b4f63029fdce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Wed, 25 Mar 2026 10:55:25 +0000 Subject: [PATCH 16/38] Fix nested publish static web assets manifest error for CoreCLR WASM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The WebAssembly SDK sets _WasmNestedPublishAppPreTarget to ComputeFilesToPublish, which skips the Build chain. This means GenerateStaticWebAssetsManifest never runs before the publish pipeline tries to read staticwebassets.build.json via _CleanupReferencedProjectItemGroups, causing a missing manifest error. Override the property to Publish (matching Mono's behavior) so the full Build → GenerateStaticWebAssetsManifest chain runs before the publish targets that depend on the manifest. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index e244cccb820d3c..4d243f0be31ff4 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -31,6 +31,12 @@ Build Publish + + <_WasmNestedPublishAppPreTarget Condition="'$(DisableAutoWasmPublishApp)' != 'true'">Publish + true From 7a523fedcc5102bb52f10c1948560778582fb16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Wed, 25 Mar 2026 19:11:28 +0000 Subject: [PATCH 17/38] Fix emcc compilation on Windows: add EMSDK_PYTHON env vars The EmccCompile task fails on Windows CI because emcc.bat cannot find Python. The emcc wrapper uses EMSDK_PYTHON to locate the bundled Python executable, but the CoreCLR targets did not set this env var. Without it, emcc falls back to bare 'python' which does not exist on the CI agents. Add the three Windows-specific env vars (EMSDK_PYTHON, PYTHONPATH, PYTHONHOME) to _CoreCLRSetupEmscripten, matching what Mono's BrowserWasmApp.targets already sets. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index 4d243f0be31ff4..8292331cc43b5a 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -210,6 +210,9 @@ + + + From 9345d44f7a1baf55eafad742e038a64804ebe07d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Thu, 26 Mar 2026 14:27:39 +0000 Subject: [PATCH 18/38] Fix CI failures: escape Windows PATH separator and skip native packages during relink 1. BrowserWasmApp.CoreCLR.targets: Escape the emscripten PATH prefix with $([MSBuild]::Escape(...)) to prevent ';' on Windows from being treated as an MSBuild item separator, which caused MSB6007. 2. eng/native.wasm.targets: Condition the ICU/TimeZoneData PackageReference ItemGroup on IsBrowserWasmProject != true. During app-level relink these packages are not needed (the runtime pack has pre-built native files), and their NuGet contentFiles (555 timezone data files + README.md) pollute the app's Content items causing ComputeWasmVfs validation failures (case-insensitive README.md vs readme.md conflict). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eng/native.wasm.targets | 7 ++++++- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/eng/native.wasm.targets b/eng/native.wasm.targets index a8966ecdb85e9b..68da2b9d6a9cd2 100644 --- a/eng/native.wasm.targets +++ b/eng/native.wasm.targets @@ -1,7 +1,12 @@ - + + diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index 8292331cc43b5a..30ceba08349f01 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -207,7 +207,7 @@ - + From acf230c6e85ea57569f99e41b47a86cdcecdd3bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Thu, 26 Mar 2026 18:58:48 +0000 Subject: [PATCH 19/38] Fix WASM CoreCLR build: replicate Mono WasmNativeDebugSymbols logic Replace the unconditional WasmNativeDebugSymbols=true default with the same conditional pattern used by Mono in eng/testing/tests.wasm.targets: - CI + AOT: strip and disable debug symbols to avoid OOM during wasm-opt - DebuggerSupport: enable debug symbols - Otherwise: leave unset (no -g flag passed to emcc) This fixes the emcc -Wlimited-postlink-optimizations error caused by requesting DWARF info (-g) alongside -O2 optimization in Release/Checked builds of browser-wasm samples like Wasm.BrowserLogProfile.Sample. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index 30ceba08349f01..782f4a9fdd885a 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -37,7 +37,13 @@ which skips Build and causes a missing manifest error. --> <_WasmNestedPublishAppPreTarget Condition="'$(DisableAutoWasmPublishApp)' != 'true'">Publish - true + + true + false + true <_ExeExt Condition="$([MSBuild]::IsOSPlatform('windows'))">.exe From 8dc3eef012403189fb2b4b84f8aa6c0c3db5c3ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Sat, 28 Mar 2026 08:40:03 +0000 Subject: [PATCH 20/38] Make EH and SIMD unconditionally enabled for CoreCLR WASM CoreCLR browser-wasm always requires exception handling and SIMD, so remove the conditional defaults and simplify the flag generation. This removes the dead code paths for WasmEnableExceptionHandling=false and WasmEnableSIMD=false which cannot apply to CoreCLR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../browser/build/BrowserWasmApp.CoreCLR.targets | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index 782f4a9fdd885a..6c6999e00bc052 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -20,13 +20,12 @@ true - true - $(WasmEnableExceptionHandling) + + true + true emcc - <_WasmDefaultFlags Condition="'$(WasmEnableExceptionHandling)' != 'false'">-fwasm-exceptions - <_WasmDefaultFlags Condition="'$(WasmEnableExceptionHandling)' == 'false'">-fexceptions - <_WasmDefaultFlags Condition="'$(WasmEnableSIMD)' == 'true'">$(_WasmDefaultFlags) -msimd128 + <_WasmDefaultFlags>-fwasm-exceptions -msimd128 Build Publish @@ -256,9 +255,8 @@ <_EmccCommonFlags Include="$(EmccFlags)" /> <_EmccCommonFlags Include="-v" Condition="'$(EmccVerbose)' == 'true'" /> <_EmccCommonFlags Include="-g" Condition="'$(WasmNativeDebugSymbols)' == 'true'" /> - <_EmccCommonFlags Include="-fwasm-exceptions" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> - <_EmccCommonFlags Include="-s DISABLE_EXCEPTION_CATCHING=0" Condition="'$(WasmEnableExceptionHandling)' == 'false'" /> - <_EmccCommonFlags Include="-msimd128" Condition="'$(WasmEnableSIMD)' == 'true'" /> + <_EmccCommonFlags Include="-fwasm-exceptions" /> + <_EmccCommonFlags Include="-msimd128" /> From bea4bb1ab9436c56461b0dbaef11c2fd6f7a4dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Sat, 28 Mar 2026 08:52:33 +0000 Subject: [PATCH 21/38] Error if user sets WasmEnableExceptionHandling or WasmEnableSIMD to non-true for CoreCLR Capture user-set values before overwriting them with true, then emit a build error in _CoreCLRWasmInitialize if either was explicitly set to a non-true value. This gives a clear message instead of a silent override or a cryptic link failure. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index 6c6999e00bc052..f2e1a1f6e1b92d 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -20,7 +20,9 @@ true - + + <_CoreCLRInvalidEH Condition="'$(WasmEnableExceptionHandling)' != '' and '$(WasmEnableExceptionHandling)' != 'true'">true + <_CoreCLRInvalidSIMD Condition="'$(WasmEnableSIMD)' != '' and '$(WasmEnableSIMD)' != 'true'">true true true emcc @@ -133,6 +135,10 @@ + + From 86257213c7ed7a205586b55dce8c6d0f8f635985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Sat, 28 Mar 2026 09:49:46 +0000 Subject: [PATCH 22/38] Add native category test results for CoreCLR WASM relink Run all Wasm.Build.Tests with TestCategory 'native' using RuntimeFlavor=CoreCLR and dotnet-none (no workload). Results: 16 passed, 295 failed (311 total) - 89 xharness tool missing (built OK, can't run) - 59 NETSDK1147 (workload not propagated to referenced projects) - 38 template missing (needs wasm-tools workload) - 89 assertion failures (Mono-specific expectations) - 20 other (build/publish/misc failures) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .research/native-coreclr-test-report.md | 593 ++++ .research/native-coreclr-test-results.json | 3124 ++++++++++++++++++++ 2 files changed, 3717 insertions(+) create mode 100644 .research/native-coreclr-test-report.md create mode 100644 .research/native-coreclr-test-results.json diff --git a/.research/native-coreclr-test-report.md b/.research/native-coreclr-test-report.md new file mode 100644 index 00000000000000..296ffbecf4621b --- /dev/null +++ b/.research/native-coreclr-test-report.md @@ -0,0 +1,593 @@ +# Wasm.Build.Tests `native` Category — CoreCLR Test Run Report + +- **Date**: 2026-03-28 +- **Branch**: `maraf/WasmCoreCLRNativeBuild` +- **Runtime flavor**: CoreCLR +- **SDK**: `dotnet-none` (11.0.100-preview.2.26116.109, no workload) +- **Trait filter**: `-trait category=native -notrait category=workload` +- **Note**: `global.json` was temporarily patched from preview.3 → preview.2 to match the provisioned SDK. +- **Env var fix**: `RUNTIME_FLAVOR_FOR_TESTS=CoreCLR` (not `RUNTIME_FLAVOR`) is required for `AddCoreClrProjectProperties` to inject `UsingBrowserRuntimeWorkload=false` into test project csprojs. + +## Summary + +| Metric | Count | +|--------|-------| +| Total test cases | 311 | +| Passed | 16 | +| Failed | 295 | + +## Failure Breakdown + +| Failure Category | Count | Fixable? | +|-----------------|-------|----------| +| PASS | 16 | ✅ | +| XHARNESS_TOOL_MISSING | 89 | Yes — install xharness tool | +| TEMPLATE_MISSING | 38 | Yes — install workload or convert to CopyTestAsset | +| NETSDK1147_WORKLOAD_REQUIRED | 59 | Yes — propagate UsingBrowserRuntimeWorkload to referenced projects | +| PUBLISH_FAILED | 1 | Investigate — may be AOT/tooling gaps | +| BUILD_FAILED | 3 | Investigate | +| ASSERTION_FAILURE | 89 | Adapt tests for CoreCLR behavior | +| OTHER_FAILURE | 16 | Investigate | + +## PASS (16 tests) + +Tests that passed successfully with CoreCLR native relink. + +| # | Test | Time | +|---|------|------| +| 1 | `Wasm.Build.Tests.Blazor.BuildPublishTests.DefaultTemplate_AOT_WithWorkload(config: Release, testUnicode: False)` | 13.2987496s | +| 2 | `Wasm.Build.Tests.Blazor.BuildPublishTests.DefaultTemplate_AOT_WithWorkload(config: Release, testUnicode: True)` | 13.3041154s | +| 3 | `Wasm.Build.Tests.Blazor.MiscTests.BugRegression_60479_WithRazorClassLib` | 13.4360998s | +| 4 | `Wasm.Build.Tests.DllImportTests.UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(config: Debug, aot: False)` | 9.4662701s | +| 5 | `Wasm.Build.Tests.DllImportTests.UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(config: Release, aot: False)` | 9.1669601s | +| 6 | `Wasm.Build.Tests.MemoryTests.AllocateLargeHeapThenRepeatedlyInterop` | 1.2761189s | +| 7 | `Wasm.Build.Tests.MemoryTests.AllocateLargeHeapThenRepeatedlyInterop_NoWorkload` | 1.1917093s | +| 8 | `Wasm.Build.Tests.NativeBuildTests.ZipArchiveInteropTest` | 6.8610029s | +| 9 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable(config: Debug, aot: False)` | 6.6588891s | +| 10 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable(config: Release, aot: False)` | 6.7334908s | +| 11 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable(config: Debug, aot: False)` | 4.1707258s | +| 12 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable(config: Release, aot: False)` | 4.3321497s | +| 13 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: False, appHasAttribute: True, expectSuccess: True)` | 6.8793959s | +| 14 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: True, appHasAttribute: True, expectSuccess: True)` | 6.938768s | +| 15 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: False, appHasAttribute: True, expectSuccess: True)` | 6.9308685s | +| 16 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: True, appHasAttribute: True, expectSuccess: True)` | 6.7890862s | + +## XHARNESS_TOOL_MISSING (89 tests) + +`dotnet xharness` tool is not installed in `dotnet-none`. These tests **built successfully** (native relink worked) but failed at the run step because the xharness webserver tool is missing. Installing xharness into the SDK should make most of these pass. + +| # | Test | Error (truncated) | +|---|------|--------------------| +| 1 | `Wasm.Build.Tests.Blazor.BuildPublishTests.Test_WasmStripILAfterAOT(stripILAfterAOT: \"\", expectILStripping: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 2 | `Wasm.Build.Tests.Blazor.BuildPublishTests.Test_WasmStripILAfterAOT(stripILAfterAOT: \"false\", expectILStripping: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 3 | `Wasm.Build.Tests.Blazor.SimpleRunTests.BlazorPublishRunTest(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 4 | `Wasm.Build.Tests.Blazor.SimpleRunTests.BlazorPublishRunTest(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 5 | `Wasm.Build.Tests.Blazor.SimpleRunTests.BlazorPublishRunTest(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 6 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointersCompilesWithoutWarning(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 7 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointersCompilesWithoutWarning(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 8 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 9 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 10 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_WarningsAsMessages(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 11 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_WarningsAsMessages(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 12 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 13 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 14 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 15 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 16 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 17 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 18 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 19 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 20 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 21 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 22 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 23 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 24 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: False, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 25 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: False, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 26 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: False, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 27 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: True, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 28 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: True, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 29 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: True, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 30 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: False, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 31 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: False, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 32 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: False, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 33 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: True, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 34 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: True, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 35 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: True, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 36 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 37 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 38 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 39 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Release, aot: False, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 40 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Release, aot: False, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 41 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Release, aot: False, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 42 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Debug, aot: False, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 43 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Debug, aot: False, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 44 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: False, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 45 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: False, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 46 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Debug, aot: False, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 47 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Debug, aot: False, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 48 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: False, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 49 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: False, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 50 | `Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 51 | `Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 52 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 53 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 54 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 55 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 56 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.BuildNativeInNonEnglishCulture(config: Debug, aot: False, culture: \"tr_TR.UTF-8\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 57 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.BuildNativeInNonEnglishCulture(config: Release, aot: False, culture: \"tr_TR.UTF-8\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 58 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UCOWithSpecialCharacters(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 59 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UCOWithSpecialCharacters(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 60 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallback_InFileType(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 61 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallback_InFileType(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 62 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallersOnly_Namespaced(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 63 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallersOnly_Namespaced(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 64 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 65 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 66 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 67 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 68 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 69 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 70 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 71 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 72 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 73 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 74 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 75 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | +| 76 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 77 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 78 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 79 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 80 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 81 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 82 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 83 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 84 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 85 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 86 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 87 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 88 | `Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Debug, aot: False, simd: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | +| 89 | `Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: False, simd: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | + +## TEMPLATE_MISSING (38 tests) + +`dotnet new wasmbrowser` template is not available without the `wasm-tools` workload. These tests use `CreateWasmTemplateProject` and cannot work with `dotnet-none`. They would need either workload installation or conversion to `CopyTestAsset`. + +| # | Test | Error (truncated) | +|---|------|--------------------| +| 1 | `Wasm.Build.Templates.Tests.NativeBuildTests.BuildWithUndefinedNativeSymbol(allowUndefined: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 2 | `Wasm.Build.Templates.Tests.NativeBuildTests.BuildWithUndefinedNativeSymbol(allowUndefined: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 3 | `Wasm.Build.Templates.Tests.NativeBuildTests.ProjectWithDllImportsRequiringMarshalIlGen_ArrayTypeParameter(config: Debug)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 4 | `Wasm.Build.Templates.Tests.NativeBuildTests.ProjectWithDllImportsRequiringMarshalIlGen_ArrayTypeParameter(config: Release)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 5 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: False, environmentLocale: \"fr-FR\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 6 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: False, environmentLocale: \"ja-JP\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 7 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: False, environmentLocale: \"sk-SK\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-AU\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 8 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: True, environmentLocale: \"fr-FR\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 9 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: True, environmentLocale: \"ja-JP\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 10 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: True, environmentLocale: \"sk-SK\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-AU\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 11 | `Wasm.Build.Tests.IcuShardingTests.CustomIcuShard(config: Release, aot: False, customIcuPath: \"/workspaces/runtime/artifacts/bin/Wasm.Build.Tests\"···, customLocales: \"new Locale[] {\\n new Locale(\\\"cy-GB\\\", \\\"D\"···, onlyPredefinedCultures: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 12 | `Wasm.Build.Tests.IcuShardingTests.CustomIcuShard(config: Release, aot: True, customIcuPath: \"/workspaces/runtime/artifacts/bin/Wasm.Build.Tests\"···, customLocales: \"new Locale[] {\\n new Locale(\\\"cy-GB\\\", \\\"D\"···, onlyPredefinedCultures: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 13 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \"icudt.dat\", testedLocales: \"new Locale[] {\\n \"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 14 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \"icudt_CJK.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 15 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \"icudt_EFIGS.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 16 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \"icudt_no_CJK.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-AU\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 17 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \"icudt.dat\", testedLocales: \"new Locale[] {\\n \"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 18 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \"icudt_CJK.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 19 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \"icudt_EFIGS.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 20 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \"icudt_no_CJK.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-AU\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 21 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: False, fullIcu: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 22 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: False, fullIcu: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 23 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: True, fullIcu: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 24 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: True, fullIcu: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 25 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: False, fullIcu: False, testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 26 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: False, fullIcu: True, testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 27 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: True, fullIcu: False, testedLocales: \"Array.Empty()\")` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 28 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: True, fullIcu: True, testedLocales: \"Array.Empty()\")` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 29 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: False, fullIcu: False, testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 30 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: False, fullIcu: True, testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 31 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: True, fullIcu: False, testedLocales: \"Array.Empty()\")` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 32 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: True, fullIcu: True, testedLocales: \"Array.Empty()\")` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 33 | `Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(config: Debug, aot: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 34 | `Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(config: Release, aot: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 35 | `Wasm.Build.Tests.NativeBuildTests.IntermediateBitcodeToObjectFilesAreNotLLVMIR(config: Release, aot: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 36 | `Wasm.Build.Tests.NativeBuildTests.NativeBuildIsRequired(config: Release, aot: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 37 | `Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(config: Debug, aot: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | +| 38 | `Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(config: Release, aot: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | + +## NETSDK1147_WORKLOAD_REQUIRED (59 tests) + +Build fails with NETSDK1147 "wasm-tools workload must be installed". This happens when referenced projects (e.g., LazyLibrary.csproj) use `Microsoft.NET.Sdk.WebAssembly` and the `UsingBrowserRuntimeWorkload=false` property is not propagated to them. + +| # | Test | Error (truncated) | +|---|------|--------------------| +| 1 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: False, extraCFlags: \"/p:EmccExtraCFlags=-g\", extraLDFlags: \"/p:EmccExtraLDFlags=-g\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 2 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: False, extraCFlags: \"/p:EmccExtraCFlags=-g\", extraLDFlags: \"\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 3 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: False, extraCFlags: \"\", extraLDFlags: \"/p:EmccExtraLDFlags=-g\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 4 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: True, extraCFlags: \"/p:EmccExtraCFlags=-g\", extraLDFlags: \"/p:EmccExtraLDFlags=-g\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 5 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: True, extraCFlags: \"/p:EmccExtraCFlags=-g\", extraLDFlags: \"\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 6 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: True, extraCFlags: \"\", extraLDFlags: \"/p:EmccExtraLDFlags=-g\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 7 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NativeRelinkFailsWithInvariant` | Assert.Contains() Failure: Sub-string not found\nString: \"\\n** -------- publish -------- **\\n\\nBinlog \"···\nNot found: \"WasmBuildNative is re | +| 8 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Debug, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 9 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Debug, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 10 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Release, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 11 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Release, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 12 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Release, aot: True, nativeRelink: False, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 13 | `Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: False, cflags: \"/p:EmccCompileOptimizationFlag=-O1\", ldflags: \"\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 14 | `Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: False, cflags: \"\", ldflags: \"/p:EmccLinkOptimizationFlag=-O1\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 15 | `Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: True, cflags: \"/p:EmccCompileOptimizationFlag=-O1\", ldflags: \"\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 16 | `Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: True, cflags: \"\", ldflags: \"/p:EmccLinkOptimizationFlag=-O1\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 17 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Debug, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 18 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Debug, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 19 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 20 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 21 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: True, nativeRelink: False, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 22 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Debug, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 23 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Debug, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 24 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 25 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 26 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: True, nativeRelink: False, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 27 | `Wasm.Build.Tests.BuildPublishTests.BuildThenPublishWithAOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Deb | +| 28 | `Wasm.Build.Tests.BuildPublishTests.Wasm_CannotAOT_InDebug(config: Debug, aot: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"AOT is not supported in deb | +| 29 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 30 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 31 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 32 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: True, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 33 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: True, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 34 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: True, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 35 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: True, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 36 | `Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 37 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 38 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 39 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureComInteropCompilesInAOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 40 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInAOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 41 | `Wasm.Build.Tests.SatelliteAssembliesTests.CheckThatSatelliteAssembliesAreNotAOTed(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 42 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: True, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 43 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: True, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 44 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: True, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 45 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: True, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 46 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: True, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 47 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: True, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 48 | `Wasm.Build.Tests.WasmBuildAppTest.AsyncMain_AOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 49 | `Wasm.Build.Tests.WasmBuildAppTest.Bug49588_RegressionTest_AOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 50 | `Wasm.Build.Tests.WasmBuildAppTest.Bug49588_RegressionTest_NativeRelinking(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 51 | `Wasm.Build.Tests.WasmBuildAppTest.Bug49588_RegressionTest_NativeRelinking(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 52 | `Wasm.Build.Tests.WasmBuildAppTest.NonAsyncMain_AOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 53 | `Wasm.Build.Tests.WasmBuildAppTest.TopLevelMain_AOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 54 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"false\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Assembly loaded during LoggerInitializati\"···\nNot found: \"Stopping the build\" | +| 55 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Assembly loaded during LoggerInitializati\"···\nNot found: \"Stopping the build\" | +| 56 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"false\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"Stopping the build\" | +| 57 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"Stopping the build\" | +| 58 | `Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: True, simd: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | +| 59 | `Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: True, simd: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | + +## PUBLISH_FAILED (1 tests) + +`dotnet publish` command failed. These may be AOT-related failures (AOT not yet supported on CoreCLR WASM), NETSDK1147 on transitive project references, or other publish-time issues. + +| # | Test | Error (truncated) | +|---|------|--------------------| +| 1 | `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: False, publish: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | + +## BUILD_FAILED (3 tests) + +`dotnet build` command failed during the build step. + +| # | Test | Error (truncated) | +|---|------|--------------------| +| 1 | `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Debug, build: True, publish: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Deb | +| 2 | `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: True, publish: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Deb | +| 3 | `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: True, publish: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Deb | + +## ASSERTION_FAILURE (89 tests) + +The test built and ran but the assertions did not match expected behavior. These indicate behavioral differences between CoreCLR and Mono WASM runtimes that may need test adaptation. + +| # | Test | Error (truncated) | +|---|------|--------------------| +| 1 | `Wasm.Build.Tests.Blazor.BuildPublishTests.BlazorWasm_CannotAOT_InDebug(config: Debug)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 2 | `Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(config: Release)` | Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"Microsoft.JSInterop.dll -> | +| 3 | `Wasm.Build.Tests.Blazor.NativeTests.BlazorWasm_CannotAOT_WithNoTrimming(config: Release)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 4 | `Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Debug, aot: False)` | Assert.Matches() Failure: Pattern not found in value\nRegex: \"warning.*native function.*sum.*varargs\"\nValue: \"Assembly loaded during LoggerInitial | +| 5 | `Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Release, aot: False)` | Assert.Matches() Failure: Pattern not found in value\nRegex: \"warning.*native function.*sum.*varargs\"\nValue: \"Property reassignment: $(MSBuildProj | +| 6 | `Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: False)` | Assert.Equal() Failure: Values differ\nExpected: True\nActual: False | +| 7 | `Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: True)` | Assert.Equal() Failure: Values differ\nExpected: True\nActual: False | +| 8 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(config: Debug, aot: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 9 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(config: Release, aot: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 10 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: False, appHasAttribute: False, expectSuccess: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 11 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: True, appHasAttribute: False, expectSuccess: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 12 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: False, appHasAttribute: False, expectSuccess: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 13 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: True, appHasAttribute: False, expectSuccess: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 14 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 17 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 18 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 21 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 22 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 23 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 24 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 25 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 26 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 27 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 30 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 31 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"false\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 32 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 35 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 36 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 37 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 38 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 39 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 40 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 41 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 44 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 45 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 48 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 49 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 50 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 51 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 52 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 53 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 54 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 57 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 58 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"false\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 59 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 62 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 63 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 64 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 65 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 66 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 67 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 68 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Debug, extraProperties: \"falsefalse\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 70 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Debug, extraProperties: \"truetrue\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 72 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Release, extraProperties: \"falsefalse\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 74 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Release, extraProperties: \"truetrue\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 76 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \"falsefalse\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 78 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \"truetrue\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 80 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Release, extraProperties: \"falsefalse\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 82 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Release, extraProperties: \"truetrue\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 84 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Debug, extraProperties: \"\", publish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 85 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Debug, extraProperties: \"\", publish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 86 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Release, extraProperties: \"false\", publish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 87 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Release, extraProperties: \"\", publish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 88 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Release, extraProperties: \"\", publish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | +| 89 | `Wasm.Build.Tests.WorkloadTests.FilesInUnixFilesPermissionsXmlExist` | Assert.Contains() Failure: Filter not matched in collection\nCollection: [] | + +## OTHER_FAILURE (16 tests) + +Other failures not fitting the above categories. + +| # | Test | Error (truncated) | +|---|------|--------------------| +| 1 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNative_ThenBuildNonNative_ThenClean(config: Debug)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Debug_True_g | +| 2 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNative_ThenBuildNonNative_ThenClean(config: Release)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Release_True | +| 3 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNoNative_ThenBuildNative_ThenClean(config: Debug)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Debug_True_f | +| 4 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNoNative_ThenBuildNative_ThenClean(config: Release)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Release_True | +| 5 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildThenClean_NativeRelinking(config: Debug)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_Debug_True_2f5mjowm | +| 6 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildThenClean_NativeRelinking(config: Release)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_Release_True_a2z5vh | +| 7 | `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorNoopRebuild(config: Debug)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | +| 8 | `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorNoopRebuild(config: Release)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | +| 9 | `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorOnlyLinkRebuild(config: Debug)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | +| 10 | `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorOnlyLinkRebuild(config: Release)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | +| 11 | `Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Debug, aot: False, libraryNames: [\"with-hyphen\", \"with#hash-and-hyphen\", \"with.per.iod\", \"with🚀unicode#\"])` | System.Exception : Expected exit code 42 but got 1.\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'wi | +| 12 | `Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Release, aot: False, libraryNames: [\"with-hyphen\", \"with#hash-and-hyphen\", \"with.per.iod\", \"with🚀unicode#\"])` | System.Exception : Expected exit code 42 but got 1.\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'wi | +| 13 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(config: Debug, aot: False)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | +| 14 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(config: Release, aot: False)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | +| 15 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Debug, aot: False)` | System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.W | +| 16 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Release, aot: False)` | System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.W | + +## Appendix: Full Error Messages for Key Failures + +### `Wasm.Build.Tests.Blazor.BuildPublishTests.BlazorWasm_CannotAOT_InDebug(config: Debug)` + +**Category**: ASSERTION_FAILURE + +**Message**: +``` +Build should have failed, but it didn't. Process exited with exitCode : 0 +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178 + at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242 + at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests +``` + +### `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNative_ThenBuildNonNative_ThenClean(config: Debug)` + +**Category**: OTHER_FAILURE + +**Message**: +``` +Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Debug_True_gwykxyob_1vm/App/obj/Debug/net11.0/wasm/for-build +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNativeNonNative_ThenCleanTest(Configuration config, Boolean firstBuildNative) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs:line 71 + at Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNative_ThenBuildNonNative_ThenClean(Configuration config) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs:line 56 + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) + at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Me +``` + +### `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Debug, build: True, publish: False)` + +**Category**: BUILD_FAILED + +**Message**: +``` + Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/BlazorBasicTestApp-build.binlog -p:Configuration=Debug -nr:false -p:WasmEnableHotReload=false /warnaserror \nStandard Output:\n[] \n[] Determining projects to restore...\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/App/BlazorBasicTestApp.csproj (in 631 ms).\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/App/BlazorBasicTestApp.csproj]\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/App/bin/Debug/net11.0/BlazorBasicTestApp.dll\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/App/bin/Debug/net11.0/wwwroot\n[] /workspaces/runt +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51 + at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28 + at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176 + at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFinger +``` + +### `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: False, publish: True)` + +**Category**: PUBLISH_FAILED + +**Message**: +``` + Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_False_ra45311g_kr2/BlazorBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false /warnaserror \nStandard Output:\n[] \n[] Determining projects to restore...\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_False_ra45311g_kr2/App/BlazorBasicTestApp.csproj (in 690 ms).\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_False_ra45311g_kr2/App/BlazorBasicTestApp.csproj]\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_False_ra45311g_kr2/App/bin/Release/net11.0/BlazorBasicTestApp.dll\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_Fa +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51 + at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28 + at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176 + at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFinger +``` + +### `Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(config: Release)` + +**Category**: ASSERTION_FAILURE + +**Message**: +``` +Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"Microsoft.JSInterop.dll -> Microsoft.JSIn\"··· +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.BlazorWasmTestBase.AssertBundle(Configuration config, String buildOutput, MSBuildOptions buildOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/BlazorWasmTestBase.cs:line 171 + at Wasm.Build.Tests.BlazorWasmTestBase.BlazorPublish(ProjectInfo info, Configuration config, PublishOptions publishOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/BlazorWasmTestBase.cs:line 148 + at Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(Configuration config) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs:line 75 + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstruct +``` + +### `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorNoopRebuild(config: Debug)` + +**Category**: OTHER_FAILURE + +**Message**: +``` +System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_rebuild_Debug_False_egtjyytj_qg4/App/obj/Debug/net11.0/wasm'. +``` + +**Stack trace** (truncated): +``` + at System.IO.Enumeration.FileSystemEnumerator`1.Init() + at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions enumerationOptions) + at Wasm.Build.Tests.ProjectProviderBase.GetFilesTable(Boolean unchanged, String[] baseDirs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ProjectProviderBase.cs:line 334 + at Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorNoopRebuild(Configuration config) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs:line 35 + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOn +``` + +### `Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Debug, aot: False, libraryNames: [\"with-hyphen\", \"with#hash-and-hyphen\", \"with.per.iod\", \"with🚀unicode#\"])` + +**Category**: OTHER_FAILURE + +**Message**: +``` +System.Exception : Expected exit code 42 but got 1.\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'with-hyphen' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: \ndynamic linking not enabled\n\n at Program.
$(String[] args) in /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Debug_False_xg1yxqb3_zeu/App/Common/Program.cs:line 4 +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 454 +--- End of stack trace from previous location --- + at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 456 + at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRunTest(String runArgs, String workingDirectory, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 397 + at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(RunOptions runOptions) in /workspaces/runtime/src/mo +``` + +### `Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Debug, aot: False)` + +**Category**: ASSERTION_FAILURE + +**Message**: +``` +Assert.Matches() Failure: Pattern not found in value\nRegex: \"warning.*native function.*sum.*varargs\"\nValue: \"Assembly loaded during LoggerInitialization (Micro\"··· +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs:line 32 +--- End of stack trace from previous location --- +--- End of stack trace from previous location --- +``` + +### `Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: False)` + +**Category**: ASSERTION_FAILURE + +**Message**: +``` +Assert.Equal() Failure: Values differ\nExpected: True\nActual: False +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmittedCore(Boolean emitSymbolMap, Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 156 + at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 131 + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) + at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) + at System.Reflect +``` + +### `Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Debug, aot: False)` + +**Category**: OTHER_FAILURE + +**Message**: +``` +System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.WebAssembly.Sdk/11.0.0-dev/tasks +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 240 + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) + at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) + at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr) +``` + +### `Wasm.Build.Tests.WorkloadTests.FilesInUnixFilesPermissionsXmlExist` + +**Category**: ASSERTION_FAILURE + +**Message**: +``` +Assert.Contains() Failure: Filter not matched in collection\nCollection: [] +``` + +**Stack trace** (truncated): +``` + at Wasm.Build.Tests.WorkloadTests.FilesInUnixFilesPermissionsXmlExist() in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs:line 68 + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) + at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) + at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) + at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) +``` + diff --git a/.research/native-coreclr-test-results.json b/.research/native-coreclr-test-results.json new file mode 100644 index 00000000000000..a6b16bc7b4524a --- /dev/null +++ b/.research/native-coreclr-test-results.json @@ -0,0 +1,3124 @@ +{ + "run_date": "2026-03-28", + "branch": "maraf/WasmCoreCLRNativeBuild", + "runtime_flavor": "CoreCLR", + "sdk": "dotnet-none (11.0.100-preview.2.26116.109)", + "workload_installed": false, + "global_json_patched": true, + "trait_filter": "-trait category=native -notrait category=workload", + "total": 311, + "passed": 16, + "failed": 295, + "tests": [ + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: True, fullIcu: True, testedLocales: \\\"Array.Empty()\\\")", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithInvariant", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2840919", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: True, fullIcu: False, testedLocales: \\\"Array.Empty()\\\")", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithInvariant", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2532428", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: False, fullIcu: False, testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-US\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithInvariant", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2548622", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: False, fullIcu: True, testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-GB\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithInvariant", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2523275", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: True, fullIcu: True, testedLocales: \\\"Array.Empty()\\\")", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithInvariant", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2546896", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: True, fullIcu: False, testedLocales: \\\"Array.Empty()\\\")", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithInvariant", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2584657", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: False, fullIcu: False, testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-US\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithInvariant", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2535997", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: False, fullIcu: True, testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-GB\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithInvariant", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2642583", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: False, fullIcu: False)", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithCustomIcu", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2702999", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: False, fullIcu: True)", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithCustomIcu", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2506878", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: True, fullIcu: False)", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithCustomIcu", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2542129", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: True, fullIcu: True)", + "type": "Wasm.Build.Tests.IcuTests", + "method": "FullIcuFromRuntimePackWithCustomIcu", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2729422", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.Blazor.NativeTests.BlazorWasm_CannotAOT_WithNoTrimming(config: Release)", + "type": "Wasm.Build.Tests.Blazor.NativeTests", + "method": "BlazorWasm_CannotAOT_WithNoTrimming", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "11.8964694", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.BlazorWasmTestBase.BlazorPublish(ProjectInfo info, Configuration config, PublishOptions publishOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mon" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Debug, aot: False, nativeRelink: True, invariant: False)", + "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", + "method": "ReferenceNewAssembly", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2101543", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Debug_False_u0esul4h_vqm/WasmBasicTestApp-publish.binlog -p:Configuration=Debug -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Debug_False_u0esul4h_vqm/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Debug_False_u0esul4h_vqm/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: False, nativeRelink: True, invariant: False)", + "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", + "method": "ReferenceNewAssembly", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2277056", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Release_False_d4pvahdu_bzk/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_False_d4pvahdu_bzk/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_False_d4pvahdu_bzk/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Debug, aot: False, nativeRelink: True, invariant: True)", + "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", + "method": "ReferenceNewAssembly", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.1874073", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Debug_False_zt12u13b_qru/WasmBasicTestApp-publish.binlog -p:Configuration=Debug -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True -p:InvariantGlobalization=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Debug_False_zt12u13b_qru/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Debug_False_zt12u13b_qru/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: False, nativeRelink: True, invariant: True)", + "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", + "method": "ReferenceNewAssembly", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2462833", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Release_False_e1gpbg2w_zgq/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True -p:InvariantGlobalization=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_False_e1gpbg2w_zgq/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_False_e1gpbg2w_zgq/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: True, nativeRelink: False, invariant: False)", + "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", + "method": "ReferenceNewAssembly", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2174932", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Release_True_df2jcv5c_jx0/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_True_df2jcv5c_jx0/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_True_df2jcv5c_jx0/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Debug, aot: False, args: [\\\"abc\\\", \\\"foobar\\\"])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "AsyncMainWithArgs", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "10.0921038", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Debug, aot: False, args: [])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "AsyncMainWithArgs", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "10.1251472", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: False, args: [\\\"abc\\\", \\\"foobar\\\"])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "AsyncMainWithArgs", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.3979533", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: False, args: [])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "AsyncMainWithArgs", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.4110387", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: True, args: [\\\"abc\\\", \\\"foobar\\\"])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "AsyncMainWithArgs", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.1926722", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/async_main_with_args_Release_True_vntngc13_dq2/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/async_main_with_args_Release_True_vntngc13_dq2/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/async_main_with_args_Release_True_vntngc13_dq2/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: True, args: [])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "AsyncMainWithArgs", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2345672", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/async_main_with_args_Release_True_1eglbvna_ah3/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/async_main_with_args_Release_True_1eglbvna_ah3/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/async_main_with_args_Release_True_1eglbvna_ah3/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Debug, aot: False, args: [\\\"abc\\\", \\\"foobar\\\"])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "NonAsyncMainWithArgs", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.6686514", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Debug, aot: False, args: [])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "NonAsyncMainWithArgs", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.8081485", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: False, args: [\\\"abc\\\", \\\"foobar\\\"])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "NonAsyncMainWithArgs", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.1869971", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: False, args: [])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "NonAsyncMainWithArgs", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.7421142", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: True, args: [\\\"abc\\\", \\\"foobar\\\"])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "NonAsyncMainWithArgs", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.1992402", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/non_async_main_args_Release_True_whvhgabv_ipd/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/non_async_main_args_Release_True_whvhgabv_ipd/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/non_async_main_args_Release_True_whvhgabv_ipd/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: True, args: [])", + "type": "Wasm.Build.Tests.MainWithArgsTests", + "method": "NonAsyncMainWithArgs", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2574845", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/non_async_main_args_Release_True_1dokkkg5_cyo/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/non_async_main_args_Release_True_1dokkkg5_cyo/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/non_async_main_args_Release_True_1dokkkg5_cyo/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.BuildPublishTests.Wasm_CannotAOT_InDebug(config: Debug, aot: True)", + "type": "Wasm.Build.Tests.BuildPublishTests", + "method": "Wasm_CannotAOT_InDebug", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2210374", + "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Property reassignment: $(MSBuildProjectEx\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"AOT is not supported in debug configurati\\\"\u00b7\u00b7\u00b7", + "stack_trace": " at Wasm.Build.Tests.BuildPublishTests.Wasm_CannotAOT_InDebug(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs:line 31\n at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)\n at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)" + }, + { + "name": "Wasm.Build.Tests.BuildPublishTests.BuildThenPublishWithAOT(config: Release, aot: True)", + "type": "Wasm.Build.Tests.BuildPublishTests", + "method": "BuildThenPublishWithAOT", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2025258", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/build_publish_Release_True_4qsvhmbn_mfi/WasmBasicTestApp-first_build-build.binlog -p:Configuration=Release -nr:false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/build_publish_Release_True_4qsvhmbn_mfi/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/build_publish_Release_True_4qsvhmbn_mfi/LazyLibrary/LazyLibrary.csproj]\\n[] \\n[] Build FAILED.\\n[] \\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/build_publish_Release_True_4qsvhmbn_mfi/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configurati" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: False, cflags: \\\"/p:EmccCompileOptimizationFlag=-O1\\\", ldflags: \\\"\\\")", + "type": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests", + "method": "OptimizationFlagChange", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2045087", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_flags_Release_False_1t2hzm4d_se2/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true /p:_WasmDevel=false -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_False_1t2hzm4d_se2/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_False_1t2hzm4d_se2/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: False, cflags: \\\"\\\", ldflags: \\\"/p:EmccLinkOptimizationFlag=-O1\\\")", + "type": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests", + "method": "OptimizationFlagChange", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2225773", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_flags_Release_False_xfy3noif_tzu/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true /p:_WasmDevel=false -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_False_xfy3noif_tzu/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_False_xfy3noif_tzu/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: True, cflags: \\\"/p:EmccCompileOptimizationFlag=-O1\\\", ldflags: \\\"\\\")", + "type": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests", + "method": "OptimizationFlagChange", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2092079", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_flags_Release_True_4pl4cpsu_qi2/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true /p:_WasmDevel=false -p:WasmBuildNative=True -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_True_4pl4cpsu_qi2/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_True_4pl4cpsu_qi2/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: True, cflags: \\\"\\\", ldflags: \\\"/p:EmccLinkOptimizationFlag=-O1\\\")", + "type": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests", + "method": "OptimizationFlagChange", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2090231", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_flags_Release_True_hvnl5qh1_sj1/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true /p:_WasmDevel=false -p:WasmBuildNative=True -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_True_hvnl5qh1_sj1/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_True_hvnl5qh1_sj1/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.MemoryTests.AllocateLargeHeapThenRepeatedlyInterop", + "type": "Wasm.Build.Tests.MemoryTests", + "method": "AllocateLargeHeapThenRepeatedlyInterop", + "result": "Pass", + "category": "PASS", + "time": "1.2761189", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.MemoryTests.AllocateLargeHeapThenRepeatedlyInterop_NoWorkload", + "type": "Wasm.Build.Tests.MemoryTests", + "method": "AllocateLargeHeapThenRepeatedlyInterop_NoWorkload", + "result": "Pass", + "category": "PASS", + "time": "1.1917093", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Debug, aot: False, nativeRelink: True, invariant: False)", + "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", + "method": "SimpleStringChangeInSource", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2289325", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Debug_False_uxkmizmy_1ru/WasmBasicTestApp-publish.binlog -p:Configuration=Debug -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Debug_False_uxkmizmy_1ru/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Debug_False_uxkmizmy_1ru/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: False, nativeRelink: True, invariant: False)", + "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", + "method": "SimpleStringChangeInSource", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2006862", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Release_False_t5rt3v5n_iql/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_False_t5rt3v5n_iql/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_False_t5rt3v5n_iql/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Debug, aot: False, nativeRelink: True, invariant: True)", + "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", + "method": "SimpleStringChangeInSource", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2149323", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Debug_False_mijjx4ia_mzq/WasmBasicTestApp-publish.binlog -p:Configuration=Debug -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True -p:InvariantGlobalization=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Debug_False_mijjx4ia_mzq/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Debug_False_mijjx4ia_mzq/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: False, nativeRelink: True, invariant: True)", + "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", + "method": "SimpleStringChangeInSource", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2220698", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Release_False_eyvtzdix_4us/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True -p:InvariantGlobalization=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_False_eyvtzdix_4us/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_False_eyvtzdix_4us/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: True, nativeRelink: False, invariant: False)", + "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", + "method": "SimpleStringChangeInSource", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2252032", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Release_True_gucw3jrm_4fu/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_True_gucw3jrm_4fu/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_True_gucw3jrm_4fu/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.7525782", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(config: Release, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.4087551", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings", + "result": "Pass", + "category": "PASS", + "time": "9.4662701", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(config: Release, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings", + "result": "Pass", + "category": "PASS", + "time": "9.1669601", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_WarningsAsMessages(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "DllImportWithFunctionPointers_WarningsAsMessages", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.9120617", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_WarningsAsMessages(config: Release, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "DllImportWithFunctionPointers_WarningsAsMessages", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.7772266", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Debug, aot: False, libraryNames: [\\\"with-hyphen\\\", \\\"with#hash-and-hyphen\\\", \\\"with.per.iod\\\", \\\"with\ud83d\ude80unicode#\\\"])", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames", + "result": "Fail", + "category": "OTHER_FAILURE", + "time": "6.9184461", + "message": "System.Exception : Expected exit code 42 but got 1.\\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'with-hyphen' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: \\ndynamic linking not enabled\\n\\n at Program.
$(String[] args) in /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Debug_False_xg1yxqb3_zeu/App/Common/Program.cs:line 4", + "stack_trace": " at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 454\n--- End of stack trace from previous location ---\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 456\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRunTest(String runArgs, String workingDirectory, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 397\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 368\n at Wasm.Build.Tests.WasmTemplateTestsBase.RunForBuildWithDotnetRun(RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/W" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Release, aot: False, libraryNames: [\\\"with-hyphen\\\", \\\"with#hash-and-hyphen\\\", \\\"with.per.iod\\\", \\\"with\ud83d\ude80unicode#\\\"])", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames", + "result": "Fail", + "category": "OTHER_FAILURE", + "time": "10.0352903", + "message": "System.Exception : Expected exit code 42 but got 1.\\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'with-hyphen' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: \\ndynamic linking not enabled\\n\\n at Program.
$(String[] args)", + "stack_trace": " at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 454\n--- End of stack trace from previous location ---\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 456\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRunTest(String runArgs, String workingDirectory, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 397\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 368\n at Wasm.Build.Tests.WasmTemplateTestsBase.RunForBuildWithDotnetRun(RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/W" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointersCompilesWithoutWarning(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "DllImportWithFunctionPointersCompilesWithoutWarning", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.4707789", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointersCompilesWithoutWarning(config: Release, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "DllImportWithFunctionPointersCompilesWithoutWarning", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.3625583", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "NativeLibraryWithVariadicFunctions", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.654993", + "message": "Assert.Matches() Failure: Pattern not found in value\\nRegex: \\\"warning.*native function.*sum.*varargs\\\"\\nValue: \\\"Assembly loaded during LoggerInitialization (Micro\\\"\u00b7\u00b7\u00b7", + "stack_trace": " at Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs:line 32\n--- End of stack trace from previous location ---\n--- End of stack trace from previous location ---" + }, + { + "name": "Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Release, aot: False)", + "type": "Wasm.Build.Tests.DllImportTests", + "method": "NativeLibraryWithVariadicFunctions", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.1467761", + "message": "Assert.Matches() Failure: Pattern not found in value\\nRegex: \\\"warning.*native function.*sum.*varargs\\\"\\nValue: \\\"Property reassignment: $(MSBuildProjectExtensionsP\\\"\u00b7\u00b7\u00b7", + "stack_trace": " at Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs:line 32\n--- End of stack trace from previous location ---\n--- End of stack trace from previous location ---" + }, + { + "name": "Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: True, simd: True)", + "type": "Wasm.Build.Tests.WasmSIMDTests", + "method": "PublishSIMD_AOT", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2255251", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/simd_publish_Release_True_nxhgnpep_4wd/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:WasmEnableSIMD=True -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/simd_publish_Release_True_nxhgnpep_4wd/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/simd_publish_Release_True_nxhgnpep_4wd/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Debug, aot: False, simd: True)", + "type": "Wasm.Build.Tests.WasmSIMDTests", + "method": "PublishSIMD_AOT", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.8151471", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: False, simd: True)", + "type": "Wasm.Build.Tests.WasmSIMDTests", + "method": "PublishSIMD_AOT", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.3619935", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: True, simd: False)", + "type": "Wasm.Build.Tests.WasmSIMDTests", + "method": "PublishSIMD_AOT", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2351547", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/simd_publish_Release_True_owk2c0of_nfo/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:WasmEnableSIMD=False -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/simd_publish_Release_True_owk2c0of_nfo/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/simd_publish_Release_True_owk2c0of_nfo/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: null)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "RelinkingWithoutAOT", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.7990675", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: False)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "RelinkingWithoutAOT", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.7553587", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: True)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "RelinkingWithoutAOT", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.9740533", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: null)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "RelinkingWithoutAOT", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.4767981", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: False)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "RelinkingWithoutAOT", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.3528349", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: True)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "RelinkingWithoutAOT", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.1936442", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: null)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "AOT_InvariantGlobalization", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.5050396", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: False)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "AOT_InvariantGlobalization", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.5416578", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: True)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "AOT_InvariantGlobalization", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.6622417", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: null)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "AOT_InvariantGlobalization", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.4035639", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: False)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "AOT_InvariantGlobalization", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.4341823", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: True)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "AOT_InvariantGlobalization", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.2336705", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: null)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "AOT_InvariantGlobalization", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.1980815", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/invariant_unset_Release_True_hphpdhfr_zec/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_unset_Release_True_hphpdhfr_zec/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_unset_Release_True_hphpdhfr_zec/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: False)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "AOT_InvariantGlobalization", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2074426", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/invariant_False_Release_True_zw5siyl4_dvf/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_False_Release_True_zw5siyl4_dvf/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_False_Release_True_zw5siyl4_dvf/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: True)", + "type": "Wasm.Build.Tests.InvariantGlobalizationTests", + "method": "AOT_InvariantGlobalization", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2073737", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/invariant_True_Release_True_x3lpyuwo_snp/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_True_Release_True_x3lpyuwo_snp/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_True_Release_True_x3lpyuwo_snp/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: False)", + "type": "Wasm.Build.Tests.ModuleConfigTests", + "method": "SymbolMapFileEmitted", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.1483926", + "message": "Assert.Equal() Failure: Values differ\\nExpected: True\\nActual: False", + "stack_trace": " at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmittedCore(Boolean emitSymbolMap, Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 156\n at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 131\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)\n at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)" + }, + { + "name": "Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: True)", + "type": "Wasm.Build.Tests.ModuleConfigTests", + "method": "SymbolMapFileEmitted", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.2537222", + "message": "Assert.Equal() Failure: Values differ\\nExpected: True\\nActual: False", + "stack_trace": " at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmittedCore(Boolean emitSymbolMap, Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 156\n at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 131\n at InvokeStub_ModuleConfigTests.SymbolMapFileEmitted(Object, Span`1)\n at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" + }, + { + "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \\\"icudt.dat\\\", testedLocales: \\\"new Locale[] {\\\\n \\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuShardingTests2", + "method": "DefaultAvailableIcuShardsFromRuntimePack", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2540746", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \\\"icudt_EFIGS.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-US\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuShardingTests2", + "method": "DefaultAvailableIcuShardsFromRuntimePack", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2519657", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \\\"icudt_CJK.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-GB\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuShardingTests2", + "method": "DefaultAvailableIcuShardsFromRuntimePack", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2520117", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \\\"icudt_no_CJK.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-AU\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuShardingTests2", + "method": "DefaultAvailableIcuShardsFromRuntimePack", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2506762", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \\\"icudt.dat\\\", testedLocales: \\\"new Locale[] {\\\\n \\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuShardingTests2", + "method": "DefaultAvailableIcuShardsFromRuntimePack", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2591768", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \\\"icudt_EFIGS.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-US\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuShardingTests2", + "method": "DefaultAvailableIcuShardsFromRuntimePack", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2638398", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \\\"icudt_CJK.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-GB\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuShardingTests2", + "method": "DefaultAvailableIcuShardsFromRuntimePack", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2643748", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \\\"icudt_no_CJK.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-AU\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", + "type": "Wasm.Build.Tests.IcuShardingTests2", + "method": "DefaultAvailableIcuShardsFromRuntimePack", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.252097", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" + }, + { + "name": "Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(config: Release)", + "type": "Wasm.Build.Tests.Blazor.MiscTests", + "method": "DefaultTemplate_AOT_InProjectFile", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "13.1696334", + "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Property reassignment: $(MSBuildProjectEx\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Microsoft.JSInterop.dll -> Microsoft.JSIn\\\"\u00b7\u00b7\u00b7", + "stack_trace": " at Wasm.Build.Tests.BlazorWasmTestBase.AssertBundle(Configuration config, String buildOutput, MSBuildOptions buildOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/BlazorWasmTestBase.cs:line 171\n at Wasm.Build.Tests.BlazorWasmTestBase.BlazorPublish(ProjectInfo info, Configuration config, PublishOptions publishOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/BlazorWasmTestBase.cs:line 148\n at Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(Configuration config) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs:line 75\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n " + }, + { + "name": "Wasm.Build.Tests.Blazor.MiscTests.BugRegression_60479_WithRazorClassLib", + "type": "Wasm.Build.Tests.Blazor.MiscTests", + "method": "BugRegression_60479_WithRazorClassLib", + "result": "Pass", + "category": "PASS", + "time": "13.4360998", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Debug, build: True, publish: False)", + "type": "Wasm.Build.Tests.Blazor.DllImportTests", + "method": "WithDllImportInMainAssembly", + "result": "Fail", + "category": "BUILD_FAILED", + "time": "3.3108952", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/BlazorBasicTestApp-build.binlog -p:Configuration=Debug -nr:false -p:WasmEnableHotReload=false /warnaserror \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/App/BlazorBasicTestApp.csproj (in 631 ms).\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/App/BlazorBasicTestApp.csproj]\\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/App/bin/Debug/net11.0/BlazorBasicTestApp.dll\\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/App/bin/Debug/net11.0/wwwroot\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk-manifests/11.0.100/microsoft.net.workload.mono.toolchain.current/11.0.100-preview.2.26116.109/WorkloadManifest.targets(125,5): error : @(NativeFileReference) is not empty, but the native references won't be linked in, because neither $(WasmBuildNative), nor $(RunAOTCompilation) are 'true'. NativeFileReference=mylib.cpp [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/A", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configurati" + }, + { + "name": "Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: True, publish: False)", + "type": "Wasm.Build.Tests.Blazor.DllImportTests", + "method": "WithDllImportInMainAssembly", + "result": "Fail", + "category": "BUILD_FAILED", + "time": "3.3292453", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/BlazorBasicTestApp-build.binlog -p:Configuration=Release -nr:false -p:WasmEnableHotReload=false /warnaserror \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/App/BlazorBasicTestApp.csproj (in 662 ms).\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/App/BlazorBasicTestApp.csproj]\\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/App/bin/Release/net11.0/BlazorBasicTestApp.dll\\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/App/bin/Release/net11.0/wwwroot\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk-manifests/11.0.100/microsoft.net.workload.mono.toolchain.current/11.0.100-preview.2.26116.109/WorkloadManifest.targets(125,5): error : @(NativeFileReference) is not empty, but the native references won't be linked in, because neither $(WasmBuildNative), nor $(RunAOTCompilation) are 'true'. NativeFileReference=mylib.cpp [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149buil", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configurati" + }, + { + "name": "Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: False, publish: True)", + "type": "Wasm.Build.Tests.Blazor.DllImportTests", + "method": "WithDllImportInMainAssembly", + "result": "Fail", + "category": "PUBLISH_FAILED", + "time": "10.4809131", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/BlazorBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false /warnaserror \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/App/BlazorBasicTestApp.csproj (in 690 ms).\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/App/BlazorBasicTestApp.csproj]\\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/App/bin/Release/net11.0/BlazorBasicTestApp.dll\\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/App/bin/Release/net11.0/wwwroot\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk-manifests/11.0.100/microsoft.net.workload.mono.toolchain.current/11.0.100-preview.2.26116.109/WorkloadManifest.targets(125,5): error : @(NativeFileReference) is not empty, but the native references won't be linked in, because neither $(WasmBuildNative), nor $(RunAOTCompilation) are 'true'. NativeFileReference=mylib.cpp [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: True, publish: True)", + "type": "Wasm.Build.Tests.Blazor.DllImportTests", + "method": "WithDllImportInMainAssembly", + "result": "Fail", + "category": "BUILD_FAILED", + "time": "3.3523722", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/BlazorBasicTestApp-build.binlog -p:Configuration=Release -nr:false -p:WasmEnableHotReload=false /warnaserror \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/App/BlazorBasicTestApp.csproj (in 638 ms).\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/App/BlazorBasicTestApp.csproj]\\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/App/bin/Release/net11.0/BlazorBasicTestApp.dll\\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/App/bin/Release/net11.0/wwwroot\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk-manifests/11.0.100/microsoft.net.workload.mono.toolchain.current/11.0.100-preview.2.26116.109/WorkloadManifest.targets(125,5): error : @(NativeFileReference) is not empty, but the native references won't be linked in, because neither $(WasmBuildNative), nor $(RunAOTCompilation) are 'true'. NativeFileReference=mylib.cpp [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/De", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configurati" + }, + { + "name": "Wasm.Build.Tests.NativeBuildTests.IntermediateBitcodeToObjectFilesAreNotLLVMIR(config: Release, aot: True)", + "type": "Wasm.Build.Tests.NativeBuildTests", + "method": "IntermediateBitcodeToObjectFilesAreNotLLVMIR", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2513044", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 79\n at" + }, + { + "name": "Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(config: Debug, aot: True)", + "type": "Wasm.Build.Tests.NativeBuildTests", + "method": "AOTNotSupportedWithNoTrimming", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2527099", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 46\n at System.Runtime" + }, + { + "name": "Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(config: Release, aot: True)", + "type": "Wasm.Build.Tests.NativeBuildTests", + "method": "AOTNotSupportedWithNoTrimming", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2606075", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 46\n at InvokeStub_Nat" + }, + { + "name": "Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.NativeBuildTests", + "method": "SimpleNativeBuild", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2554106", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 28\n--- End of stack trace from prev" + }, + { + "name": "Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(config: Release, aot: False)", + "type": "Wasm.Build.Tests.NativeBuildTests", + "method": "SimpleNativeBuild", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2555833", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 28\n--- End of stack trace from prev" + }, + { + "name": "Wasm.Build.Tests.NativeBuildTests.ZipArchiveInteropTest", + "type": "Wasm.Build.Tests.NativeBuildTests", + "method": "ZipArchiveInteropTest", + "result": "Pass", + "category": "PASS", + "time": "6.8610029", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.NativeBuildTests.NativeBuildIsRequired(config: Release, aot: True)", + "type": "Wasm.Build.Tests.NativeBuildTests", + "method": "NativeBuildIsRequired", + "result": "Fail", + "category": "TEMPLATE_MISSING", + "time": "0.2600706", + "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.NativeBuildIsRequired(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 96\n at System.RuntimeMethodHa" + }, + { + "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.NativeLibraryTests", + "method": "ProjectWithNativeReference", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.462644", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Release, aot: False)", + "type": "Wasm.Build.Tests.NativeLibraryTests", + "method": "ProjectWithNativeReference", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.5184161", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Release, aot: True)", + "type": "Wasm.Build.Tests.NativeLibraryTests", + "method": "ProjectWithNativeReference", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2120446", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/AppUsingNativeLib-a_Release_True_d5jvksf2_s1x/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingNativeLib-a_Release_True_d5jvksf2_s1x/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingNativeLib-a_Release_True_d5jvksf2_s1x/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.NativeLibraryTests", + "method": "ProjectUsingBrowserNativeCrypto", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.7309889", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Release, aot: False)", + "type": "Wasm.Build.Tests.NativeLibraryTests", + "method": "ProjectUsingBrowserNativeCrypto", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.6163825", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Release, aot: True)", + "type": "Wasm.Build.Tests.NativeLibraryTests", + "method": "ProjectUsingBrowserNativeCrypto", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.229074", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/AppUsingBrowserNativeCrypto_Release_True_0ygz4chc_obu/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingBrowserNativeCrypto_Release_True_0ygz4chc_obu/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingBrowserNativeCrypto_Release_True_0ygz4chc_obu/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.NativeLibraryTests", + "method": "ProjectWithNativeLibrary", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.7707865", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Release, aot: False)", + "type": "Wasm.Build.Tests.NativeLibraryTests", + "method": "ProjectWithNativeLibrary", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.397304", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Release, aot: True)", + "type": "Wasm.Build.Tests.NativeLibraryTests", + "method": "ProjectWithNativeLibrary", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2108841", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/AppUsingNativeLib-a_Release_True_fhesg33n_yom/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingNativeLib-a_Release_True_fhesg33n_yom/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingNativeLib-a_Release_True_fhesg33n_yom/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureComInteropCompilesInAOT(config: Release, aot: True)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "EnsureComInteropCompilesInAOT", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.214315", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/com_Release_True_bkp104nz_4kb/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/com_Release_True_bkp104nz_4kb/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/com_Release_True_bkp104nz_4kb/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInAOT(config: Release, aot: True)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "EnsureWasmAbiRulesAreFollowedInAOT", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.1939106", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/abi_Release_True_oibnx2o5_4vf/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Release_True_oibnx2o5_4vf/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Release_True_oibnx2o5_4vf/LazyLibrary/LazyLibrary.csproj]\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallersOnly_Namespaced(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedCallersOnly_Namespaced", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.8912309", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallersOnly_Namespaced(config: Release, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedCallersOnly_Namespaced", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.5524523", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UCOWithSpecialCharacters(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UCOWithSpecialCharacters", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.7210641", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UCOWithSpecialCharacters(config: Release, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UCOWithSpecialCharacters", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.3832676", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable", + "result": "Pass", + "category": "PASS", + "time": "6.6588891", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable(config: Release, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable", + "result": "Pass", + "category": "PASS", + "time": "6.7334908", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "IcallWithOverloadedParametersAndEnum", + "result": "Fail", + "category": "OTHER_FAILURE", + "time": "1.4135465", + "message": "System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.WebAssembly.Sdk/11.0.0-dev/tasks", + "stack_trace": " at Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 240\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)\n at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Release, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "IcallWithOverloadedParametersAndEnum", + "result": "Fail", + "category": "OTHER_FAILURE", + "time": "1.4093286", + "message": "System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.WebAssembly.Sdk/11.0.0-dev/tasks", + "stack_trace": " at Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 240\n at InvokeStub_PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: False, appHasAttribute: False, expectSuccess: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.4223642", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(Configuration config, Boolean aot, Boolean libraryHasAttribute, Boolean appHasA" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: True, appHasAttribute: False, expectSuccess: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.3993714", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(Configuration config, Boolean aot, Boolean libraryHasAttribute, Boolean appHasA" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: False, appHasAttribute: True, expectSuccess: True)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", + "result": "Pass", + "category": "PASS", + "time": "6.8793959", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: True, appHasAttribute: True, expectSuccess: True)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", + "result": "Pass", + "category": "PASS", + "time": "6.938768", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: False, appHasAttribute: False, expectSuccess: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.3243187", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(Configuration config, Boolean aot, Boolean libraryHasAttribute, Boolean appHasA" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: True, appHasAttribute: False, expectSuccess: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.3842164", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(Configuration config, Boolean aot, Boolean libraryHasAttribute, Boolean appHasA" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: False, appHasAttribute: True, expectSuccess: True)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", + "result": "Pass", + "category": "PASS", + "time": "6.9308685", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: True, appHasAttribute: True, expectSuccess: True)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", + "result": "Pass", + "category": "PASS", + "time": "6.7890862", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.347654", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(Configuration config, Boolean aot)" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(config: Release, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.5915509", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(Configuration config, Boolean aot)" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "EnsureWasmAbiRulesAreFollowedInInterpreter", + "result": "Fail", + "category": "OTHER_FAILURE", + "time": "4.219954", + "message": "System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Debug_False_qdlnia5l_ngt/App/obj/Debug/net11.0/wasm/for-build/pinvoke-table.h'.", + "stack_trace": " at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)\n at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)\n at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)\n at System.IO.File.ReadAllText(String path)\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowed(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 331\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(Configuration config, Boolean aot) in /workspace" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(config: Release, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "EnsureWasmAbiRulesAreFollowedInInterpreter", + "result": "Fail", + "category": "OTHER_FAILURE", + "time": "4.3351712", + "message": "System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Release_False_dlf3q3zj_zb3/App/obj/Release/net11.0/wasm/for-build/pinvoke-table.h'.", + "stack_trace": " at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)\n at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)\n at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)\n at System.IO.File.ReadAllText(String path)\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowed(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 331\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(Configuration config, Boolean aot) in /workspace" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable", + "result": "Pass", + "category": "PASS", + "time": "4.1707258", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable(config: Release, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable", + "result": "Pass", + "category": "PASS", + "time": "4.3321497", + "message": "", + "stack_trace": "" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.BuildNativeInNonEnglishCulture(config: Debug, aot: False, culture: \\\"tr_TR.UTF-8\\\")", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "BuildNativeInNonEnglishCulture", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "11.8788218", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.BuildNativeInNonEnglishCulture(config: Release, aot: False, culture: \\\"tr_TR.UTF-8\\\")", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "BuildNativeInNonEnglishCulture", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.4972945", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallback_InFileType(config: Debug, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedCallback_InFileType", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.7118099", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallback_InFileType(config: Release, aot: False)", + "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", + "method": "UnmanagedCallback_InFileType", + "result": "Fail", + "category": "XHARNESS_TOOL_MISSING", + "time": "9.4640536", + "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", + "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.0893291", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "3.9028773", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.5693451", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"\\\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2926955", + "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Property reassignment: $(MSBuildProjectEx\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Stopping the build\\\"", + "stack_trace": " at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPublish, String extraItems) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 219\n at Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(Configuration config, String extraProperties, Boolean aot, Boolean expectWasmBuildNativeForBuild, Boolean expectWasmBuildNativeForPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 116\n at InvokeStub_WasmNativeDefaultsTests.DefaultsWithPublish(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"\\\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.2043478", + "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Assembly loaded during LoggerInitializati\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Stopping the build\\\"", + "stack_trace": " at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPublish, String extraItems) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 219\n at Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(Configuration config, String extraProperties, Boolean aot, Boolean expectWasmBuildNativeForBuild, Boolean expectWasmBuildNativeForPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 116\n at InvokeStub_WasmNativeDefaultsTests.DefaultsWithPublish(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"false\\\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.227405", + "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Property reassignment: $(MSBuildProjectEx\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Stopping the build\\\"", + "stack_trace": " at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPublish, String extraItems) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 219\n at Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(Configuration config, String extraProperties, Boolean aot, Boolean expectWasmBuildNativeForBuild, Boolean expectWasmBuildNativeForPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 116\n at InvokeStub_WasmNativeDefaultsTests.DefaultsWithPublish(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"false\\\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "NETSDK1147_WORKLOAD_REQUIRED", + "time": "1.1894143", + "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Assembly loaded during LoggerInitializati\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Stopping the build\\\"", + "stack_trace": " at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPublish, String extraItems) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 219\n at Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(Configuration config, String extraProperties, Boolean aot, Boolean expectWasmBuildNativeForBuild, Boolean expectWasmBuildNativeForPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 116\n at InvokeStub_WasmNativeDefaultsTests.DefaultsWithPublish(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.3895563", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.8069394", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.3441916", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "8.9892232", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.2470079", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.0661884", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"truefalsetruefalsefalse\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.8166709", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.8728536", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.6883726", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.2960484", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.0155715", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.1564846", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"falsetruefalsetruefalse\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.1392345", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.3043592", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.2890993", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.2993783", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.2764913", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.3688841", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.1793315", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.2842764", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"truefalsetruefalsefalse\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.4107284", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.4247119", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.306935", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.3592859", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.2249385", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "DefaultsWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.3548271", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"falsetruefalsetruetrue\\\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "WasmNativeStripDefaultWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.2377072", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Release, extraProperties: \\\"true\\\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "WasmNativeStripDefaultWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.1955873", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Debug, extraProperties: \\\"false\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "WasmNativeStripDefaultWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.2541553", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Release, extraProperties: \\\"false\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "WasmNativeStripDefaultWithBuild", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.1936918", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Debug, extraProperties: \\\"falsefalsetruetruefalse\\\", publish: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "WithNativeReference", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "4.0141638", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \\\"true\\\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "WasmNativeStripDefaultWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.59133", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Release, extraProperties: \\\"true\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: True)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "WasmNativeStripDefaultWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.016532", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \\\"false\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "WasmNativeStripDefaultWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.5795582", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Release, extraProperties: \\\"false\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)", + "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", + "method": "WasmNativeStripDefaultWithPublish", + "result": "Fail", + "category": "ASSERTION_FAILURE", + "time": "9.2153065", + "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", + "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" + }, + { + "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \\\"falsefalsetruetrue Date: Sat, 28 Mar 2026 10:06:59 +0000 Subject: [PATCH 23/38] Add coreclr-native test category for native tests passing on CoreCLR Introduce a new 'coreclr-native' test category for Wasm.Build.Tests that have been verified to pass with CoreCLR native relinking. The CoreCLR xunit filter excludes 'native' but not 'coreclr-native', so these 16 test cases (9 methods) will now run in CoreCLR CI. Tests tagged coreclr-native: - MemoryTests (all 2 methods - class level) - NativeBuildTests.ZipArchiveInteropTest - DllImportTests.UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings - PInvokeTableGeneratorTests (3 blittable struct methods) - Blazor.BuildPublishTests.DefaultTemplate_AOT_WithWorkload - Blazor.MiscTests.BugRegression_60479_WithRazorClassLib Non-passing methods that previously inherited the class-level 'native' category now have method-level [TestCategory("native")] to preserve the existing Mono-only behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Wasm.Build.Tests/Blazor/BuildPublishTests.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs | 7 ++++++- src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs | 6 +++++- .../Wasm.Build.Tests/PInvokeTableGeneratorTests.cs | 13 ++++++++++++- 6 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs index b1e19c334fc624..da3bbb8491e2bc 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs @@ -50,7 +50,7 @@ public void DefaultTemplate_NoAOT_WithWorkload(Configuration config, bool testUn [Theory] [MemberData(nameof(TestDataForDefaultTemplate_WithWorkload), parameters: new object[] { true })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public void DefaultTemplate_AOT_WithWorkload(Configuration config, bool testUnicode) { ProjectInfo info = CopyTestAsset(config, aot: false, TestAsset.BlazorBasicTestApp, "blz_aot", appendUnicodeToPath: testUnicode); diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs index 7119f0ab36625f..6b6955fd7bd476 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs @@ -79,7 +79,7 @@ public void DefaultTemplate_AOT_InProjectFile(Configuration config) } [Fact] - [TestCategory("native")] + [TestCategory("coreclr-native")] public void BugRegression_60479_WithRazorClassLib() { Configuration config = Configuration.Release; diff --git a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs index 4d84a6d567dc0e..eb80a8c9145992 100644 --- a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs @@ -14,7 +14,6 @@ namespace Wasm.Build.Tests { - [TestCategory("native")] public class DllImportTests : PInvokeTableGeneratorTestsBase { public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) @@ -24,6 +23,7 @@ public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture b [Theory] [BuildAndRun(aot: false)] + [TestCategory("native")] public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "variadic"); @@ -44,6 +44,7 @@ public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool [Theory] [BuildAndRun()] + [TestCategory("native")] public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr"); @@ -63,6 +64,7 @@ public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configurat [Theory] [BuildAndRun()] + [TestCategory("native")] public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr_variadic"); @@ -82,6 +84,7 @@ public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWith [Theory] [BuildAndRun()] + [TestCategory("native")] public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration config, bool aot) { string extraProperties = "$(MSBuildWarningsAsMessage);WASM0001"; @@ -101,6 +104,7 @@ public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public void UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_fnptr"); @@ -118,6 +122,7 @@ public void UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(Configur "with.per.iod", "with🚀unicode#" } })] + [TestCategory("native")] public async Task CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(Configuration config, bool aot, string[] libraryNames) { var extraItems = @""; diff --git a/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs b/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs index d4c4a32c3b6412..454890d6e8b57a 100644 --- a/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs @@ -13,7 +13,7 @@ namespace Wasm.Build.Tests; -[TestCategory("native")] +[TestCategory("coreclr-native")] public class MemoryTests : WasmTemplateTestsBase { public MemoryTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index ff33906df14d1a..dade09975dd0f8 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -13,7 +13,6 @@ namespace Wasm.Build.Tests { - [TestCategory("native")] public class NativeBuildTests : WasmTemplateTestsBase { public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) @@ -23,6 +22,7 @@ public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture [Theory] [BuildAndRun(aot: false)] + [TestCategory("native")] public async Task SimpleNativeBuild(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -41,6 +41,7 @@ public async Task SimpleNativeBuild(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true)] + [TestCategory("native")] public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -59,6 +60,7 @@ public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] + [TestCategory("native")] public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, bool aot) { string printFileTypeTarget = @" @@ -91,6 +93,7 @@ public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, b [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] + [TestCategory("native")] public void NativeBuildIsRequired(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -105,6 +108,7 @@ public void NativeBuildIsRequired(Configuration config, bool aot) } [Fact] + [TestCategory("coreclr-native")] public async Task ZipArchiveInteropTest() { Configuration config = Configuration.Debug; diff --git a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs index f88a5013b92f95..e0c141eb1b1d4a 100644 --- a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs @@ -14,7 +14,6 @@ namespace Wasm.Build.Tests { - [TestCategory("native")] public class PInvokeTableGeneratorTests : PInvokeTableGeneratorTestsBase { public PInvokeTableGeneratorTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) @@ -24,6 +23,7 @@ public PInvokeTableGeneratorTests(ITestOutputHelper output, SharedBuildPerTestCl [Theory] [BuildAndRun()] + [TestCategory("native")] public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable (Configuration config, bool aot) { @@ -35,6 +35,7 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable (Configuration config, bool aot) { @@ -46,6 +47,7 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public async Task UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable (Configuration config, bool aot) { @@ -94,6 +96,7 @@ private ProjectInfo PrepreProjectForBlittableTests(Configuration config, bool ao [Theory] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Debug)] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Release)] + [TestCategory("coreclr-native")] public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly (Configuration config, bool aot, bool libraryHasAttribute, bool appHasAttribute, bool expectSuccess) { @@ -133,6 +136,7 @@ public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly [Theory] [BuildAndRun()] + [TestCategory("native")] public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_filetype"); @@ -152,6 +156,7 @@ public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) [Theory] [BuildAndRun()] + [TestCategory("native")] public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_namespace"); @@ -180,6 +185,7 @@ public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot [Theory] [BuildAndRun()] + [TestCategory("native")] public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) { string appendToTheEnd = @@ -276,6 +282,7 @@ public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) [Theory] [BuildAndRun(parameters: new object[] { "tr_TR.UTF-8" })] + [TestCategory("native")] public async Task BuildNativeInNonEnglishCulture(Configuration config, bool aot, string culture) { // Check that we can generate interp tables in non-english cultures @@ -351,16 +358,19 @@ private async Task EnsureWasmAbiRulesAreFollowed(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] + [TestCategory("native")] public async Task EnsureWasmAbiRulesAreFollowedInAOT(Configuration config, bool aot) => await EnsureWasmAbiRulesAreFollowed(config, aot); [Theory] [BuildAndRun(aot: false)] + [TestCategory("native")] public async Task EnsureWasmAbiRulesAreFollowedInInterpreter(Configuration config, bool aot) => await EnsureWasmAbiRulesAreFollowed(config, aot); [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] + [TestCategory("native")] public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "com"); @@ -373,6 +383,7 @@ public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) [Theory] [BuildAndRun(aot: false)] + [TestCategory("native")] public async Task UCOWithSpecialCharacters(Configuration config, bool aot) { var extraProperties = "true"; From 48694e28b05ae4003a77e9dfbb47c2429ff665cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 30 Mar 2026 12:54:37 +0000 Subject: [PATCH 24/38] Auto-restore xharness tool before first webserver test run When XHARNESS_CLI_PATH is not set (local dev, non-CI), the xharness dotnet tool may not be restored in the SDK under test (e.g. dotnet-none). This adds EnsureXHarnessAvailable() which runs 'dotnet tool restore' once before the first xharness invocation, using the repo-root .config/dotnet-tools.json manifest. Thread-safe, no-op after first call, and skipped entirely when CI provides XHARNESS_CLI_PATH. Fixes 89 XHARNESS_TOOL_MISSING test failures. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../wasm/Wasm.Build.Tests/BuildTestBase.cs | 60 +++++++++++++++++++ .../Templates/WasmTemplateTestsBase.cs | 2 + 2 files changed, 62 insertions(+) diff --git a/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs b/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs index 4e993991471be5..7cc84e8dbf8841 100644 --- a/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs @@ -36,6 +36,8 @@ public abstract class BuildTestBase : IClassFixture + /// Ensures the xharness CLI is available as a local dotnet tool by running + /// dotnet tool restore if needed. This is a no-op when + /// XHARNESS_CLI_PATH is set (CI provides the tool externally). + /// + protected static void EnsureXHarnessAvailable() + { + if (!string.IsNullOrEmpty(EnvironmentVariables.XHarnessCliPath)) + return; + + if (s_xharnessToolRestored) + return; + + lock (s_xharnessRestoreLock) + { + if (s_xharnessToolRestored) + return; + + // Find repo root by walking up to NuGet.config + DirectoryInfo? repoRoot = new(AppContext.BaseDirectory); + while (repoRoot is not null && !File.Exists(Path.Combine(repoRoot.FullName, "NuGet.config"))) + repoRoot = repoRoot.Parent; + + if (repoRoot is null) + throw new InvalidOperationException("Could not find repo root (directory containing NuGet.config) to restore xharness tool"); + + Console.WriteLine($"[xharness] Restoring dotnet tools from {repoRoot.FullName} using {s_buildEnv.DotNet}"); + + var psi = new ProcessStartInfo + { + FileName = s_buildEnv.DotNet, + Arguments = "tool restore", + WorkingDirectory = repoRoot.FullName, + RedirectStandardOutput = true, + RedirectStandardError = true, + UseShellExecute = false + }; + psi.Environment["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = "1"; + + using var process = Process.Start(psi) + ?? throw new InvalidOperationException("Failed to start 'dotnet tool restore' process"); + + var stdoutTask = process.StandardOutput.ReadToEndAsync(); + var stderrTask = process.StandardError.ReadToEndAsync(); + process.WaitForExit(); + + string stdout = stdoutTask.Result; + string stderr = stderrTask.Result; + + if (process.ExitCode != 0) + throw new InvalidOperationException( + $"'dotnet tool restore' failed with exit code {process.ExitCode}.\nStdout: {stdout}\nStderr: {stderr}"); + + Console.WriteLine($"[xharness] Tool restore completed successfully"); + s_xharnessToolRestored = true; + } + } + public static IEnumerable> ConfigWithAOTData(bool aot, Configuration config = Configuration.Undefined) { if (config == Configuration.Undefined) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs index a6fd5220264d89..6c3c3f7ecdedf0 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs @@ -359,6 +359,8 @@ private async Task BrowserRun(RunOptions runOptions) runOptions = runOptions with { CustomBundleDir = Path.GetFullPath(Path.Combine(GetBinFrameworkDir(runOptions.Configuration, forPublish: true), "..", "public")) }; } + EnsureXHarnessAvailable(); + return runOptions.Host switch { RunHost.DotnetRun => From f8c5251111b987f8aa617278ab92c2787f215763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 30 Mar 2026 13:26:31 +0000 Subject: [PATCH 25/38] Tag xharness-dependent native tests as coreclr-native MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Re-categorize 12 test methods (43 test cases) from 'native' to 'coreclr-native' so they run in CoreCLR CI. These tests previously failed only because xharness was not installed (XHARNESS_TOOL_MISSING); with the auto-restore fix they should pass. Methods re-tagged: - Blazor.BuildPublishTests.Test_WasmStripILAfterAOT (2 cases) - Blazor.SimpleRunTests.BlazorPublishRunTest (3 cases) - DllImportTests: 3 FunctionPointer methods (6 cases) - InvariantGlobalizationTests.RelinkingWithoutAOT (6 cases) - InvariantTimezoneTests: AOT + RelinkingWithoutAOT (18 cases) - PInvokeTableGeneratorTests: 4 methods (8 cases) 9 additional methods (46 cases) with mixed XHARNESS/NETSDK1147 failures are left as 'native' — their AOT parameter combos require workload and would fail in the no-workload CoreCLR CI configuration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs | 6 +++--- .../wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs | 4 ++-- .../wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs | 8 ++++---- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs index da3bbb8491e2bc..106607c107c02e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs @@ -118,7 +118,7 @@ void AssertResourcesDlls(string basePath) [Theory] [InlineData("", true)] // Default case [InlineData("false", false)] // the other case - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectILStripping) { Configuration config = Configuration.Release; diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs index d39d794e7f5392..aa5bb388aa553e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs @@ -64,7 +64,7 @@ public async Task BlazorBuildAndRunForDifferentOutputPaths(Configuration config, [InlineData(Configuration.Debug, false)] [InlineData(Configuration.Release, false)] [InlineData(Configuration.Release, true)] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task BlazorPublishRunTest(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.BlazorBasicTestApp, "blazor_publish"); diff --git a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs index eb80a8c9145992..024ae441a34200 100644 --- a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs @@ -44,7 +44,7 @@ public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool [Theory] [BuildAndRun()] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr"); @@ -64,7 +64,7 @@ public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configurat [Theory] [BuildAndRun()] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr_variadic"); @@ -84,7 +84,7 @@ public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWith [Theory] [BuildAndRun()] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration config, bool aot) { string extraProperties = "$(MSBuildWarningsAsMessage);WASM0001"; diff --git a/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs b/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs index 9a7950b7a5ec4b..4b356546605a4b 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs @@ -39,7 +39,7 @@ public async Task AOT_InvariantGlobalization(Configuration config, bool aot, boo // TODO: What else should we use to verify a relinked build? [Theory] [MemberData(nameof(InvariantGlobalizationTestData), parameters: new object[] { /*aot*/ false })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task RelinkingWithoutAOT(Configuration config, bool aot, bool? invariantGlobalization) => await TestInvariantGlobalization(config, aot, invariantGlobalization, isNativeBuild: true); diff --git a/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs b/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs index 016996873df776..7f09a321eadfde 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs @@ -29,13 +29,13 @@ public InvariantTimezoneTests(ITestOutputHelper output, SharedBuildPerTestClassF [Theory] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ false, })] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task AOT_InvariantTimezone(Configuration config, bool aot, bool? invariantTimezone) => await TestInvariantTimezone(config, aot, invariantTimezone); [Theory] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ false })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task RelinkingWithoutAOT(Configuration config, bool aot, bool? invariantTimezone) => await TestInvariantTimezone(config, aot, invariantTimezone, isNativeBuild: true); diff --git a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs index e0c141eb1b1d4a..25dfa3a0c4d110 100644 --- a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs @@ -136,7 +136,7 @@ public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly [Theory] [BuildAndRun()] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_filetype"); @@ -156,7 +156,7 @@ public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) [Theory] [BuildAndRun()] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_namespace"); @@ -282,7 +282,7 @@ public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) [Theory] [BuildAndRun(parameters: new object[] { "tr_TR.UTF-8" })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task BuildNativeInNonEnglishCulture(Configuration config, bool aot, string culture) { // Check that we can generate interp tables in non-english cultures @@ -383,7 +383,7 @@ public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) [Theory] [BuildAndRun(aot: false)] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task UCOWithSpecialCharacters(Configuration config, bool aot) { var extraProperties = "true"; From db60c43f29891775bc514109cbd5edc4e62b3bf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 08:35:20 +0000 Subject: [PATCH 26/38] Clean up --- .../BuildWasmAppsJobsListCoreCLR.txt | 5 + .../BrowserWasmApp.CoreCLR.targets.backup | 477 ------------------ .../wasm/Wasm.Build.Tests/IcuShardingTests.cs | 4 +- .../Wasm.Build.Tests/IcuShardingTests2.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/IcuTests.cs | 4 +- .../wasm/Wasm.Build.Tests/NativeBuildTests.cs | 8 +- .../Templates/NativeBuildTests.cs | 2 +- .../Templates/WasmTemplateTestsBase.cs | 63 +++ 8 files changed, 78 insertions(+), 487 deletions(-) delete mode 100644 src/mono/browser/build/BrowserWasmApp.CoreCLR.targets.backup diff --git a/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt b/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt index 4f567f5cba1082..a00313e1e36bab 100644 --- a/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt +++ b/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt @@ -2,8 +2,12 @@ Wasm.Build.Tests.DebugLevelTests Wasm.Build.Tests.EnvVariablesTests Wasm.Build.Tests.FilesToIncludeInFileSystemTests Wasm.Build.Tests.HttpTests +Wasm.Build.Tests.IcuShardingTests +Wasm.Build.Tests.IcuShardingTests2 +Wasm.Build.Tests.IcuTests Wasm.Build.Tests.LazyLoadingTests Wasm.Build.Tests.ModuleConfigTests +Wasm.Build.Tests.NativeBuildTests Wasm.Build.Tests.PreloadingTests Wasm.Build.Tests.RebuildTests Wasm.Build.Tests.SatelliteLoadingTests @@ -12,3 +16,4 @@ Wasm.Build.Tests.WasmRunOutOfAppBundleTests Wasm.Build.Tests.WasmTemplateTests Wasm.Build.Tests.MaxParallelDownloadsTests Wasm.Build.Tests.LibraryInitializerTests +Wasm.Build.Templates.Tests.NativeBuildTests diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets.backup b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets.backup deleted file mode 100644 index c7a0288d2786ca..00000000000000 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets.backup +++ /dev/null @@ -1,477 +0,0 @@ - - - - - - - - true - $(WasmEnableExceptionHandling) - - Build - Publish - <_WasmNestedPublishAppPreTarget Condition="'$(DisableAutoWasmPublishApp)' != 'true'">Publish - - true - true - true - false - false - false - - <_WasmOutputFileName Condition="'$(_WasmOutputFileName)' == ''">dotnet.native.wasm - - <_ExeExt Condition="$([MSBuild]::IsOSPlatform('WINDOWS'))">.exe - <_PathSeparator Condition="'$(OS)' == 'Windows_NT'">%3B - <_PathSeparator Condition="'$(OS)' != 'Windows_NT'">: - - true - - - - - - - - - - - - - <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenSdkToolsPath)' == '' or !Exists('$(EmscriptenSdkToolsPath)'))">%24(EmscriptenSdkToolsPath)=$(EmscriptenSdkToolsPath) - <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenNodeToolsPath)' == '' or !Exists('$(EmscriptenNodeToolsPath)'))">%24(EmscriptenNodeToolsPath)=$(EmscriptenNodeToolsPath) - <_EMSDKMissingPaths Condition="'$(_EMSDKMissingPaths)' == '' and ('$(EmscriptenUpstreamBinPath)' == '' or !Exists('$(EmscriptenUpstreamBinPath)'))">%24(EmscriptenUpstreamBinPath)=$(EmscriptenUpstreamBinPath) - - - - <_ToolchainMissingErrorMessage Condition="'$(EMSDK_PATH)' == '' and '$(EmscriptenSdkToolsPath)' == ''">Could not find emscripten sdk. Either set %24(EMSDK_PATH), or use workloads to get the sdk. - <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' != 'true' and '$(_EMSDKMissingPaths)' != ''">Emscripten from the workload is missing some paths: $(_EMSDKMissingPaths). - <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' == 'true' and !Exists($(EMSDK_PATH))">Could not find Emscripten sdk at %24(EMSDK_PATH)=$(EMSDK_PATH) . - <_ToolchainMissingErrorMessage Condition="'$(_ToolchainMissingErrorMessage)' == '' and '$(_UsingEMSDK_PATH)' == 'true' and '$(_EMSDKMissingPaths)' != ''">Specified Emscripten sdk at %24(EMSDK_PATH)=$(EMSDK_PATH) is missing some paths: $(_EMSDKMissingPaths). - <_IsToolchainMissing Condition="'$(_ToolchainMissingErrorMessage)' != ''">true - - - - $([MSBuild]::NormalizeDirectory($(EmscriptenSdkToolsPath))) - $([MSBuild]::NormalizeDirectory($(EmscriptenNodeToolsPath))) - $([MSBuild]::NormalizeDirectory($(EmscriptenUpstreamBinPath))) - - - - - - - - - - <_EmscriptenPrependPATHTrimmed Include="$([MSBuild]::ValueOrDefault('%(EmscriptenPrependPATH.Identity)\', '').TrimEnd('\/'))" /> - - - - - - <_EmscriptenPrependPATHProperty>@(EmscriptenPrependPATH -> '%(Identity)', '$(_PathSeparator)') - - - - - - - - - - - - - - - - - - - - - - - - - %(ResolvedRuntimePack.PackageDirectory) - $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackDir), 'runtimes', $(RuntimeIdentifier))) - $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir))) - $([MSBuild]::NormalizeDirectory($(MicrosoftNetCoreAppRuntimePackRidDir), 'native')) - - <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' == ''">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-build')) - <_WasmIntermediateOutputPath Condition="'$(WasmBuildingForNestedPublish)' != ''">$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm', 'for-publish')) - - $(TargetFileName) - $([System.IO.Path]::GetFileName($(WasmMainAssemblyFileName))) - - - - <_SystemRuntimePathItem Include="$(MicrosoftNetCoreAppRuntimePackRidDir)\lib\net*\System.Runtime.dll" /> - - - - - - $([System.IO.Path]::GetDirectoryName(%(_SystemRuntimePathItem.Identity))) - - - - - - - - - - - - - - - - - - - <_WasmAssembliesInternal Remove="@(_WasmAssembliesInternal)" /> - <_WasmAssembliesInternal Include="@(WasmAssembliesToBundle->Distinct())" /> - - <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" /> - <_WasmSatelliteAssemblies Include="@(_WasmAssembliesInternal)" /> - <_WasmSatelliteAssemblies Remove="@(_WasmSatelliteAssemblies)" Condition="!$([System.String]::Copy('%(Identity)').EndsWith('.resources.dll'))" /> - <_WasmSatelliteAssemblies CultureName="$([System.IO.Directory]::GetParent('%(Identity)').Name)" /> - <_WasmAssembliesInternal Remove="@(_WasmSatelliteAssemblies)" /> - - - - - - - - - true - - - - - true - false - true - - - - false - - - - - - true - false - true - - true - false - - <_WasmDevel Condition="'$(_WasmDevel)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">true - - <_EmccOptimizationFlagDefault Condition="'$(_WasmDevel)' == 'true'">-O0 - <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == '' and '$(Configuration)' == 'Debug' and '$(WasmBuildingForNestedPublish)' != 'true'">-O1 - <_EmccOptimizationFlagDefault Condition="'$(_EmccOptimizationFlagDefault)' == ''">-Oz - - -O2 - $(_EmccOptimizationFlagDefault) - - 5MB - 2147483648 - false - - <_WasmLinkRsp>$(_WasmIntermediateOutputPath)emcc-link.rsp - - $(EmscriptenUpstreamEmscriptenPath)emcc - - - - - - - - - - - - $(_WasmCalculatedInitialHeapSize) - 134217728 - - - - - - - - - - <_EmccExportedRuntimeMethods>"['BROWSER_HOST','FS','out','err','ccall','cwrap','setValue','getValue','UTF8ToString','UTF8ArrayToString','lengthBytesUTF8','stringToUTF8Array','safeSetTimeout','runtimeKeepalivePush','runtimeKeepalivePop','abort']" - <_EmccExportedFunctions>_free,_htons,_malloc,_sbrk,_memalign,_posix_memalign,_memset,_ntohs,stackAlloc,stackRestore,stackSave - <_EmccExportedFunctions Condition="'$(WasmEnableExceptionHandling)' == 'true'">$(_EmccExportedFunctions),___cpp_exception - - - - - <_CoreCLRNativeLibsForLinking Remove="@(_CoreCLRNativeLibsForLinking)" /> - - - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclr_static.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libnativeresourcestring.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libgcinfo_unix_wasm.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrminipal.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libcoreclrpal.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libminipal.a" /> - - - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.a" /> - - - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.a" /> - - - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.IO.Compression.Native.a" /> - <_CoreCLRNativeLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libz.a" /> - - - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Globalization.Native.a" /> - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicuuc.a" /> - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicui18n.a" /> - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantGlobalization)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libicudata.a" /> - - - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantTimezone)' != 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.a" /> - <_CoreCLRNativeLibsForLinking Condition="'$(InvariantTimezone)' == 'true'" Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.TimeZoneData.Invariant.a" /> - - - <_CoreCLRNativeLibsForLinking Include="@(NativeFileReference)" /> - - - - - <_CoreCLRJSLibsForLinking Remove="@(_CoreCLRJSLibsForLinking)" /> - <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.js" Kind="js-library" /> - <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.Utils.js" Kind="js-library" /> - <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Runtime.InteropServices.JavaScript.Native.js" Kind="js-library" /> - <_CoreCLRJSLibsForLinking Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libBrowserHost.js" Kind="js-library" /> - - - <_CoreCLRJSLibsForLinking Condition="Exists('$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.extpost.js')" - Include="$(MicrosoftNetCoreAppRuntimePackRidNativeDir)libSystem.Native.Browser.extpost.js" Kind="extern-post-js" /> - - - - - - - - - - - - - - - - - - - <_CoreCLRLinkStepArgs Remove="@(_CoreCLRLinkStepArgs)" /> - - - <_CoreCLRLinkStepArgs Include="$(EmccLinkOptimizationFlag)" /> - - - <_CoreCLRLinkStepArgs Include="$(EmccFlags)" /> - <_CoreCLRLinkStepArgs Include="-v" Condition="'$(EmccVerbose)' == 'true'" /> - <_CoreCLRLinkStepArgs Include="-g" Condition="'$(WasmNativeDebugSymbols)' == 'true'" /> - <_CoreCLRLinkStepArgs Include="-fwasm-exceptions" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> - <_CoreCLRLinkStepArgs Include="-s DISABLE_EXCEPTION_CATCHING=0" Condition="'$(WasmEnableExceptionHandling)' == 'false'" /> - <_CoreCLRLinkStepArgs Include="-msimd128" Condition="'$(WasmEnableSIMD)' == 'true'" /> - - - <_CoreCLRLinkStepArgs Include="-s INITIAL_MEMORY=$(WasmInitialHeapSize)" /> - <_CoreCLRLinkStepArgs Include="-s MAXIMUM_MEMORY=$(EmccMaximumHeapSize)" /> - <_CoreCLRLinkStepArgs Include="-s ALLOW_MEMORY_GROWTH=1" /> - <_CoreCLRLinkStepArgs Include="-s STACK_SIZE=$(EmccStackSize)" /> - - - <_CoreCLRLinkStepArgs Include="-s WASM_BIGINT=1" /> - <_CoreCLRLinkStepArgs Include="-s MODULARIZE=1" /> - <_CoreCLRLinkStepArgs Include="-s EXPORT_ES6=1" /> - <_CoreCLRLinkStepArgs Include="-s EXIT_RUNTIME=1" /> - <_CoreCLRLinkStepArgs Include="-s ALLOW_TABLE_GROWTH=1" /> - <_CoreCLRLinkStepArgs Include="-s EXPORT_NAME=createDotnetRuntime" /> - <_CoreCLRLinkStepArgs Include="-s ENVIRONMENT="web,webview,worker,node,shell"" /> - - - <_CoreCLRLinkStepArgs Condition="'$(EmccEnableAssertions)' == 'true'" Include="-s ASSERTIONS=1" /> - - - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' == 'true'" Include="-Wl,--allow-undefined" /> - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' == 'true'" Include="-s ERROR_ON_UNDEFINED_SYMBOLS=0" /> - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-s LLD_REPORT_UNDEFINED" /> - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-s ERROR_ON_UNDEFINED_SYMBOLS=1" /> - <_CoreCLRLinkStepArgs Condition="'$(WasmAllowUndefinedSymbols)' != 'true'" Include="-Wl,-error-limit=0" /> - - - <_CoreCLRLinkStepArgs Include="-s EXPORTED_RUNTIME_METHODS=$(_EmccExportedRuntimeMethods)" /> - <_CoreCLRLinkStepArgs Include="-s EXPORTED_FUNCTIONS=$(_EmccExportedFunctions)" /> - - - <_CoreCLRLinkStepArgs Include="--emit-symbol-map" Condition="'$(WasmEmitSymbolMap)' == 'true'" /> - - - <_CoreCLRLinkStepArgs Include="--%(_CoreCLRJSLibsForLinking.Kind) "%(_CoreCLRJSLibsForLinking.Identity)"" /> - - - <_CoreCLRLinkStepArgs Include=""%(_CoreCLRNativeLibsForLinking.Identity)"" /> - - - <_CoreCLRLinkStepArgs Include="-o "$(_WasmIntermediateOutputPath)dotnet.native.js"" /> - - - <_CoreCLRLinkStepArgs Include="$(EmccExtraLDFlags)" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_WasmOptPostLinkFileName>$(_WasmIntermediateOutputPath)dotnet.native.wasm - - - - <_WasmOptConfigFlags Remove="@(_WasmOptConfigFlags)" /> - <_WasmOptConfigFlags Include="--enable-simd" Condition="'$(WasmEnableSIMD)' == 'true'" /> - <_WasmOptConfigFlags Include="--enable-exception-handling" Condition="'$(WasmEnableExceptionHandling)' == 'true'" /> - <_WasmOptConfigFlags Include="--enable-bulk-memory" /> - <_WasmOptConfigFlags Include="--strip-dwarf" Condition="'$(WasmNativeStrip)' == 'true'" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs index 2883967abc0105..4af4f74c7dd5d3 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs @@ -41,13 +41,13 @@ from locale in locales [Theory] [MemberData(nameof(IcuExpectedAndMissingCustomShardTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task CustomIcuShard(Configuration config, bool aot, string customIcuPath, string customLocales, bool onlyPredefinedCultures) => await TestIcuShards(config, Template.WasmBrowser, aot, customIcuPath, customLocales, GlobalizationMode.Custom, onlyPredefinedCultures); [Theory] [MemberData(nameof(IcuExpectedAndMissingAutomaticShardTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task AutomaticShardSelectionDependingOnEnvLocale(Configuration config, bool aot, string environmentLocale, string testedLocales) => await PublishAndRunIcuTest(config, Template.WasmBrowser, aot, testedLocales, GlobalizationMode.Sharded, locale: environmentLocale); } diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs index 7005b99642b21e..3c1edbdae35e01 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs @@ -38,7 +38,7 @@ from locale in locales [Theory] [MemberData(nameof(IcuExpectedAndMissingShardFromRuntimePackTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task DefaultAvailableIcuShardsFromRuntimePack(Configuration config, bool aot, string shardName, string testedLocales) => await TestIcuShards(config, Template.WasmBrowser, aot, shardName, testedLocales, GlobalizationMode.Custom); } diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs index f57e229bc0200d..2a800a75517f45 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs @@ -53,7 +53,7 @@ public static IEnumerable IncorrectIcuTestData(Configuration config) [Theory] [MemberData(nameof(FullIcuWithInvariantTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task FullIcuFromRuntimePackWithInvariant(Configuration config=Configuration.Release, bool aot=false, bool invariant=true, bool fullIcu=true, string testedLocales="Array.Empty()") => await PublishAndRunIcuTest( config, @@ -67,7 +67,7 @@ await PublishAndRunIcuTest( [Theory] [MemberData(nameof(FullIcuWithICustomIcuTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task FullIcuFromRuntimePackWithCustomIcu(Configuration config, bool aot, bool fullIcu) { string customIcuProperty = "BlazorIcuDataFileName"; diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index dade09975dd0f8..fa7650c4f8d379 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -22,7 +22,7 @@ public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture [Theory] [BuildAndRun(aot: false)] - [TestCategory("native")] + [TestCategory("coreclr-native")] public async Task SimpleNativeBuild(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -41,7 +41,7 @@ public async Task SimpleNativeBuild(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true)] - [TestCategory("native")] + [TestCategory("coreclr-native")] public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -60,7 +60,7 @@ public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] - [TestCategory("native")] + [TestCategory("coreclr-native")] public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, bool aot) { string printFileTypeTarget = @" @@ -93,7 +93,7 @@ public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, b [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] - [TestCategory("native")] + [TestCategory("coreclr-native")] public void NativeBuildIsRequired(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs index 34a81b98004a9d..9da85ee187a094 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs @@ -11,7 +11,7 @@ namespace Wasm.Build.Templates.Tests { - [TestCategory("native")] + [TestCategory("coreclr-native")] public class NativeBuildTests : WasmTemplateTestsBase { public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs index 6c3c3f7ecdedf0..3ce387536dc7a0 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Collections.Specialized; using System.Configuration; +using System.Diagnostics; using System.IO; using System.Linq; using System.Text; @@ -27,6 +28,9 @@ public class WasmTemplateTestsBase : BuildTestBase protected readonly BuildOptions _defaultBuildOptions; protected const string DefaultRuntimeAssetsRelativePath = "./_framework/"; + private static bool s_wasmTemplatesInstalled; + private static readonly object s_wasmTemplatesLock = new(); + public WasmTemplateTestsBase(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext, ProjectProviderBase? provider = null) : base(provider ?? new WasmSdkBasedProjectProvider(output, DefaultTargetFramework), output, buildContext) { @@ -83,6 +87,8 @@ public ProjectInfo CreateWasmTemplateProject( extraArgs += $" -f {defaultTarget}"; } + EnsureWasmTemplatesInstalled(); + using DotNetCommand cmd = new DotNetCommand(s_buildEnv, _testOutput, useDefaultArgs: false); CommandResult result = cmd.WithWorkingDirectory(_projectDir) .WithEnvironmentVariable("NUGET_PACKAGES", _nugetPackagesDir) @@ -174,6 +180,63 @@ private static void AddCoreClrProjectProperties(ref string extraProperties, ref """; } + /// + /// Installs the WASM browser/console templates from the built nugets path + /// using dotnet new install if needed. This is a no-op when + /// the workload is already installed (templates come with the workload). + /// + private static void EnsureWasmTemplatesInstalled() + { + if (s_buildEnv.IsWorkload) + return; + + if (s_wasmTemplatesInstalled) + return; + + lock (s_wasmTemplatesLock) + { + if (s_wasmTemplatesInstalled) + return; + + string? templateNupkg = Directory.GetFiles(s_buildEnv.BuiltNuGetsPath, "Microsoft.NET.Runtime.WebAssembly.Templates.*.nupkg") + .Where(f => !f.EndsWith(".symbols.nupkg", StringComparison.OrdinalIgnoreCase)) + .FirstOrDefault(); + + if (templateNupkg is null) + throw new InvalidOperationException( + $"Could not find WebAssembly template nupkg in '{s_buildEnv.BuiltNuGetsPath}'"); + + Console.WriteLine($"[templates] Installing WASM templates from {templateNupkg} using {s_buildEnv.DotNet}"); + + var psi = new ProcessStartInfo + { + FileName = s_buildEnv.DotNet, + Arguments = $"new install \"{templateNupkg}\" --force", + RedirectStandardOutput = true, + RedirectStandardError = true, + UseShellExecute = false + }; + psi.Environment["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = "1"; + + using var process = Process.Start(psi) + ?? throw new InvalidOperationException("Failed to start 'dotnet new install' process"); + + var stdoutTask = process.StandardOutput.ReadToEndAsync(); + var stderrTask = process.StandardError.ReadToEndAsync(); + process.WaitForExit(); + + string stdout = stdoutTask.Result; + string stderr = stderrTask.Result; + + if (process.ExitCode != 0) + throw new InvalidOperationException( + $"'dotnet new install' failed with exit code {process.ExitCode}.\nStdout: {stdout}\nStderr: {stderr}"); + + Console.WriteLine($"[templates] WASM template install completed successfully"); + s_wasmTemplatesInstalled = true; + } + } + public virtual (string projectDir, string buildOutput) PublishProject( ProjectInfo info, Configuration configuration, From c38dd72ba48bb7b50c886113f3b4288b67e6b6cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 08:36:54 +0000 Subject: [PATCH 27/38] Clean up --- .research/build-wasm-browser-sample.md | 110 - .research/native-build-analysis.md | 261 -- .research/native-coreclr-test-report.md | 593 ---- .research/native-coreclr-test-results.json | 3124 ----------------- .research/runtime-native-build-analysis.md | 496 --- .research/wasm-native-build-analysis.md | 740 ---- .../wasm-native-build-binlog-analysis.md | 413 --- 7 files changed, 5737 deletions(-) delete mode 100644 .research/build-wasm-browser-sample.md delete mode 100644 .research/native-build-analysis.md delete mode 100644 .research/native-coreclr-test-report.md delete mode 100644 .research/native-coreclr-test-results.json delete mode 100644 .research/runtime-native-build-analysis.md delete mode 100644 .research/wasm-native-build-analysis.md delete mode 100644 .research/wasm-native-build-binlog-analysis.md diff --git a/.research/build-wasm-browser-sample.md b/.research/build-wasm-browser-sample.md deleted file mode 100644 index b20af784534269..00000000000000 --- a/.research/build-wasm-browser-sample.md +++ /dev/null @@ -1,110 +0,0 @@ -# Building Wasm.Browser.Sample for CoreCLR - -Project: `src/mono/sample/wasm/browser/Wasm.Browser.Sample.csproj` - -## Prerequisites - -Build the CoreCLR runtime, libraries, and host for `browser-wasm` **before** building the sample. From the repo root: - -```bash -# Debug (if needed) -./build.sh clr+libs+host -os browser -c Debug -``` - -It's already built and it most probably be needed to build again. - -This produces artifacts under `artifacts/obj/coreclr/browser.wasm.Debug/libs-native/` which the sample build validates exists via the `_ValidateRuntimeFlavorBuild` target. - -⏱️ The prerequisite build takes ~37 minutes (CoreCLR compiles the entire runtime engine from C/C++ source via emcc — 840+ ninja steps). - -## Building the Sample - -### Option 1: Via MSBuild Target (Recommended) - -The `BuildSampleInTree` target handles cleaning, nested property forwarding, and produces a binlog automatically: - -```bash -cd src/mono/sample/wasm/browser - -# Build with CoreCLR and produce binlog -../../../../../../dotnet.sh build \ - /t:BuildSampleInTree \ - /p:RuntimeFlavor=CoreCLR \ - /p:Configuration=Debug \ - Wasm.Browser.Sample.csproj -``` - -This internally runs `dotnet publish` with: -- `-bl:publish-browser.binlog` (binlog output) -- `/p:TargetArchitecture=wasm /p:TargetOS=browser` -- `/p:ExpandNested=true /p:Nested_RuntimeFlavor=CoreCLR` - -**Binlog location:** `src/mono/sample/wasm/browser/publish-browser.binlog` - -## How RuntimeFlavor Affects the Build - -The `RuntimeFlavor` property controls which targets and props are imported: - -| File | Mono | CoreCLR | -|------|------|---------| -| `WasmApp.InTree.props` | Imports `BrowserWasmApp.props` | Sets `InvariantGlobalization=false`, `WasmEnableWebcil=false` | -| `WasmApp.InTree.targets` | Imports `BrowserWasmApp.targets` | Imports `BrowserWasmApp.CoreCLR.targets` | - -### Property Differences - -| Property | Mono (default) | CoreCLR | -|----------|---------------|---------| -| `InvariantGlobalization` | (unset) | `false` | -| `WasmEnableWebcil` | (default: true) | `false` | -| Native link | Per-app emcc link (EmccCompile + wasm-ld) | Pre-linked in `corehost.proj` | - -### Nested Build Property Forwarding - -The sample uses a nested build pattern. `RuntimeFlavor` is listed in `NestedBuildProperty` items (line 45 of `Directory.Build.targets`). When `BuildSampleInTree` runs, it: - -1. Sets `/p:Nested_RuntimeFlavor=CoreCLR` on the inner `dotnet publish` command -2. The inner build's `_ExpandNestedProps` target copies `Nested_RuntimeFlavor` → `RuntimeFlavor` -3. `WasmApp.InTree.targets` conditionally imports `BrowserWasmApp.CoreCLR.targets` - -## Implementation - -The CoreCLR native build is implemented in `BrowserWasmApp.CoreCLR.targets`. Unlike Mono (which re-links `dotnet.native.wasm` per-app via emcc), CoreCLR **pre-links** `dotnet.native.wasm` once during the runtime build (`corehost.proj`). The app build copies these pre-built native files from the runtime pack. - -### Architecture - -``` -Mono app build: - emcc compile (4 C files) → emcc link (.a + .o) → dotnet.native.wasm (per-app) - -CoreCLR app build: - runtime pack (dotnet.native.wasm) → copy to intermediate → WasmNativeAsset → SDK bundle -``` - -### Key implementation details: - -1. **`WasmApp.Common.props`** is imported for shared property definitions (`WasmBuildAppDependsOn`, etc.) -2. **`WasmApp.Common.targets`** is imported for the shared target chain (`WasmBuildApp` → `_WasmBuildAppCore` → `PrepareInputsForWasmBuild` → `WasmGenerateAppBundle` → `_EmitWasmAssembliesFinal`) -3. **`WasmBuildNative=false`** skips the emcc compile/link chain (`_WasmBuildNativeCore`) -4. **`_SetupToolchain`** is overridden to mark emscripten as unavailable, which skips `_ReadWasmProps` (no `src/wasm-props.json` in CoreCLR pack) -5. **`_CoreCLRBrowserCopyNativeAssets`** copies pre-built native files from the runtime pack and adds them as `WasmNativeAsset` items -6. The SDK's `_ResolveWasmOutputs` / `ComputeWasmBuildAssets` / `GenerateWasmBootJson` consume these to produce the final `_framework/` bundle - -## Key Files - -| File | Purpose | -|------|---------| -| `src/mono/sample/wasm/browser/Wasm.Browser.Sample.csproj` | Sample project | -| `src/mono/sample/wasm/Directory.Build.targets` | `BuildSampleInTree` target, validation, nested prop forwarding | -| `src/mono/sample/wasm/Directory.Build.props` | Sets `TargetOS=browser`, `RuntimeIdentifier=browser-wasm` | -| `src/mono/sample/wasm/wasm.mk` | Makefile with `build`/`publish` targets | -| `src/mono/browser/build/WasmApp.InTree.props` | Conditional import of Mono vs CoreCLR props | -| `src/mono/browser/build/WasmApp.InTree.targets` | Conditional import of Mono vs CoreCLR targets | -| `src/mono/browser/build/BrowserWasmApp.CoreCLR.targets` | CoreCLR placeholder targets (WIP) | -| `src/mono/browser/build/BrowserWasmApp.targets` | Mono WASM app build targets (full implementation) | - -## Comparing Binlogs - -To compare Mono vs CoreCLR builds, produced binlogs: - -- src/mono/sample/wasm/browser/publish-browser.binlog for CoreCLR -- .research/apppublish-mono-native.binlog for Mono (keep in mind some paths might be different because it's not the build the exactly same environment) \ No newline at end of file diff --git a/.research/native-build-analysis.md b/.research/native-build-analysis.md deleted file mode 100644 index d5182d3db40786..00000000000000 --- a/.research/native-build-analysis.md +++ /dev/null @@ -1,261 +0,0 @@ -# WasmBuildNative=true Build Analysis - -Project: `WasmBrowserMonoNativeBuild.csproj` | Target: `net10.0` / `browser-wasm` | SDK: `10.0.103` - -## Build Times - -| Build | Total | Build (excl. restore) | -|-------|-------|-----------------------| -| Default | 7,459ms | ~4,000ms | -| Native (`WasmBuildNative=true`) | 16,094ms | ~12,700ms | -| **Delta** | **+8,635ms (+116%)** | | - -## Native Build Pipeline - -32 targets execute exclusively in the native build. Listed in execution order with source files and durations. - -### Phase 1: Setup & Configuration - -| Target | Duration | Source File | -|--------|----------|-------------| -| `_GatherWasmFilesToBuild` | 0ms | `Microsoft.NET.Sdk.WebAssembly.Browser.targets` (NuGet) | -| `_InitializeCommonProperties` | 2ms | `WasmApp.Common.targets` | -| `_SetupEmscripten` | 1ms | `BrowserWasmApp.targets` | -| `_SetupToolchain` | 0ms | `WasmApp.Common.targets` | -| `_ReadWasmProps` | 10ms | `WasmApp.Common.targets` | -| `_SetWasmBuildNativeDefaults` | 0ms | `WasmApp.Common.targets` | - -All source files under `C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\10.0.3\Sdk\` unless noted. - -### Phase 2: Preparation - -| Target | Duration | Source File | -|--------|----------|-------------| -| `PrepareInputsForWasmBuild` | 9ms | `WasmApp.Common.targets` | -| `_WasmCommonPrepareForWasmBuildNative` | 0ms | `WasmApp.Common.targets` | -| `_CheckToolchainIsExpectedVersion` | 0ms | `WasmApp.Common.targets` | -| `_PrepareForBrowserWasmBuildNative` | 5ms | `BrowserWasmApp.targets` | -| `PrepareForWasmBuildNative` | 0ms | `WasmApp.Common.targets` | - -### Phase 3: Interop Generation - -| Target | Duration | Source File | -|--------|----------|-------------| -| `_ScanAssembliesDecideLightweightMarshaler` | **362ms** | `WasmApp.Common.targets` | -| `_GenerateManagedToNative` | **1,261ms** | `WasmApp.Common.targets` | - -- `MarshalingPInvokeScanner` task (344ms) scans assemblies for P/Invoke marshaling decisions. -- `ManagedToNativeGenerator` task (1,112ms) generates C interop code from managed assemblies. - -### Phase 4: Runtime Component Selection - -| Target | Duration | Source File | -|--------|----------|-------------| -| `_MonoReadAvailableComponentsManifest` | 2ms | `RuntimeComponentManifest.targets` | -| `_MonoComputeAvailableComponentDefinitions` | 0ms | `RuntimeComponentManifest.targets` | -| `_MonoSelectRuntimeComponents` | 1ms | `RuntimeComponentManifest.targets` | -| `_WasmSelectRuntimeComponentsForLinking` | 0ms | `WasmApp.Common.targets` | - -Source: `C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.MonoTargets.Sdk\10.0.3\Sdk\` - -Selected components: -- `libmono-component-debugger-static.a` -- `libmono-component-diagnostics_tracing-stub-static.a` -- `libmono-component-hot_reload-static.a` -- `libmono-component-marshal-ilgen-stub-static.a` - -### Phase 5: Emscripten Compile (4,463ms) - -| Target | Duration | Source File | -|--------|----------|-------------| -| `_WasmCalculateInitialHeapSizeFromBitcodeFiles` | 17ms | `WasmApp.Common.targets` | -| `_BrowserWasmWriteCompileRsp` | 0ms | `BrowserWasmApp.targets` | -| `_WasmWriteRspForCompilingNativeSourceFiles` | 1ms | `WasmApp.Common.targets` | -| `_WasmCompileNativeSourceFiles` | **4,463ms** | `WasmApp.Common.targets` | - -The `EmccCompile` task (from `WasmAppBuilder.dll`) compiles 4 C source files to `.o` object files: - -``` -pinvoke.c → pinvoke.o -driver.c → driver.o -corebindings.c → corebindings.o -runtime.c → runtime.o -``` - -### Phase 6: Emscripten Link (4,461ms) - -| Target | Duration | Source File | -|--------|----------|-------------| -| `_BrowserWasmWriteRspForLinking` | 1ms | `BrowserWasmApp.targets` | -| `_WasmWriteRspForLinking` | 0ms | `WasmApp.Common.targets` | -| `_BrowserWasmLinkDotNet` | **4,461ms** | `BrowserWasmApp.targets` | - -Invokes `emcc` which calls `wasm-ld.exe` to produce `dotnet.native.wasm` and `dotnet.native.js`. - -#### Linker Command - -``` -emcc "@emcc-default.rsp" -msimd128 "@emcc-link.rsp" "@emcc-link.rsp(local)" -``` - -#### Resolved Flags - -``` --O0 # Debug, no optimization --v -g # Verbose + debug info --fwasm-exceptions # Native WASM exception handling --s EXPORT_ES6=1 # ES6 module output --s INITIAL_MEMORY=33554432 # 32 MB initial heap --s STACK_SIZE=5MB --s WASM_BIGINT=1 --s LLD_REPORT_UNDEFINED --s ERROR_ON_UNDEFINED_SYMBOLS=1 -``` - -#### Input Object Files - -``` -obj/Debug/net10.0/wasm/for-build/pinvoke.o -obj/Debug/net10.0/wasm/for-build/driver.o -obj/Debug/net10.0/wasm/for-build/corebindings.o -obj/Debug/net10.0/wasm/for-build/runtime.o -``` - -#### Static Libraries Linked (27) - -| Library | Purpose | -|---------|---------| -| `libmonosgen-2.0.a` | Mono SGen GC runtime | -| `libmono-ee-interp.a` | Mono interpreter engine | -| `libmono-icall-table.a` | Internal call table | -| `libmono-wasm-eh-wasm.a` | WASM exception handling | -| `libmono-wasm-simd.a` | SIMD support | -| `libmono-component-debugger-static.a` | Debugger component | -| `libmono-component-diagnostics_tracing-stub-static.a` | Diagnostics stub | -| `libmono-component-hot_reload-static.a` | Hot reload component | -| `libmono-component-marshal-ilgen-stub-static.a` | Marshal IL gen stub | -| `libmono-profiler-aot.a` | AOT profiler | -| `libmono-profiler-browser.a` | Browser profiler | -| `libmono-profiler-log.a` | Log profiler | -| `libicudata.a` | ICU data | -| `libicui18n.a` | ICU internationalization | -| `libicuuc.a` | ICU common | -| `libSystem.Globalization.Native.a` | System.Globalization native | -| `libSystem.IO.Compression.Native.a` | System.IO.Compression native | -| `libSystem.Native.a` | System.Native | -| `libbrotlicommon.a` | Brotli common | -| `libbrotlidec.a` | Brotli decoder | -| `libbrotlienc.a` | Brotli encoder | -| `libz.a` | zlib | -| `wasm-bundled-timezones.a` | Timezone data | - -Plus Emscripten sysroot libraries: `-lGL-getprocaddr -lal -lhtml5 -lbulkmemory -lstubs-debug -lc-debug -ldlmalloc -lcompiler_rt-wasm-sjlj -lc++-except -lc++abi-debug-except -lunwind-except -lsockets` - -#### JavaScript Glue - -``` ---pre-js dotnet.es6.pre.js ---js-library dotnet.es6.lib.js ---extern-post-js dotnet.es6.extpost.js -``` - -#### Exported Functions - -Math: `_fmod`, `_atan2`, `_fma`, `_pow`, `_sin`, `_cos`, `_tan`, `_exp`, `_log`, `_log2`, `_log10`, `_asin`, `_asinh`, `_acos`, `_acosh`, `_atan`, `_atanh`, `_cbrt`, `_cosh`, `_sinh`, `_tanh` + float variants (`_sinf`, `_cosf`, etc.) - -Runtime: `_free`, `_malloc`, `_sbrk`, `_memalign`, `_posix_memalign`, `_memset`, `_htons`, `_ntohs`, `stackAlloc`, `stackRestore`, `stackSave`, `_emscripten_force_exit`, `___cpp_exception` - -#### Exported JS Runtime Methods - -``` -FS, out, err, ccall, cwrap, setValue, getValue, -UTF8ToString, UTF8ArrayToString, lengthBytesUTF8, stringToUTF8Array, -FS_createPath, FS_createDataFile, -removeRunDependency, addRunDependency, addFunction, -safeSetTimeout, runtimeKeepalivePush, runtimeKeepalivePop, -maybeExit, abort, wasmExports -``` - -#### wasm-ld Flags - -``` ---initial-memory=33554432 # 32 MB ---max-memory=2147483648 # 2 GB ---stack-first ---no-entry ---growable-table ---table-base=1 --z stack-size=5242880 # 5 MB stack -``` - -#### Environment Variables - -``` -WASM_ENABLE_SIMD=1 -WASM_ENABLE_EH=1 -WASM_ENABLE_EVENTPIPE=0 -ENABLE_JS_INTEROP_BY_VALUE=0 -RUN_AOT_COMPILATION=0 -ENABLE_AOT_PROFILER=0 -ENABLE_DEVTOOLS_PROFILER=0 -ENABLE_LOG_PROFILER=0 -EM_FROZEN_CACHE=1 -``` - -#### Output - -``` -obj/Debug/net10.0/wasm/for-build/dotnet.native.wasm -obj/Debug/net10.0/wasm/for-build/dotnet.native.js -``` - -Post-link: `llvm-objcopy` strips the `producers` section from `dotnet.native.wasm`. - -### Phase 7: Finalize - -| Target | Duration | Source File | -|--------|----------|-------------| -| `WasmLinkDotNet` | 0ms | `WasmApp.Common.targets` | -| `_CompleteWasmBuildNative` | 0ms | `BrowserWasmApp.targets` | -| `WasmAfterLinkSteps` | 0ms | `WasmApp.Common.targets` | -| `_WasmBuildNativeCore` | 0ms | `WasmApp.Common.targets` | -| `_EmitWasmAssembliesFinal` | 0ms | `WasmApp.Common.targets` | -| `_WasmBuildAppCore` | 0ms | `WasmApp.Common.targets` | -| `WasmBuildApp` | 0ms | `WasmApp.Common.targets` | -| `_WasmNativeForBuild` | 0ms | `Microsoft.NET.Sdk.WebAssembly.Browser.targets` (NuGet) | - -## Task Comparison: Default vs Native - -| Task | Default | Native | Delta | -|------|---------|--------|-------| -| `Csc` | 2,282ms | 10ms | -2,272ms (incremental) | -| `EmccCompile` | — | 4,456ms | 🆕 | -| `Exec` (emcc linker) | — | 4,460ms | 🆕 | -| `ManagedToNativeGenerator` | — | 1,112ms | 🆕 | -| `MarshalingPInvokeScanner` | — | 344ms | 🆕 | -| `ConvertDllsToWebCil` | 299ms | 35ms | -264ms | -| `ComputeWasmBuildAssets` | 198ms | — | removed | -| `GenerateWasmBootJson` | 126ms | 94ms | -32ms | -| `GZipCompress` | 99ms | 210ms | +111ms | - -## Toolchain - -| Component | Version | Path | -|-----------|---------|------| -| Emscripten SDK | 3.1.56 | `Microsoft.NET.Runtime.Emscripten.3.1.56.Sdk.win-x64\10.0.3` | -| Emscripten Node | 3.1.56 | `Microsoft.NET.Runtime.Emscripten.3.1.56.Node.win-x64\10.0.3` | -| Emscripten Python | 3.1.56 | `Microsoft.NET.Runtime.Emscripten.3.1.56.Python.win-x64\10.0.3` | -| Emscripten Cache | 3.1.56 | `Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64\10.0.3` | -| Mono browser-wasm runtime | 10.0.3 | `Microsoft.NETCore.App.Runtime.Mono.browser-wasm\10.0.3` | -| WebAssembly SDK | 10.0.3 | `Microsoft.NET.Runtime.WebAssembly.Sdk\10.0.3` | -| MonoTargets SDK | 10.0.3 | `Microsoft.NET.Runtime.MonoTargets.Sdk\10.0.3` | -| WebAssembly Pack (NuGet) | 10.0.3 | `microsoft.net.sdk.webassembly.pack\10.0.3` | - -## MSBuild Source Files - -| File | # Targets | Pack | -|------|-----------|------| -| `WasmApp.Common.targets` | 21 | `Microsoft.NET.Runtime.WebAssembly.Sdk` | -| `BrowserWasmApp.targets` | 6 | `Microsoft.NET.Runtime.WebAssembly.Sdk` | -| `RuntimeComponentManifest.targets` | 3 | `Microsoft.NET.Runtime.MonoTargets.Sdk` | -| `Microsoft.NET.Sdk.WebAssembly.Browser.targets` | 2 | `microsoft.net.sdk.webassembly.pack` (NuGet) | diff --git a/.research/native-coreclr-test-report.md b/.research/native-coreclr-test-report.md deleted file mode 100644 index 296ffbecf4621b..00000000000000 --- a/.research/native-coreclr-test-report.md +++ /dev/null @@ -1,593 +0,0 @@ -# Wasm.Build.Tests `native` Category — CoreCLR Test Run Report - -- **Date**: 2026-03-28 -- **Branch**: `maraf/WasmCoreCLRNativeBuild` -- **Runtime flavor**: CoreCLR -- **SDK**: `dotnet-none` (11.0.100-preview.2.26116.109, no workload) -- **Trait filter**: `-trait category=native -notrait category=workload` -- **Note**: `global.json` was temporarily patched from preview.3 → preview.2 to match the provisioned SDK. -- **Env var fix**: `RUNTIME_FLAVOR_FOR_TESTS=CoreCLR` (not `RUNTIME_FLAVOR`) is required for `AddCoreClrProjectProperties` to inject `UsingBrowserRuntimeWorkload=false` into test project csprojs. - -## Summary - -| Metric | Count | -|--------|-------| -| Total test cases | 311 | -| Passed | 16 | -| Failed | 295 | - -## Failure Breakdown - -| Failure Category | Count | Fixable? | -|-----------------|-------|----------| -| PASS | 16 | ✅ | -| XHARNESS_TOOL_MISSING | 89 | Yes — install xharness tool | -| TEMPLATE_MISSING | 38 | Yes — install workload or convert to CopyTestAsset | -| NETSDK1147_WORKLOAD_REQUIRED | 59 | Yes — propagate UsingBrowserRuntimeWorkload to referenced projects | -| PUBLISH_FAILED | 1 | Investigate — may be AOT/tooling gaps | -| BUILD_FAILED | 3 | Investigate | -| ASSERTION_FAILURE | 89 | Adapt tests for CoreCLR behavior | -| OTHER_FAILURE | 16 | Investigate | - -## PASS (16 tests) - -Tests that passed successfully with CoreCLR native relink. - -| # | Test | Time | -|---|------|------| -| 1 | `Wasm.Build.Tests.Blazor.BuildPublishTests.DefaultTemplate_AOT_WithWorkload(config: Release, testUnicode: False)` | 13.2987496s | -| 2 | `Wasm.Build.Tests.Blazor.BuildPublishTests.DefaultTemplate_AOT_WithWorkload(config: Release, testUnicode: True)` | 13.3041154s | -| 3 | `Wasm.Build.Tests.Blazor.MiscTests.BugRegression_60479_WithRazorClassLib` | 13.4360998s | -| 4 | `Wasm.Build.Tests.DllImportTests.UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(config: Debug, aot: False)` | 9.4662701s | -| 5 | `Wasm.Build.Tests.DllImportTests.UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(config: Release, aot: False)` | 9.1669601s | -| 6 | `Wasm.Build.Tests.MemoryTests.AllocateLargeHeapThenRepeatedlyInterop` | 1.2761189s | -| 7 | `Wasm.Build.Tests.MemoryTests.AllocateLargeHeapThenRepeatedlyInterop_NoWorkload` | 1.1917093s | -| 8 | `Wasm.Build.Tests.NativeBuildTests.ZipArchiveInteropTest` | 6.8610029s | -| 9 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable(config: Debug, aot: False)` | 6.6588891s | -| 10 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable(config: Release, aot: False)` | 6.7334908s | -| 11 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable(config: Debug, aot: False)` | 4.1707258s | -| 12 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable(config: Release, aot: False)` | 4.3321497s | -| 13 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: False, appHasAttribute: True, expectSuccess: True)` | 6.8793959s | -| 14 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: True, appHasAttribute: True, expectSuccess: True)` | 6.938768s | -| 15 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: False, appHasAttribute: True, expectSuccess: True)` | 6.9308685s | -| 16 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: True, appHasAttribute: True, expectSuccess: True)` | 6.7890862s | - -## XHARNESS_TOOL_MISSING (89 tests) - -`dotnet xharness` tool is not installed in `dotnet-none`. These tests **built successfully** (native relink worked) but failed at the run step because the xharness webserver tool is missing. Installing xharness into the SDK should make most of these pass. - -| # | Test | Error (truncated) | -|---|------|--------------------| -| 1 | `Wasm.Build.Tests.Blazor.BuildPublishTests.Test_WasmStripILAfterAOT(stripILAfterAOT: \"\", expectILStripping: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 2 | `Wasm.Build.Tests.Blazor.BuildPublishTests.Test_WasmStripILAfterAOT(stripILAfterAOT: \"false\", expectILStripping: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 3 | `Wasm.Build.Tests.Blazor.SimpleRunTests.BlazorPublishRunTest(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 4 | `Wasm.Build.Tests.Blazor.SimpleRunTests.BlazorPublishRunTest(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 5 | `Wasm.Build.Tests.Blazor.SimpleRunTests.BlazorPublishRunTest(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 6 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointersCompilesWithoutWarning(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 7 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointersCompilesWithoutWarning(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 8 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 9 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 10 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_WarningsAsMessages(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 11 | `Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_WarningsAsMessages(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 12 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 13 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 14 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 15 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 16 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 17 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 18 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 19 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 20 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 21 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 22 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 23 | `Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 24 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: False, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 25 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: False, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 26 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: False, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 27 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: True, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 28 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: True, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 29 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Debug, aot: True, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 30 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: False, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 31 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: False, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 32 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: False, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 33 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: True, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 34 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: True, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 35 | `Wasm.Build.Tests.InvariantTimezoneTests.AOT_InvariantTimezone(config: Release, aot: True, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 36 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 37 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 38 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 39 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Release, aot: False, invariantTimezone: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 40 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Release, aot: False, invariantTimezone: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 41 | `Wasm.Build.Tests.InvariantTimezoneTests.RelinkingWithoutAOT(config: Release, aot: False, invariantTimezone: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 42 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Debug, aot: False, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 43 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Debug, aot: False, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 44 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: False, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 45 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: False, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 46 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Debug, aot: False, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 47 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Debug, aot: False, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 48 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: False, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 49 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: False, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 50 | `Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 51 | `Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 52 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 53 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 54 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 55 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 56 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.BuildNativeInNonEnglishCulture(config: Debug, aot: False, culture: \"tr_TR.UTF-8\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 57 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.BuildNativeInNonEnglishCulture(config: Release, aot: False, culture: \"tr_TR.UTF-8\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 58 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UCOWithSpecialCharacters(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 59 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UCOWithSpecialCharacters(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 60 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallback_InFileType(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 61 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallback_InFileType(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 62 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallersOnly_Namespaced(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 63 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallersOnly_Namespaced(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 64 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 65 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 66 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 67 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 68 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 69 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Debug, aot: False, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 70 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 71 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 72 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 73 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 74 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 75 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: False, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files - | -| 76 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 77 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 78 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 79 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 80 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 81 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Debug, aot: False, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 82 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 83 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 84 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 85 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 86 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 87 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: False, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 88 | `Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Debug, aot: False, simd: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | -| 89 | `Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: False, simd: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\n | - -## TEMPLATE_MISSING (38 tests) - -`dotnet new wasmbrowser` template is not available without the `wasm-tools` workload. These tests use `CreateWasmTemplateProject` and cannot work with `dotnet-none`. They would need either workload installation or conversion to `CopyTestAsset`. - -| # | Test | Error (truncated) | -|---|------|--------------------| -| 1 | `Wasm.Build.Templates.Tests.NativeBuildTests.BuildWithUndefinedNativeSymbol(allowUndefined: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 2 | `Wasm.Build.Templates.Tests.NativeBuildTests.BuildWithUndefinedNativeSymbol(allowUndefined: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 3 | `Wasm.Build.Templates.Tests.NativeBuildTests.ProjectWithDllImportsRequiringMarshalIlGen_ArrayTypeParameter(config: Debug)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 4 | `Wasm.Build.Templates.Tests.NativeBuildTests.ProjectWithDllImportsRequiringMarshalIlGen_ArrayTypeParameter(config: Release)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 5 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: False, environmentLocale: \"fr-FR\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 6 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: False, environmentLocale: \"ja-JP\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 7 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: False, environmentLocale: \"sk-SK\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-AU\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 8 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: True, environmentLocale: \"fr-FR\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 9 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: True, environmentLocale: \"ja-JP\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 10 | `Wasm.Build.Tests.IcuShardingTests.AutomaticShardSelectionDependingOnEnvLocale(config: Release, aot: True, environmentLocale: \"sk-SK\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-AU\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 11 | `Wasm.Build.Tests.IcuShardingTests.CustomIcuShard(config: Release, aot: False, customIcuPath: \"/workspaces/runtime/artifacts/bin/Wasm.Build.Tests\"···, customLocales: \"new Locale[] {\\n new Locale(\\\"cy-GB\\\", \\\"D\"···, onlyPredefinedCultures: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 12 | `Wasm.Build.Tests.IcuShardingTests.CustomIcuShard(config: Release, aot: True, customIcuPath: \"/workspaces/runtime/artifacts/bin/Wasm.Build.Tests\"···, customLocales: \"new Locale[] {\\n new Locale(\\\"cy-GB\\\", \\\"D\"···, onlyPredefinedCultures: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 13 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \"icudt.dat\", testedLocales: \"new Locale[] {\\n \"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 14 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \"icudt_CJK.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 15 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \"icudt_EFIGS.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 16 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \"icudt_no_CJK.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-AU\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 17 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \"icudt.dat\", testedLocales: \"new Locale[] {\\n \"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 18 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \"icudt_CJK.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 19 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \"icudt_EFIGS.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 20 | `Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \"icudt_no_CJK.dat\", testedLocales: \"new Locale[] {\\n new Locale(\\\"en-AU\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 21 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: False, fullIcu: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 22 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: False, fullIcu: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 23 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: True, fullIcu: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 24 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: True, fullIcu: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 25 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: False, fullIcu: False, testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 26 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: False, fullIcu: True, testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 27 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: True, fullIcu: False, testedLocales: \"Array.Empty()\")` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 28 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: True, fullIcu: True, testedLocales: \"Array.Empty()\")` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 29 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: False, fullIcu: False, testedLocales: \"new Locale[] {\\n new Locale(\\\"en-US\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 30 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: False, fullIcu: True, testedLocales: \"new Locale[] {\\n new Locale(\\\"en-GB\\\", \\\"Su\"···)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 31 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: True, fullIcu: False, testedLocales: \"Array.Empty()\")` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 32 | `Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: True, fullIcu: True, testedLocales: \"Array.Empty()\")` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 33 | `Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(config: Debug, aot: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 34 | `Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(config: Release, aot: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 35 | `Wasm.Build.Tests.NativeBuildTests.IntermediateBitcodeToObjectFilesAreNotLLVMIR(config: Release, aot: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 36 | `Wasm.Build.Tests.NativeBuildTests.NativeBuildIsRequired(config: Release, aot: True)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 37 | `Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(config: Debug, aot: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | -| 38 | `Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(config: Release, aot: False)` | Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \nStandard Output:\n[] No templates or subcomm | - -## NETSDK1147_WORKLOAD_REQUIRED (59 tests) - -Build fails with NETSDK1147 "wasm-tools workload must be installed". This happens when referenced projects (e.g., LazyLibrary.csproj) use `Microsoft.NET.Sdk.WebAssembly` and the `UsingBrowserRuntimeWorkload=false` property is not propagated to them. - -| # | Test | Error (truncated) | -|---|------|--------------------| -| 1 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: False, extraCFlags: \"/p:EmccExtraCFlags=-g\", extraLDFlags: \"/p:EmccExtraLDFlags=-g\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 2 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: False, extraCFlags: \"/p:EmccExtraCFlags=-g\", extraLDFlags: \"\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 3 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: False, extraCFlags: \"\", extraLDFlags: \"/p:EmccExtraLDFlags=-g\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 4 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: True, extraCFlags: \"/p:EmccExtraCFlags=-g\", extraLDFlags: \"/p:EmccExtraLDFlags=-g\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 5 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: True, extraCFlags: \"/p:EmccExtraCFlags=-g\", extraLDFlags: \"\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 6 | `Wasm.Build.NativeRebuild.Tests.FlagsChangeRebuildTests.ExtraEmccFlagsSetButNoRealChange(config: Release, aot: True, extraCFlags: \"\", extraLDFlags: \"/p:EmccExtraLDFlags=-g\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 7 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NativeRelinkFailsWithInvariant` | Assert.Contains() Failure: Sub-string not found\nString: \"\\n** -------- publish -------- **\\n\\nBinlog \"···\nNot found: \"WasmBuildNative is re | -| 8 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Debug, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 9 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Debug, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 10 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Release, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 11 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Release, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 12 | `Wasm.Build.NativeRebuild.Tests.NoopNativeRebuildTest.NoOpRebuildForNativeBuilds(config: Release, aot: True, nativeRelink: False, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 13 | `Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: False, cflags: \"/p:EmccCompileOptimizationFlag=-O1\", ldflags: \"\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 14 | `Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: False, cflags: \"\", ldflags: \"/p:EmccLinkOptimizationFlag=-O1\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 15 | `Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: True, cflags: \"/p:EmccCompileOptimizationFlag=-O1\", ldflags: \"\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 16 | `Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: True, cflags: \"\", ldflags: \"/p:EmccLinkOptimizationFlag=-O1\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 17 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Debug, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 18 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Debug, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 19 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 20 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 21 | `Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: True, nativeRelink: False, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 22 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Debug, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 23 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Debug, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 24 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: False, nativeRelink: True, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 25 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: False, nativeRelink: True, invariant: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 26 | `Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: True, nativeRelink: False, invariant: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 27 | `Wasm.Build.Tests.BuildPublishTests.BuildThenPublishWithAOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Deb | -| 28 | `Wasm.Build.Tests.BuildPublishTests.Wasm_CannotAOT_InDebug(config: Debug, aot: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"AOT is not supported in deb | -| 29 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 30 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 31 | `Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 32 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: True, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 33 | `Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: True, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 34 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: True, args: [\"abc\", \"foobar\"])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 35 | `Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: True, args: [])` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 36 | `Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 37 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 38 | `Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 39 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureComInteropCompilesInAOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 40 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInAOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 41 | `Wasm.Build.Tests.SatelliteAssembliesTests.CheckThatSatelliteAssembliesAreNotAOTed(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 42 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: True, nativeRelink: False, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 43 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: True, nativeRelink: False, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 44 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromMainAssembly(config: Release, aot: True, nativeRelink: False, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 45 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: True, nativeRelink: True, argCulture: \"es-ES\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 46 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: True, nativeRelink: True, argCulture: \"ja-JP\")` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 47 | `Wasm.Build.Tests.SatelliteAssembliesTests.ResourcesFromProjectReference(config: Release, aot: True, nativeRelink: True, argCulture: null)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 48 | `Wasm.Build.Tests.WasmBuildAppTest.AsyncMain_AOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 49 | `Wasm.Build.Tests.WasmBuildAppTest.Bug49588_RegressionTest_AOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 50 | `Wasm.Build.Tests.WasmBuildAppTest.Bug49588_RegressionTest_NativeRelinking(config: Debug, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 51 | `Wasm.Build.Tests.WasmBuildAppTest.Bug49588_RegressionTest_NativeRelinking(config: Release, aot: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 52 | `Wasm.Build.Tests.WasmBuildAppTest.NonAsyncMain_AOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 53 | `Wasm.Build.Tests.WasmBuildAppTest.TopLevelMain_AOT(config: Release, aot: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 54 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"false\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Assembly loaded during LoggerInitializati\"···\nNot found: \"Stopping the build\" | -| 55 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Assembly loaded during LoggerInitializati\"···\nNot found: \"Stopping the build\" | -| 56 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"false\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"Stopping the build\" | -| 57 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"Stopping the build\" | -| 58 | `Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: True, simd: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | -| 59 | `Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: True, simd: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | - -## PUBLISH_FAILED (1 tests) - -`dotnet publish` command failed. These may be AOT-related failures (AOT not yet supported on CoreCLR WASM), NETSDK1147 on transitive project references, or other publish-time issues. - -| # | Test | Error (truncated) | -|---|------|--------------------| -| 1 | `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: False, publish: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/D | - -## BUILD_FAILED (3 tests) - -`dotnet build` command failed during the build step. - -| # | Test | Error (truncated) | -|---|------|--------------------| -| 1 | `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Debug, build: True, publish: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Deb | -| 2 | `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: True, publish: False)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Deb | -| 3 | `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: True, publish: True)` | Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Deb | - -## ASSERTION_FAILURE (89 tests) - -The test built and ran but the assertions did not match expected behavior. These indicate behavioral differences between CoreCLR and Mono WASM runtimes that may need test adaptation. - -| # | Test | Error (truncated) | -|---|------|--------------------| -| 1 | `Wasm.Build.Tests.Blazor.BuildPublishTests.BlazorWasm_CannotAOT_InDebug(config: Debug)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 2 | `Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(config: Release)` | Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"Microsoft.JSInterop.dll -> | -| 3 | `Wasm.Build.Tests.Blazor.NativeTests.BlazorWasm_CannotAOT_WithNoTrimming(config: Release)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 4 | `Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Debug, aot: False)` | Assert.Matches() Failure: Pattern not found in value\nRegex: \"warning.*native function.*sum.*varargs\"\nValue: \"Assembly loaded during LoggerInitial | -| 5 | `Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Release, aot: False)` | Assert.Matches() Failure: Pattern not found in value\nRegex: \"warning.*native function.*sum.*varargs\"\nValue: \"Property reassignment: $(MSBuildProj | -| 6 | `Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: False)` | Assert.Equal() Failure: Values differ\nExpected: True\nActual: False | -| 7 | `Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: True)` | Assert.Equal() Failure: Values differ\nExpected: True\nActual: False | -| 8 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(config: Debug, aot: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 9 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(config: Release, aot: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 10 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: False, appHasAttribute: False, expectSuccess: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 11 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: True, appHasAttribute: False, expectSuccess: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 12 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: False, appHasAttribute: False, expectSuccess: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 13 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: True, appHasAttribute: False, expectSuccess: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 14 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 17 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 18 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 21 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 22 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 23 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 24 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 25 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 26 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 27 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 30 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 31 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"false\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 32 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 35 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 36 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 37 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 38 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 39 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 40 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 41 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 44 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 45 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 48 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 49 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 50 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 51 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 52 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 53 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 54 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 57 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 58 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"false\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 59 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"falsetruefalse\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 62 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"true\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 63 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 64 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 65 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 66 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 67 | `Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \"\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 68 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Debug, extraProperties: \"falsefalse\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 70 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Debug, extraProperties: \"truetrue\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 72 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Release, extraProperties: \"falsefalse\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 74 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Release, extraProperties: \"truetrue\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 76 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \"falsefalse\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 78 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \"truetrue\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 80 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Release, extraProperties: \"falsefalse\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 82 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Release, extraProperties: \"truetrue\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 84 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Debug, extraProperties: \"\", publish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 85 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Debug, extraProperties: \"\", publish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 86 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Release, extraProperties: \"false\", publish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 87 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Release, extraProperties: \"\", publish: False)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 88 | `Wasm.Build.Tests.WasmNativeDefaultsTests.WithNativeReference(config: Release, extraProperties: \"\", publish: True)` | Build should have failed, but it didn't. Process exited with exitCode : 0 | -| 89 | `Wasm.Build.Tests.WorkloadTests.FilesInUnixFilesPermissionsXmlExist` | Assert.Contains() Failure: Filter not matched in collection\nCollection: [] | - -## OTHER_FAILURE (16 tests) - -Other failures not fitting the above categories. - -| # | Test | Error (truncated) | -|---|------|--------------------| -| 1 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNative_ThenBuildNonNative_ThenClean(config: Debug)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Debug_True_g | -| 2 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNative_ThenBuildNonNative_ThenClean(config: Release)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Release_True | -| 3 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNoNative_ThenBuildNative_ThenClean(config: Debug)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Debug_True_f | -| 4 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNoNative_ThenBuildNative_ThenClean(config: Release)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Release_True | -| 5 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildThenClean_NativeRelinking(config: Debug)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_Debug_True_2f5mjowm | -| 6 | `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildThenClean_NativeRelinking(config: Release)` | Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_Release_True_a2z5vh | -| 7 | `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorNoopRebuild(config: Debug)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | -| 8 | `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorNoopRebuild(config: Release)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | -| 9 | `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorOnlyLinkRebuild(config: Debug)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | -| 10 | `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorOnlyLinkRebuild(config: Release)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | -| 11 | `Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Debug, aot: False, libraryNames: [\"with-hyphen\", \"with#hash-and-hyphen\", \"with.per.iod\", \"with🚀unicode#\"])` | System.Exception : Expected exit code 42 but got 1.\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'wi | -| 12 | `Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Release, aot: False, libraryNames: [\"with-hyphen\", \"with#hash-and-hyphen\", \"with.per.iod\", \"with🚀unicode#\"])` | System.Exception : Expected exit code 42 but got 1.\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'wi | -| 13 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(config: Debug, aot: False)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | -| 14 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(config: Release, aot: False)` | System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/w | -| 15 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Debug, aot: False)` | System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.W | -| 16 | `Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Release, aot: False)` | System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.W | - -## Appendix: Full Error Messages for Key Failures - -### `Wasm.Build.Tests.Blazor.BuildPublishTests.BlazorWasm_CannotAOT_InDebug(config: Debug)` - -**Category**: ASSERTION_FAILURE - -**Message**: -``` -Build should have failed, but it didn't. Process exited with exitCode : 0 -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178 - at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242 - at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests -``` - -### `Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNative_ThenBuildNonNative_ThenClean(config: Debug)` - -**Category**: OTHER_FAILURE - -**Message**: -``` -Could not find expected relink dir: /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/clean_native_Debug_True_gwykxyob_1vm/App/obj/Debug/net11.0/wasm/for-build -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNativeNonNative_ThenCleanTest(Configuration config, Boolean firstBuildNative) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs:line 71 - at Wasm.Build.Tests.Blazor.CleanTests.Blazor_BuildNative_ThenBuildNonNative_ThenClean(Configuration config) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs:line 56 - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) - at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Me -``` - -### `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Debug, build: True, publish: False)` - -**Category**: BUILD_FAILED - -**Message**: -``` - Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/BlazorBasicTestApp-build.binlog -p:Configuration=Debug -nr:false -p:WasmEnableHotReload=false /warnaserror \nStandard Output:\n[] \n[] Determining projects to restore...\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/App/BlazorBasicTestApp.csproj (in 631 ms).\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/App/BlazorBasicTestApp.csproj]\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/App/bin/Debug/net11.0/BlazorBasicTestApp.dll\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_鿀蜒枛遫䡫煉build_Debug_False_yfy4iz14_uc0/App/bin/Debug/net11.0/wwwroot\n[] /workspaces/runt -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51 - at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28 - at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176 - at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFinger -``` - -### `Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: False, publish: True)` - -**Category**: PUBLISH_FAILED - -**Message**: -``` - Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_False_ra45311g_kr2/BlazorBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false /warnaserror \nStandard Output:\n[] \n[] Determining projects to restore...\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_False_ra45311g_kr2/App/BlazorBasicTestApp.csproj (in 690 ms).\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_False_ra45311g_kr2/App/BlazorBasicTestApp.csproj]\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_False_ra45311g_kr2/App/bin/Release/net11.0/BlazorBasicTestApp.dll\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_鿀蜒枛遫䡫煉publish_Release_Fa -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51 - at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28 - at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176 - at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFinger -``` - -### `Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(config: Release)` - -**Category**: ASSERTION_FAILURE - -**Message**: -``` -Assert.Contains() Failure: Sub-string not found\nString: \"Property reassignment: $(MSBuildProjectEx\"···\nNot found: \"Microsoft.JSInterop.dll -> Microsoft.JSIn\"··· -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.BlazorWasmTestBase.AssertBundle(Configuration config, String buildOutput, MSBuildOptions buildOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/BlazorWasmTestBase.cs:line 171 - at Wasm.Build.Tests.BlazorWasmTestBase.BlazorPublish(ProjectInfo info, Configuration config, PublishOptions publishOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/BlazorWasmTestBase.cs:line 148 - at Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(Configuration config) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs:line 75 - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstruct -``` - -### `Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorNoopRebuild(config: Debug)` - -**Category**: OTHER_FAILURE - -**Message**: -``` -System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_rebuild_Debug_False_egtjyytj_qg4/App/obj/Debug/net11.0/wasm'. -``` - -**Stack trace** (truncated): -``` - at System.IO.Enumeration.FileSystemEnumerator`1.Init() - at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions enumerationOptions) - at Wasm.Build.Tests.ProjectProviderBase.GetFilesTable(Boolean unchanged, String[] baseDirs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ProjectProviderBase.cs:line 334 - at Wasm.Build.Tests.Blazor.NoopNativeRebuildTest.BlazorNoopRebuild(Configuration config) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs:line 35 - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOn -``` - -### `Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Debug, aot: False, libraryNames: [\"with-hyphen\", \"with#hash-and-hyphen\", \"with.per.iod\", \"with🚀unicode#\"])` - -**Category**: OTHER_FAILURE - -**Message**: -``` -System.Exception : Expected exit code 42 but got 1.\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'with-hyphen' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: \ndynamic linking not enabled\n\n at Program.
$(String[] args) in /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Debug_False_xg1yxqb3_zeu/App/Common/Program.cs:line 4 -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 454 ---- End of stack trace from previous location --- - at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 456 - at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRunTest(String runArgs, String workingDirectory, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 397 - at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(RunOptions runOptions) in /workspaces/runtime/src/mo -``` - -### `Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Debug, aot: False)` - -**Category**: ASSERTION_FAILURE - -**Message**: -``` -Assert.Matches() Failure: Pattern not found in value\nRegex: \"warning.*native function.*sum.*varargs\"\nValue: \"Assembly loaded during LoggerInitialization (Micro\"··· -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs:line 32 ---- End of stack trace from previous location --- ---- End of stack trace from previous location --- -``` - -### `Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: False)` - -**Category**: ASSERTION_FAILURE - -**Message**: -``` -Assert.Equal() Failure: Values differ\nExpected: True\nActual: False -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmittedCore(Boolean emitSymbolMap, Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 156 - at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 131 - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) - at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) - at System.Reflect -``` - -### `Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Debug, aot: False)` - -**Category**: OTHER_FAILURE - -**Message**: -``` -System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.WebAssembly.Sdk/11.0.0-dev/tasks -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 240 - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) - at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) - at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr) -``` - -### `Wasm.Build.Tests.WorkloadTests.FilesInUnixFilesPermissionsXmlExist` - -**Category**: ASSERTION_FAILURE - -**Message**: -``` -Assert.Contains() Failure: Filter not matched in collection\nCollection: [] -``` - -**Stack trace** (truncated): -``` - at Wasm.Build.Tests.WorkloadTests.FilesInUnixFilesPermissionsXmlExist() in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs:line 68 - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) - at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result) - at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args) - at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr) -``` - diff --git a/.research/native-coreclr-test-results.json b/.research/native-coreclr-test-results.json deleted file mode 100644 index a6b16bc7b4524a..00000000000000 --- a/.research/native-coreclr-test-results.json +++ /dev/null @@ -1,3124 +0,0 @@ -{ - "run_date": "2026-03-28", - "branch": "maraf/WasmCoreCLRNativeBuild", - "runtime_flavor": "CoreCLR", - "sdk": "dotnet-none (11.0.100-preview.2.26116.109)", - "workload_installed": false, - "global_json_patched": true, - "trait_filter": "-trait category=native -notrait category=workload", - "total": 311, - "passed": 16, - "failed": 295, - "tests": [ - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: True, fullIcu: True, testedLocales: \\\"Array.Empty()\\\")", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithInvariant", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2840919", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: True, fullIcu: False, testedLocales: \\\"Array.Empty()\\\")", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithInvariant", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2532428", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: False, fullIcu: False, testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-US\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithInvariant", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2548622", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: False, invariant: False, fullIcu: True, testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-GB\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithInvariant", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2523275", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: True, fullIcu: True, testedLocales: \\\"Array.Empty()\\\")", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithInvariant", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2546896", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: True, fullIcu: False, testedLocales: \\\"Array.Empty()\\\")", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithInvariant", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2584657", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: False, fullIcu: False, testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-US\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithInvariant", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2535997", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithInvariant(config: Release, aot: True, invariant: False, fullIcu: True, testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-GB\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithInvariant", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2642583", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: False, fullIcu: False)", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithCustomIcu", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2702999", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: False, fullIcu: True)", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithCustomIcu", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2506878", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: True, fullIcu: False)", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithCustomIcu", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2542129", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuTests.FullIcuFromRuntimePackWithCustomIcu(config: Release, aot: True, fullIcu: True)", - "type": "Wasm.Build.Tests.IcuTests", - "method": "FullIcuFromRuntimePackWithCustomIcu", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2729422", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.Blazor.NativeTests.BlazorWasm_CannotAOT_WithNoTrimming(config: Release)", - "type": "Wasm.Build.Tests.Blazor.NativeTests", - "method": "BlazorWasm_CannotAOT_WithNoTrimming", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "11.8964694", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.BlazorWasmTestBase.BlazorPublish(ProjectInfo info, Configuration config, PublishOptions publishOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mon" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Debug, aot: False, nativeRelink: True, invariant: False)", - "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", - "method": "ReferenceNewAssembly", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2101543", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Debug_False_u0esul4h_vqm/WasmBasicTestApp-publish.binlog -p:Configuration=Debug -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Debug_False_u0esul4h_vqm/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Debug_False_u0esul4h_vqm/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: False, nativeRelink: True, invariant: False)", - "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", - "method": "ReferenceNewAssembly", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2277056", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Release_False_d4pvahdu_bzk/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_False_d4pvahdu_bzk/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_False_d4pvahdu_bzk/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Debug, aot: False, nativeRelink: True, invariant: True)", - "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", - "method": "ReferenceNewAssembly", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.1874073", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Debug_False_zt12u13b_qru/WasmBasicTestApp-publish.binlog -p:Configuration=Debug -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True -p:InvariantGlobalization=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Debug_False_zt12u13b_qru/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Debug_False_zt12u13b_qru/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: False, nativeRelink: True, invariant: True)", - "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", - "method": "ReferenceNewAssembly", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2462833", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Release_False_e1gpbg2w_zgq/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True -p:InvariantGlobalization=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_False_e1gpbg2w_zgq/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_False_e1gpbg2w_zgq/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest.ReferenceNewAssembly(config: Release, aot: True, nativeRelink: False, invariant: False)", - "type": "Wasm.Build.NativeRebuild.Tests.ReferenceNewAssemblyRebuildTest", - "method": "ReferenceNewAssembly", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2174932", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_tasks_Release_True_df2jcv5c_jx0/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_True_df2jcv5c_jx0/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_tasks_Release_True_df2jcv5c_jx0/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Debug, aot: False, args: [\\\"abc\\\", \\\"foobar\\\"])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "AsyncMainWithArgs", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "10.0921038", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Debug, aot: False, args: [])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "AsyncMainWithArgs", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "10.1251472", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: False, args: [\\\"abc\\\", \\\"foobar\\\"])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "AsyncMainWithArgs", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.3979533", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: False, args: [])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "AsyncMainWithArgs", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.4110387", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: True, args: [\\\"abc\\\", \\\"foobar\\\"])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "AsyncMainWithArgs", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.1926722", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/async_main_with_args_Release_True_vntngc13_dq2/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/async_main_with_args_Release_True_vntngc13_dq2/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/async_main_with_args_Release_True_vntngc13_dq2/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.AsyncMainWithArgs(config: Release, aot: True, args: [])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "AsyncMainWithArgs", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2345672", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/async_main_with_args_Release_True_1eglbvna_ah3/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/async_main_with_args_Release_True_1eglbvna_ah3/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/async_main_with_args_Release_True_1eglbvna_ah3/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Debug, aot: False, args: [\\\"abc\\\", \\\"foobar\\\"])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "NonAsyncMainWithArgs", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.6686514", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Debug, aot: False, args: [])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "NonAsyncMainWithArgs", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.8081485", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: False, args: [\\\"abc\\\", \\\"foobar\\\"])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "NonAsyncMainWithArgs", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.1869971", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: False, args: [])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "NonAsyncMainWithArgs", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.7421142", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: True, args: [\\\"abc\\\", \\\"foobar\\\"])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "NonAsyncMainWithArgs", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.1992402", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/non_async_main_args_Release_True_whvhgabv_ipd/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/non_async_main_args_Release_True_whvhgabv_ipd/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/non_async_main_args_Release_True_whvhgabv_ipd/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.MainWithArgsTests.NonAsyncMainWithArgs(config: Release, aot: True, args: [])", - "type": "Wasm.Build.Tests.MainWithArgsTests", - "method": "NonAsyncMainWithArgs", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2574845", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/non_async_main_args_Release_True_1dokkkg5_cyo/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/non_async_main_args_Release_True_1dokkkg5_cyo/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/non_async_main_args_Release_True_1dokkkg5_cyo/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.BuildPublishTests.Wasm_CannotAOT_InDebug(config: Debug, aot: True)", - "type": "Wasm.Build.Tests.BuildPublishTests", - "method": "Wasm_CannotAOT_InDebug", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2210374", - "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Property reassignment: $(MSBuildProjectEx\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"AOT is not supported in debug configurati\\\"\u00b7\u00b7\u00b7", - "stack_trace": " at Wasm.Build.Tests.BuildPublishTests.Wasm_CannotAOT_InDebug(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs:line 31\n at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)\n at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)" - }, - { - "name": "Wasm.Build.Tests.BuildPublishTests.BuildThenPublishWithAOT(config: Release, aot: True)", - "type": "Wasm.Build.Tests.BuildPublishTests", - "method": "BuildThenPublishWithAOT", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2025258", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/build_publish_Release_True_4qsvhmbn_mfi/WasmBasicTestApp-first_build-build.binlog -p:Configuration=Release -nr:false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/build_publish_Release_True_4qsvhmbn_mfi/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/build_publish_Release_True_4qsvhmbn_mfi/LazyLibrary/LazyLibrary.csproj]\\n[] \\n[] Build FAILED.\\n[] \\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/build_publish_Release_True_4qsvhmbn_mfi/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configurati" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: False, cflags: \\\"/p:EmccCompileOptimizationFlag=-O1\\\", ldflags: \\\"\\\")", - "type": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests", - "method": "OptimizationFlagChange", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2045087", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_flags_Release_False_1t2hzm4d_se2/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true /p:_WasmDevel=false -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_False_1t2hzm4d_se2/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_False_1t2hzm4d_se2/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: False, cflags: \\\"\\\", ldflags: \\\"/p:EmccLinkOptimizationFlag=-O1\\\")", - "type": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests", - "method": "OptimizationFlagChange", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2225773", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_flags_Release_False_xfy3noif_tzu/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true /p:_WasmDevel=false -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_False_xfy3noif_tzu/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_False_xfy3noif_tzu/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: True, cflags: \\\"/p:EmccCompileOptimizationFlag=-O1\\\", ldflags: \\\"\\\")", - "type": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests", - "method": "OptimizationFlagChange", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2092079", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_flags_Release_True_4pl4cpsu_qi2/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true /p:_WasmDevel=false -p:WasmBuildNative=True -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_True_4pl4cpsu_qi2/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_True_4pl4cpsu_qi2/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests.OptimizationFlagChange(config: Release, aot: True, cflags: \\\"\\\", ldflags: \\\"/p:EmccLinkOptimizationFlag=-O1\\\")", - "type": "Wasm.Build.NativeRebuild.Tests.OptimizationFlagChangeTests", - "method": "OptimizationFlagChange", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2090231", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_flags_Release_True_hvnl5qh1_sj1/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true /p:_WasmDevel=false -p:WasmBuildNative=True -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_True_hvnl5qh1_sj1/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_flags_Release_True_hvnl5qh1_sj1/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.MemoryTests.AllocateLargeHeapThenRepeatedlyInterop", - "type": "Wasm.Build.Tests.MemoryTests", - "method": "AllocateLargeHeapThenRepeatedlyInterop", - "result": "Pass", - "category": "PASS", - "time": "1.2761189", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.MemoryTests.AllocateLargeHeapThenRepeatedlyInterop_NoWorkload", - "type": "Wasm.Build.Tests.MemoryTests", - "method": "AllocateLargeHeapThenRepeatedlyInterop_NoWorkload", - "result": "Pass", - "category": "PASS", - "time": "1.1917093", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Debug, aot: False, nativeRelink: True, invariant: False)", - "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", - "method": "SimpleStringChangeInSource", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2289325", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Debug_False_uxkmizmy_1ru/WasmBasicTestApp-publish.binlog -p:Configuration=Debug -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Debug_False_uxkmizmy_1ru/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Debug_False_uxkmizmy_1ru/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: False, nativeRelink: True, invariant: False)", - "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", - "method": "SimpleStringChangeInSource", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2006862", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Release_False_t5rt3v5n_iql/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_False_t5rt3v5n_iql/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_False_t5rt3v5n_iql/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Debug, aot: False, nativeRelink: True, invariant: True)", - "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", - "method": "SimpleStringChangeInSource", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2149323", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Debug_False_mijjx4ia_mzq/WasmBasicTestApp-publish.binlog -p:Configuration=Debug -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True -p:InvariantGlobalization=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Debug_False_mijjx4ia_mzq/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Debug_False_mijjx4ia_mzq/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: False, nativeRelink: True, invariant: True)", - "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", - "method": "SimpleStringChangeInSource", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2220698", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Release_False_eyvtzdix_4us/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:WasmBuildNative=True -p:InvariantGlobalization=True \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_False_eyvtzdix_4us/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_False_eyvtzdix_4us/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest.SimpleStringChangeInSource(config: Release, aot: True, nativeRelink: False, invariant: False)", - "type": "Wasm.Build.NativeRebuild.Tests.SimpleSourceChangeRebuildTest", - "method": "SimpleStringChangeInSource", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2252032", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/rebuild_simple_Release_True_gucw3jrm_4fu/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:_WasmDevel=true -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_True_gucw3jrm_4fu/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/rebuild_simple_Release_True_gucw3jrm_4fu/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.7525782", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(config: Release, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.4087551", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings", - "result": "Pass", - "category": "PASS", - "time": "9.4662701", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(config: Release, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings", - "result": "Pass", - "category": "PASS", - "time": "9.1669601", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_WarningsAsMessages(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "DllImportWithFunctionPointers_WarningsAsMessages", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.9120617", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointers_WarningsAsMessages(config: Release, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "DllImportWithFunctionPointers_WarningsAsMessages", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.7772266", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Debug, aot: False, libraryNames: [\\\"with-hyphen\\\", \\\"with#hash-and-hyphen\\\", \\\"with.per.iod\\\", \\\"with\ud83d\ude80unicode#\\\"])", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames", - "result": "Fail", - "category": "OTHER_FAILURE", - "time": "6.9184461", - "message": "System.Exception : Expected exit code 42 but got 1.\\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'with-hyphen' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: \\ndynamic linking not enabled\\n\\n at Program.
$(String[] args) in /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Debug_False_xg1yxqb3_zeu/App/Common/Program.cs:line 4", - "stack_trace": " at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 454\n--- End of stack trace from previous location ---\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 456\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRunTest(String runArgs, String workingDirectory, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 397\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 368\n at Wasm.Build.Tests.WasmTemplateTestsBase.RunForBuildWithDotnetRun(RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/W" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(config: Release, aot: False, libraryNames: [\\\"with-hyphen\\\", \\\"with#hash-and-hyphen\\\", \\\"with.per.iod\\\", \\\"with\ud83d\ude80unicode#\\\"])", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames", - "result": "Fail", - "category": "OTHER_FAILURE", - "time": "10.0352903", - "message": "System.Exception : Expected exit code 42 but got 1.\\nconsoleOutput=Unhandled exception. System.DllNotFoundException: Unable to load shared library 'with-hyphen' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: \\ndynamic linking not enabled\\n\\n at Program.
$(String[] args)", - "stack_trace": " at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 454\n--- End of stack trace from previous location ---\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 456\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRunTest(String runArgs, String workingDirectory, RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 397\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 368\n at Wasm.Build.Tests.WasmTemplateTestsBase.RunForBuildWithDotnetRun(RunOptions runOptions) in /workspaces/runtime/src/mono/wasm/W" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointersCompilesWithoutWarning(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "DllImportWithFunctionPointersCompilesWithoutWarning", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.4707789", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.DllImportWithFunctionPointersCompilesWithoutWarning(config: Release, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "DllImportWithFunctionPointersCompilesWithoutWarning", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.3625583", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "NativeLibraryWithVariadicFunctions", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.654993", - "message": "Assert.Matches() Failure: Pattern not found in value\\nRegex: \\\"warning.*native function.*sum.*varargs\\\"\\nValue: \\\"Assembly loaded during LoggerInitialization (Micro\\\"\u00b7\u00b7\u00b7", - "stack_trace": " at Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs:line 32\n--- End of stack trace from previous location ---\n--- End of stack trace from previous location ---" - }, - { - "name": "Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(config: Release, aot: False)", - "type": "Wasm.Build.Tests.DllImportTests", - "method": "NativeLibraryWithVariadicFunctions", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.1467761", - "message": "Assert.Matches() Failure: Pattern not found in value\\nRegex: \\\"warning.*native function.*sum.*varargs\\\"\\nValue: \\\"Property reassignment: $(MSBuildProjectExtensionsP\\\"\u00b7\u00b7\u00b7", - "stack_trace": " at Wasm.Build.Tests.DllImportTests.NativeLibraryWithVariadicFunctions(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs:line 32\n--- End of stack trace from previous location ---\n--- End of stack trace from previous location ---" - }, - { - "name": "Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: True, simd: True)", - "type": "Wasm.Build.Tests.WasmSIMDTests", - "method": "PublishSIMD_AOT", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2255251", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/simd_publish_Release_True_nxhgnpep_4wd/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:WasmEnableSIMD=True -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/simd_publish_Release_True_nxhgnpep_4wd/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/simd_publish_Release_True_nxhgnpep_4wd/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Debug, aot: False, simd: True)", - "type": "Wasm.Build.Tests.WasmSIMDTests", - "method": "PublishSIMD_AOT", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.8151471", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: False, simd: True)", - "type": "Wasm.Build.Tests.WasmSIMDTests", - "method": "PublishSIMD_AOT", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.3619935", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.WasmSIMDTests.PublishSIMD_AOT(config: Release, aot: True, simd: False)", - "type": "Wasm.Build.Tests.WasmSIMDTests", - "method": "PublishSIMD_AOT", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2351547", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/simd_publish_Release_True_owk2c0of_nfo/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:WasmEnableSIMD=False -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/simd_publish_Release_True_owk2c0of_nfo/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/simd_publish_Release_True_owk2c0of_nfo/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: null)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "RelinkingWithoutAOT", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.7990675", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: False)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "RelinkingWithoutAOT", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.7553587", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Debug, aot: False, invariantGlobalization: True)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "RelinkingWithoutAOT", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.9740533", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: null)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "RelinkingWithoutAOT", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.4767981", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: False)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "RelinkingWithoutAOT", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.3528349", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.RelinkingWithoutAOT(config: Release, aot: False, invariantGlobalization: True)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "RelinkingWithoutAOT", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.1936442", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: null)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "AOT_InvariantGlobalization", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.5050396", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: False)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "AOT_InvariantGlobalization", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.5416578", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Debug, aot: False, invariantGlobalization: True)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "AOT_InvariantGlobalization", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.6622417", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: null)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "AOT_InvariantGlobalization", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.4035639", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: False)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "AOT_InvariantGlobalization", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.4341823", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: False, invariantGlobalization: True)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "AOT_InvariantGlobalization", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.2336705", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: null)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "AOT_InvariantGlobalization", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.1980815", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/invariant_unset_Release_True_hphpdhfr_zec/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_unset_Release_True_hphpdhfr_zec/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_unset_Release_True_hphpdhfr_zec/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: False)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "AOT_InvariantGlobalization", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2074426", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/invariant_False_Release_True_zw5siyl4_dvf/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_False_Release_True_zw5siyl4_dvf/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_False_Release_True_zw5siyl4_dvf/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.InvariantGlobalizationTests.AOT_InvariantGlobalization(config: Release, aot: True, invariantGlobalization: True)", - "type": "Wasm.Build.Tests.InvariantGlobalizationTests", - "method": "AOT_InvariantGlobalization", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2073737", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/invariant_True_Release_True_x3lpyuwo_snp/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_True_Release_True_x3lpyuwo_snp/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/invariant_True_Release_True_x3lpyuwo_snp/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: False)", - "type": "Wasm.Build.Tests.ModuleConfigTests", - "method": "SymbolMapFileEmitted", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.1483926", - "message": "Assert.Equal() Failure: Values differ\\nExpected: True\\nActual: False", - "stack_trace": " at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmittedCore(Boolean emitSymbolMap, Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 156\n at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 131\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)\n at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)" - }, - { - "name": "Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(isPublish: True)", - "type": "Wasm.Build.Tests.ModuleConfigTests", - "method": "SymbolMapFileEmitted", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.2537222", - "message": "Assert.Equal() Failure: Values differ\\nExpected: True\\nActual: False", - "stack_trace": " at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmittedCore(Boolean emitSymbolMap, Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 156\n at Wasm.Build.Tests.ModuleConfigTests.SymbolMapFileEmitted(Boolean isPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs:line 131\n at InvokeStub_ModuleConfigTests.SymbolMapFileEmitted(Object, Span`1)\n at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" - }, - { - "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \\\"icudt.dat\\\", testedLocales: \\\"new Locale[] {\\\\n \\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuShardingTests2", - "method": "DefaultAvailableIcuShardsFromRuntimePack", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2540746", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \\\"icudt_EFIGS.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-US\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuShardingTests2", - "method": "DefaultAvailableIcuShardsFromRuntimePack", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2519657", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \\\"icudt_CJK.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-GB\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuShardingTests2", - "method": "DefaultAvailableIcuShardsFromRuntimePack", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2520117", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: False, shardName: \\\"icudt_no_CJK.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-AU\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuShardingTests2", - "method": "DefaultAvailableIcuShardsFromRuntimePack", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2506762", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \\\"icudt.dat\\\", testedLocales: \\\"new Locale[] {\\\\n \\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuShardingTests2", - "method": "DefaultAvailableIcuShardsFromRuntimePack", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2591768", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \\\"icudt_EFIGS.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-US\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuShardingTests2", - "method": "DefaultAvailableIcuShardsFromRuntimePack", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2638398", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \\\"icudt_CJK.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-GB\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuShardingTests2", - "method": "DefaultAvailableIcuShardsFromRuntimePack", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2643748", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.IcuShardingTests2.DefaultAvailableIcuShardsFromRuntimePack(config: Release, aot: True, shardName: \\\"icudt_no_CJK.dat\\\", testedLocales: \\\"new Locale[] {\\\\n new Locale(\\\\\\\"en-AU\\\\\\\", \\\\\\\"Su\\\"\u00b7\u00b7\u00b7)", - "type": "Wasm.Build.Tests.IcuShardingTests2", - "method": "DefaultAvailableIcuShardsFromRuntimePack", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.252097", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.IcuTestsBase.CreateIcuProject(Configuration config, Template templateType, Boolean aot, String testedLocales, String extraProperties, Boolean onlyPredefinedCultures) in /workspaces/run" - }, - { - "name": "Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(config: Release)", - "type": "Wasm.Build.Tests.Blazor.MiscTests", - "method": "DefaultTemplate_AOT_InProjectFile", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "13.1696334", - "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Property reassignment: $(MSBuildProjectEx\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Microsoft.JSInterop.dll -> Microsoft.JSIn\\\"\u00b7\u00b7\u00b7", - "stack_trace": " at Wasm.Build.Tests.BlazorWasmTestBase.AssertBundle(Configuration config, String buildOutput, MSBuildOptions buildOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/BlazorWasmTestBase.cs:line 171\n at Wasm.Build.Tests.BlazorWasmTestBase.BlazorPublish(ProjectInfo info, Configuration config, PublishOptions publishOptions, Nullable`1 isNativeBuild) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/BlazorWasmTestBase.cs:line 148\n at Wasm.Build.Tests.Blazor.MiscTests.DefaultTemplate_AOT_InProjectFile(Configuration config) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs:line 75\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n " - }, - { - "name": "Wasm.Build.Tests.Blazor.MiscTests.BugRegression_60479_WithRazorClassLib", - "type": "Wasm.Build.Tests.Blazor.MiscTests", - "method": "BugRegression_60479_WithRazorClassLib", - "result": "Pass", - "category": "PASS", - "time": "13.4360998", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Debug, build: True, publish: False)", - "type": "Wasm.Build.Tests.Blazor.DllImportTests", - "method": "WithDllImportInMainAssembly", - "result": "Fail", - "category": "BUILD_FAILED", - "time": "3.3108952", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/BlazorBasicTestApp-build.binlog -p:Configuration=Debug -nr:false -p:WasmEnableHotReload=false /warnaserror \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/App/BlazorBasicTestApp.csproj (in 631 ms).\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/App/BlazorBasicTestApp.csproj]\\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/App/bin/Debug/net11.0/BlazorBasicTestApp.dll\\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/App/bin/Debug/net11.0/wwwroot\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk-manifests/11.0.100/microsoft.net.workload.mono.toolchain.current/11.0.100-preview.2.26116.109/WorkloadManifest.targets(125,5): error : @(NativeFileReference) is not empty, but the native references won't be linked in, because neither $(WasmBuildNative), nor $(RunAOTCompilation) are 'true'. NativeFileReference=mylib.cpp [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Debug_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Debug_False_yfy4iz14_uc0/A", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configurati" - }, - { - "name": "Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: True, publish: False)", - "type": "Wasm.Build.Tests.Blazor.DllImportTests", - "method": "WithDllImportInMainAssembly", - "result": "Fail", - "category": "BUILD_FAILED", - "time": "3.3292453", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/BlazorBasicTestApp-build.binlog -p:Configuration=Release -nr:false -p:WasmEnableHotReload=false /warnaserror \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/App/BlazorBasicTestApp.csproj (in 662 ms).\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/App/BlazorBasicTestApp.csproj]\\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/App/bin/Release/net11.0/BlazorBasicTestApp.dll\\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_Release_False_qk3ybekh_cqg/App/bin/Release/net11.0/wwwroot\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk-manifests/11.0.100/microsoft.net.workload.mono.toolchain.current/11.0.100-preview.2.26116.109/WorkloadManifest.targets(125,5): error : @(NativeFileReference) is not empty, but the native references won't be linked in, because neither $(WasmBuildNative), nor $(RunAOTCompilation) are 'true'. NativeFileReference=mylib.cpp [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149buil", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configurati" - }, - { - "name": "Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: False, publish: True)", - "type": "Wasm.Build.Tests.Blazor.DllImportTests", - "method": "WithDllImportInMainAssembly", - "result": "Fail", - "category": "PUBLISH_FAILED", - "time": "10.4809131", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/BlazorBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false /warnaserror \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/App/BlazorBasicTestApp.csproj (in 690 ms).\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/App/BlazorBasicTestApp.csproj]\\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/App/bin/Release/net11.0/BlazorBasicTestApp.dll\\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149publish_Release_False_ra45311g_kr2/App/bin/Release/net11.0/wwwroot\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk-manifests/11.0.100/microsoft.net.workload.mono.toolchain.current/11.0.100-preview.2.26116.109/WorkloadManifest.targets(125,5): error : @(NativeFileReference) is not empty, but the native references won't be linked in, because neither $(WasmBuildNative), nor $(RunAOTCompilation) are 'true'. NativeFileReference=mylib.cpp [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.Blazor.DllImportTests.WithDllImportInMainAssembly(config: Release, build: True, publish: True)", - "type": "Wasm.Build.Tests.Blazor.DllImportTests", - "method": "WithDllImportInMainAssembly", - "result": "Fail", - "category": "BUILD_FAILED", - "time": "3.3523722", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet build -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/BlazorBasicTestApp-build.binlog -p:Configuration=Release -nr:false -p:WasmEnableHotReload=false /warnaserror \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] Restored /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/App/BlazorBasicTestApp.csproj (in 638 ms).\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(383,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/App/BlazorBasicTestApp.csproj]\\n[] BlazorBasicTestApp -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/App/bin/Release/net11.0/BlazorBasicTestApp.dll\\n[] BlazorBasicTestApp (Blazor output) -> /workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/blz_dllimp_Release_\u9fc0\u8712\u679b\u906b\u486b\u7149build_then_publish_Release_False_5daeri41_npc/App/bin/Release/net11.0/wwwroot\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk-manifests/11.0.100/microsoft.net.workload.mono.toolchain.current/11.0.100-preview.2.26116.109/WorkloadManifest.targets(125,5): error : @(NativeFileReference) is not empty, but the native references won't be linked in, because neither $(WasmBuildNative), nor $(RunAOTCompilation) are 'true'. NativeFileReference=mylib.cpp [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/De", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configurati" - }, - { - "name": "Wasm.Build.Tests.NativeBuildTests.IntermediateBitcodeToObjectFilesAreNotLLVMIR(config: Release, aot: True)", - "type": "Wasm.Build.Tests.NativeBuildTests", - "method": "IntermediateBitcodeToObjectFilesAreNotLLVMIR", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2513044", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 79\n at" - }, - { - "name": "Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(config: Debug, aot: True)", - "type": "Wasm.Build.Tests.NativeBuildTests", - "method": "AOTNotSupportedWithNoTrimming", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2527099", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 46\n at System.Runtime" - }, - { - "name": "Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(config: Release, aot: True)", - "type": "Wasm.Build.Tests.NativeBuildTests", - "method": "AOTNotSupportedWithNoTrimming", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2606075", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.AOTNotSupportedWithNoTrimming(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 46\n at InvokeStub_Nat" - }, - { - "name": "Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.NativeBuildTests", - "method": "SimpleNativeBuild", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2554106", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 28\n--- End of stack trace from prev" - }, - { - "name": "Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(config: Release, aot: False)", - "type": "Wasm.Build.Tests.NativeBuildTests", - "method": "SimpleNativeBuild", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2555833", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.SimpleNativeBuild(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 28\n--- End of stack trace from prev" - }, - { - "name": "Wasm.Build.Tests.NativeBuildTests.ZipArchiveInteropTest", - "type": "Wasm.Build.Tests.NativeBuildTests", - "method": "ZipArchiveInteropTest", - "result": "Pass", - "category": "PASS", - "time": "6.8610029", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.NativeBuildTests.NativeBuildIsRequired(config: Release, aot: True)", - "type": "Wasm.Build.Tests.NativeBuildTests", - "method": "NativeBuildIsRequired", - "result": "Fail", - "category": "TEMPLATE_MISSING", - "time": "0.2600706", - "message": " Expected 0 exit code but got 103: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet new wasmbrowser \\nStandard Output:\\n[] No templates or subcommands found matching: 'wasmbrowser'.\\n[] \\n[] To list installed templates similar to 'wasmbrowser', run:\\n[] dotnet new list wasmbrowser\\n[] To search for the templates on NuGet.org, run:\\n[] dotnet new search wasmbrowser\\n[] \\n[] \\n[] For details on the exit code, refer to https://aka.ms/templating-exit-codes#103\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.WasmTemplateTestsBase.CreateWasmTemplateProject(Template template, Configuration config, Boolean aot, String idPrefix, Nullable`1 appendUnicodeToPath, String extraArgs, Boolean runAnalyzers, Boolean addFrameworkArg, String extraProperties, String extraItems, String insertAtEnd) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 87\n at Wasm.Build.Tests.NativeBuildTests.NativeBuildIsRequired(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs:line 96\n at System.RuntimeMethodHa" - }, - { - "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.NativeLibraryTests", - "method": "ProjectWithNativeReference", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.462644", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Release, aot: False)", - "type": "Wasm.Build.Tests.NativeLibraryTests", - "method": "ProjectWithNativeReference", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.5184161", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeReference(config: Release, aot: True)", - "type": "Wasm.Build.Tests.NativeLibraryTests", - "method": "ProjectWithNativeReference", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2120446", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/AppUsingNativeLib-a_Release_True_d5jvksf2_s1x/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingNativeLib-a_Release_True_d5jvksf2_s1x/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingNativeLib-a_Release_True_d5jvksf2_s1x/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.NativeLibraryTests", - "method": "ProjectUsingBrowserNativeCrypto", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.7309889", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Release, aot: False)", - "type": "Wasm.Build.Tests.NativeLibraryTests", - "method": "ProjectUsingBrowserNativeCrypto", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.6163825", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectUsingBrowserNativeCrypto(config: Release, aot: True)", - "type": "Wasm.Build.Tests.NativeLibraryTests", - "method": "ProjectUsingBrowserNativeCrypto", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.229074", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/AppUsingBrowserNativeCrypto_Release_True_0ygz4chc_obu/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingBrowserNativeCrypto_Release_True_0ygz4chc_obu/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingBrowserNativeCrypto_Release_True_0ygz4chc_obu/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.NativeLibraryTests", - "method": "ProjectWithNativeLibrary", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.7707865", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Release, aot: False)", - "type": "Wasm.Build.Tests.NativeLibraryTests", - "method": "ProjectWithNativeLibrary", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.397304", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.NativeLibraryTests.ProjectWithNativeLibrary(config: Release, aot: True)", - "type": "Wasm.Build.Tests.NativeLibraryTests", - "method": "ProjectWithNativeLibrary", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2108841", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/AppUsingNativeLib-a_Release_True_fhesg33n_yom/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingNativeLib-a_Release_True_fhesg33n_yom/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/AppUsingNativeLib-a_Release_True_fhesg33n_yom/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureComInteropCompilesInAOT(config: Release, aot: True)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "EnsureComInteropCompilesInAOT", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.214315", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/com_Release_True_bkp104nz_4kb/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/com_Release_True_bkp104nz_4kb/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/com_Release_True_bkp104nz_4kb/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInAOT(config: Release, aot: True)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "EnsureWasmAbiRulesAreFollowedInAOT", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.1939106", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet publish -bl:/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/abi_Release_True_oibnx2o5_4vf/WasmBasicTestApp-publish.binlog -p:Configuration=Release -nr:false -p:CompressionEnabled=false -p:WasmEnableHotReload=false -p:RunAOTCompilation=true -p:EmccVerbose=true \\nStandard Output:\\n[] \\n[] Determining projects to restore...\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To build this project, the following workloads must be installed: wasm-tools [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Release_True_oibnx2o5_4vf/LazyLibrary/LazyLibrary.csproj]\\n[] /workspaces/runtime/artifacts/bin/dotnet-none/sdk/11.0.100-preview.2.26116.109/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.ImportWorkloads.targets(38,5): error NETSDK1147: To install these workloads, run the following command: dotnet workload restore [/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Release_True_oibnx2o5_4vf/LazyLibrary/LazyLibrary.csproj]\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 176\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configura" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallersOnly_Namespaced(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedCallersOnly_Namespaced", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.8912309", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallersOnly_Namespaced(config: Release, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedCallersOnly_Namespaced", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.5524523", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UCOWithSpecialCharacters(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UCOWithSpecialCharacters", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.7210641", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UCOWithSpecialCharacters(config: Release, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UCOWithSpecialCharacters", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.3832676", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable", - "result": "Pass", - "category": "PASS", - "time": "6.6588891", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable(config: Release, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable", - "result": "Pass", - "category": "PASS", - "time": "6.7334908", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "IcallWithOverloadedParametersAndEnum", - "result": "Fail", - "category": "OTHER_FAILURE", - "time": "1.4135465", - "message": "System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.WebAssembly.Sdk/11.0.0-dev/tasks", - "stack_trace": " at Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 240\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)\n at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)\n at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(config: Release, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "IcallWithOverloadedParametersAndEnum", - "result": "Fail", - "category": "OTHER_FAILURE", - "time": "1.4093286", - "message": "System.IO.DirectoryNotFoundException : Could not find tasks base directory /workspaces/runtime/artifacts/bin/dotnet-none/packs/Microsoft.NET.Runtime.WebAssembly.Sdk/11.0.0-dev/tasks", - "stack_trace": " at Wasm.Build.Tests.PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 240\n at InvokeStub_PInvokeTableGeneratorTests.IcallWithOverloadedParametersAndEnum(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: False, appHasAttribute: False, expectSuccess: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.4223642", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(Configuration config, Boolean aot, Boolean libraryHasAttribute, Boolean appHasA" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: True, appHasAttribute: False, expectSuccess: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.3993714", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(Configuration config, Boolean aot, Boolean libraryHasAttribute, Boolean appHasA" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: False, appHasAttribute: True, expectSuccess: True)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", - "result": "Pass", - "category": "PASS", - "time": "6.8793959", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Debug, aot: False, libraryHasAttribute: True, appHasAttribute: True, expectSuccess: True)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", - "result": "Pass", - "category": "PASS", - "time": "6.938768", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: False, appHasAttribute: False, expectSuccess: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.3243187", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(Configuration config, Boolean aot, Boolean libraryHasAttribute, Boolean appHasA" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: True, appHasAttribute: False, expectSuccess: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.3842164", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(Configuration config, Boolean aot, Boolean libraryHasAttribute, Boolean appHasA" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: False, appHasAttribute: True, expectSuccess: True)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", - "result": "Pass", - "category": "PASS", - "time": "6.9308685", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructsAreConsideredBlittableFromDifferentAssembly(config: Release, aot: False, libraryHasAttribute: True, appHasAttribute: True, expectSuccess: True)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructsAreConsideredBlittableFromDifferentAssembly", - "result": "Pass", - "category": "PASS", - "time": "6.7890862", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.347654", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(Configuration config, Boolean aot)" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(config: Release, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.5915509", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable(Configuration config, Boolean aot)" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "EnsureWasmAbiRulesAreFollowedInInterpreter", - "result": "Fail", - "category": "OTHER_FAILURE", - "time": "4.219954", - "message": "System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Debug_False_qdlnia5l_ngt/App/obj/Debug/net11.0/wasm/for-build/pinvoke-table.h'.", - "stack_trace": " at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)\n at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)\n at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)\n at System.IO.File.ReadAllText(String path)\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowed(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 331\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(Configuration config, Boolean aot) in /workspace" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(config: Release, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "EnsureWasmAbiRulesAreFollowedInInterpreter", - "result": "Fail", - "category": "OTHER_FAILURE", - "time": "4.3351712", - "message": "System.IO.DirectoryNotFoundException : Could not find a part of the path '/workspaces/runtime/artifacts/bin/Wasm.Build.Tests/Debug/net11.0/linux-x64/wbt artifacts/abi_Release_False_dlf3q3zj_zb3/App/obj/Release/net11.0/wasm/for-build/pinvoke-table.h'.", - "stack_trace": " at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)\n at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)\n at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)\n at System.IO.File.ReadAllText(String path)\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowed(Configuration config, Boolean aot) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs:line 331\n at Wasm.Build.Tests.PInvokeTableGeneratorTests.EnsureWasmAbiRulesAreFollowedInInterpreter(Configuration config, Boolean aot) in /workspace" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable", - "result": "Pass", - "category": "PASS", - "time": "4.1707258", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable(config: Release, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable", - "result": "Pass", - "category": "PASS", - "time": "4.3321497", - "message": "", - "stack_trace": "" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.BuildNativeInNonEnglishCulture(config: Debug, aot: False, culture: \\\"tr_TR.UTF-8\\\")", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "BuildNativeInNonEnglishCulture", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "11.8788218", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.BuildNativeInNonEnglishCulture(config: Release, aot: False, culture: \\\"tr_TR.UTF-8\\\")", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "BuildNativeInNonEnglishCulture", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.4972945", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallback_InFileType(config: Debug, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedCallback_InFileType", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.7118099", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.PInvokeTableGeneratorTests.UnmanagedCallback_InFileType(config: Release, aot: False)", - "type": "Wasm.Build.Tests.PInvokeTableGeneratorTests", - "method": "UnmanagedCallback_InFileType", - "result": "Fail", - "category": "XHARNESS_TOOL_MISSING", - "time": "9.4640536", - "message": " Expected 0 exit code but got 1: /workspaces/runtime/artifacts/bin/dotnet-none/dotnet xharness wasm webserver --app=. --web-server-use-default-files\\nStandard Output:\\n[] Run \\\"dotnet tool restore\\\" to make the \\\"xharness\\\" command available.\\n", - "stack_trace": " at Wasm.Build.Tests.CommandResult.EnsureExitCode(Int32 expectedExitCode, String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 51\n at Wasm.Build.Tests.CommandResult.EnsureSuccessful(String messagePrefix, Boolean suppressOutput) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Common/CommandResult.cs:line 28\n at Wasm.Build.Tests.BrowserRunner.StartServerAndGetUrlAsync(ToolCommand cmd, String args, Action`1 onServerMessage) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 101\n at Wasm.Build.Tests.BrowserRunner.RunAsync(ToolCommand cmd, String args, Boolean headless, String locale, Action`2 onConsoleMessage, Action`1 onServerMessage, Action`1 onError, Func`2 modifyBrowserUrl) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BrowserRunner.cs:line 166\n at Wasm.Build.Tests.WasmTemplateTestsBase.BrowserRun(ToolCommand cmd, String runArgs, RunOptions runOptions) in /worksp" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.0893291", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "3.9028773", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.5693451", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"\\\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2926955", - "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Property reassignment: $(MSBuildProjectEx\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Stopping the build\\\"", - "stack_trace": " at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPublish, String extraItems) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 219\n at Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(Configuration config, String extraProperties, Boolean aot, Boolean expectWasmBuildNativeForBuild, Boolean expectWasmBuildNativeForPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 116\n at InvokeStub_WasmNativeDefaultsTests.DefaultsWithPublish(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"\\\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.2043478", - "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Assembly loaded during LoggerInitializati\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Stopping the build\\\"", - "stack_trace": " at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPublish, String extraItems) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 219\n at Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(Configuration config, String extraProperties, Boolean aot, Boolean expectWasmBuildNativeForBuild, Boolean expectWasmBuildNativeForPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 116\n at InvokeStub_WasmNativeDefaultsTests.DefaultsWithPublish(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"false\\\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.227405", - "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Property reassignment: $(MSBuildProjectEx\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Stopping the build\\\"", - "stack_trace": " at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPublish, String extraItems) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 219\n at Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(Configuration config, String extraProperties, Boolean aot, Boolean expectWasmBuildNativeForBuild, Boolean expectWasmBuildNativeForPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 116\n at InvokeStub_WasmNativeDefaultsTests.DefaultsWithPublish(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"false\\\", aot: True, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "NETSDK1147_WORKLOAD_REQUIRED", - "time": "1.1894143", - "message": "Assert.Contains() Failure: Sub-string not found\\nString: \\\"Assembly loaded during LoggerInitializati\\\"\u00b7\u00b7\u00b7\\nNot found: \\\"Stopping the build\\\"", - "stack_trace": " at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPublish, String extraItems) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 219\n at Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(Configuration config, String extraProperties, Boolean aot, Boolean expectWasmBuildNativeForBuild, Boolean expectWasmBuildNativeForPublish) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs:line 116\n at InvokeStub_WasmNativeDefaultsTests.DefaultsWithPublish(Object, Span`1)\n at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.3895563", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.8069394", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.3441916", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "8.9892232", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.2470079", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.0661884", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"truefalsetruefalsefalse\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.8166709", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.8728536", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.6883726", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.2960484", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.0155715", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Release, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.1564846", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithPublish(config: Debug, extraProperties: \\\"falsetruefalsetruefalse\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.1392345", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.3043592", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.2890993", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.2993783", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.2764913", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.3688841", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.1793315", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.2842764", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"truefalsetruefalsefalse\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.4107284", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.4247119", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.306935", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"false\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.3592859", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"\\\", aot: False, expectWasmBuildNativeForBuild: False, expectWasmBuildNativeForPublish: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.2249385", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Release, extraProperties: \\\"true\\\", aot: False, expectWasmBuildNativeForBuild: True, expectWasmBuildNativeForPublish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "DefaultsWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.3548271", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.DefaultsWithBuild(config: Debug, extraProperties: \\\"falsetruefalsetruetrue\\\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "WasmNativeStripDefaultWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.2377072", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Release, extraProperties: \\\"true\\\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "WasmNativeStripDefaultWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.1955873", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Debug, extraProperties: \\\"false\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "WasmNativeStripDefaultWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.2541553", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Release, extraProperties: \\\"false\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "WasmNativeStripDefaultWithBuild", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.1936918", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProject(ProjectInfo info, Configuration configuration, BuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 211\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolean isPu" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithBuild(config: Debug, extraProperties: \\\"falsefalsetruetruefalse\\\", publish: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "WithNativeReference", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "4.0141638", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \\\"true\\\", expectedWasmBuildNativeValue: False, expectedWasmNativeStripValue: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "WasmNativeStripDefaultWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.59133", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Release, extraProperties: \\\"true\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: True)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "WasmNativeStripDefaultWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.016532", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \\\"false\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "WasmNativeStripDefaultWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.5795582", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Release, extraProperties: \\\"false\\\", expectedWasmBuildNativeValue: True, expectedWasmNativeStripValue: False)", - "type": "Wasm.Build.Tests.WasmNativeDefaultsTests", - "method": "WasmNativeStripDefaultWithPublish", - "result": "Fail", - "category": "ASSERTION_FAILURE", - "time": "9.2153065", - "message": "Build should have failed, but it didn't. Process exited with exitCode : 0", - "stack_trace": " at Wasm.Build.Tests.BuildTestBase.BuildProjectWithoutAssert(Configuration configuration, String projectName, MSBuildOptions buildOptions) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/BuildTestBase.cs:line 178\n at Wasm.Build.Tests.WasmTemplateTestsBase.BuildProjectCore(ProjectInfo info, Configuration configuration, MSBuildOptions buildOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 242\n at Wasm.Build.Tests.WasmTemplateTestsBase.PublishProject(ProjectInfo info, Configuration configuration, PublishOptions publishOptions, Nullable`1 isNativeBuild, Nullable`1 wasmFingerprintDotnetJs) in /workspaces/runtime/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs:line 190\n at Wasm.Build.Tests.WasmNativeDefaultsTests.CheckWasmNativeDefaultValue(String projectPrefix, Configuration config, String extraProperties, Boolean aot, Boolean nativeBuild, Boolea" - }, - { - "name": "Wasm.Build.Tests.WasmNativeDefaultsTests.WasmNativeStripDefaultWithPublish(config: Debug, extraProperties: \\\"falsefalsetruetrue/runtimes/browser-wasm/native/src/` - -### 6.2 Compile Command Structure - -``` -emcc @/native/src/emcc-default.rsp - @/emcc-compile.rsp - -c -o -``` - -The compile response file (`emcc-compile.rsp`) contains flags generated by `_BrowserWasmWriteCompileRsp`. - -### 6.3 Link Command Structure - -``` -emcc @/native/src/emcc-default.rsp - -msimd128 - @/native/src/emcc-link.rsp - @/emcc-link.rsp -``` - -The link response file (`emcc-link.rsp`, generated by `_BrowserWasmWriteRspForLinking`) contains: - -**Flags:** -- `-O0` (debug) or `-Oz` (release) -- `-fwasm-exceptions` (when `WasmEnableExceptionHandling=true`) -- `-s EXPORT_ES6=1` (ES6 module) -- `-s INITIAL_MEMORY=33554432` (from `WasmInitialHeapSize`) -- `-s STACK_SIZE=5MB` -- `-s WASM_BIGINT=1` -- `-s LLD_REPORT_UNDEFINED` -- `-s ERROR_ON_UNDEFINED_SYMBOLS=1` - -**Pre/Post JS files:** -- `--pre-js dotnet.es6.pre.js` -- `--js-library dotnet.es6.lib.js` -- `--extern-post-js dotnet.es6.extpost.js` - -**Input files (linked in order):** -1. Compiled object files: `pinvoke.o`, `driver.o`, `corebindings.o`, `runtime.o` -2. Static libraries from runtime pack: - - `libbrotlicommon.a`, `libbrotlidec.a`, `libbrotlienc.a` - - `libicudata.a`, `libicui18n.a`, `libicuuc.a` - - `libmono-component-debugger-static.a` - - `libmono-component-diagnostics_tracing-stub-static.a` - - `libmono-component-hot_reload-static.a` - - `libmono-component-marshal-ilgen-stub-static.a` - - `libmono-ee-interp.a` - - `libmono-icall-table.a` - - `libmono-profiler-aot.a`, `libmono-profiler-browser.a`, `libmono-profiler-log.a` - - `libmono-wasm-eh-wasm.a`, `libmono-wasm-simd.a` - - `libmonosgen-2.0.a` - - `libSystem.Globalization.Native.a` - - `libSystem.IO.Compression.Native.a` - - `libSystem.Native.a` - - `libz.a` - - `wasm-bundled-timezones.a` - -**Output:** `dotnet.native.js` + `dotnet.native.wasm` - -**Exported Functions:** -`_free`, `_malloc`, `_sbrk`, `_memalign`, `_memset`, `stackAlloc`, `stackRestore`, `stackSave`, -`_emscripten_force_exit`, math functions (`_fmod`, `_atan2`, `_pow`, trig functions, etc.), -`___cpp_exception` - -### 6.4 Environment Variables Set for emcc - -| Variable | Value | Purpose | -|----------|-------|---------| -| `EMSDK_PYTHON` | `…/python.exe` | Python for emscripten | -| `DOTNET_EMSCRIPTEN_LLVM_ROOT` | `…/tools/bin` | LLVM tools path | -| `DOTNET_EMSCRIPTEN_BINARYEN_ROOT` | `…/tools/` | Binaryen tools | -| `DOTNET_EMSCRIPTEN_NODE_JS` | `…/node.exe` | Node.js binary | -| `EM_CACHE` | `…/emscripten/cache/` | Emscripten cache dir | -| `EM_FROZEN_CACHE` | `1` | Don't regenerate cache | -| `ENABLE_JS_INTEROP_BY_VALUE` | `0` | JS interop mode | -| `WASM_ENABLE_SIMD` | `1` | Runtime SIMD flag | -| `WASM_ENABLE_EH` | `1` | Runtime EH flag | -| `WASM_ENABLE_EVENTPIPE` | `0` | Diagnostics | -| `RUN_AOT_COMPILATION` | `0` | AOT compilation flag | - -### 6.5 wasm-opt Post-Link (Publish Only) - -After linking, `_RunWasmOptPostLink` runs Binaryen's `wasm-opt`: - -``` -wasm-opt --enable-simd --enable-exception-handling --enable-bulk-memory - --enable-simd --strip-dwarf - /dotnet.native.wasm -o /dotnet.native.wasm -``` - -This optimizes the WASM binary and strips debug info for release. - ---- - -## 7. Runtime Component Selection - -The `_MonoSelectRuntimeComponents` / `_WasmSelectRuntimeComponentsForLinking` targets select which Mono runtime components to link. This determines which `.a` files are included: - -- **debugger** (`libmono-component-debugger-static.a`) -- **diagnostics_tracing** (stub in debug build) -- **hot_reload** (`libmono-component-hot_reload-static.a`) -- **marshal-ilgen** (stub — lightweight marshaler selected by `MarshalingPInvokeScanner`) - -The component manifest is read from `_MonoReadAvailableComponentsManifest`. - ---- - -## 8. Outputs - -### 8.1 Native Build Outputs - -All outputs go to `obj//net10.0/wasm/for-build/` (build) or `obj//net10.0/wasm/for-publish/` (publish): - -| File | Description | -|------|-------------| -| `dotnet.native.wasm` | The compiled WASM binary (Mono runtime + native libs + P/Invoke stubs) | -| `dotnet.native.js` | Emscripten-generated JS glue code | -| `pinvoke.o` | Compiled P/Invoke bridge | -| `driver.o` | Compiled WASM driver | -| `corebindings.o` | Compiled JS interop bindings | -| `runtime.o` | Compiled runtime init | -| `pinvoke-table.h` | Generated P/Invoke lookup table | -| `runtime-icall-table.h` | Internal call table from `mono-aot-cross` | -| `emcc-compile.rsp` | Compile response file | -| `emcc-link.rsp` | Link response file | - -### 8.2 Non-Native Build Outputs - -When `WasmBuildNative=false`, the outputs are copied from the runtime pack directly: - -| File | Source | -|------|--------| -| `dotnet.native.wasm` | `/runtimes/browser-wasm/native/dotnet.native.wasm` | -| `dotnet.native.js` | `/runtimes/browser-wasm/native/dotnet.native.js` | -| `*.wasm` (WebCil) | Generated by `ConvertDllsToWebCil` from managed assemblies | - -### 8.3 Common Outputs (Both Paths) - -| File | Generated By | Description | -|------|-------------|-------------| -| `blazor.boot.json` | `GenerateWasmBootJson` | Boot configuration listing assemblies, resources, config | -| `_framework/*` | Static Web Assets pipeline | Framework files served to browser | -| `*.gz`, `*.br` | Compression pipeline | Compressed static assets | - ---- - -## 9. Flow Comparison Summary - -``` -┌─────────────────────────────────────────────────────────────┐ -│ DEFAULT BUILD (no native) │ -│ │ -│ Build → Compile → ... → _ResolveWasmConfiguration │ -│ _ResolveWasmOutputs │ -│ ├─ ComputeWasmBuildAssets │ -│ └─ ConvertDllsToWebCil │ -│ _GenerateBuildWasmBootJson │ -│ _AddWasmStaticWebAssets │ -│ ...compression & copy... │ -│ │ -│ NO emcc, NO linking, pre-built dotnet.native.* from pack │ -└─────────────────────────────────────────────────────────────┘ - -┌─────────────────────────────────────────────────────────────┐ -│ NATIVE BUILD │ -│ │ -│ Build → Compile → ... → _GatherWasmFilesToBuild │ -│ WasmBuildApp │ -│ └─ _WasmBuildAppCore │ -│ ├─ _InitializeCommonProperties│ -│ ├─ PrepareInputsForWasmBuild │ -│ │ ├─ _SetupToolchain │ -│ │ ├─ _ReadWasmProps │ -│ │ └─ _SetWasmBuildNativeDefaults│ -│ ├─ _WasmBuildNativeCore │ -│ │ ├─ PrepareForWasmBuildNative│ -│ │ │ ├─ _CheckToolchainIsExpectedVersion│ -│ │ │ └─ _PrepareForBrowserWasmBuildNative│ -│ │ ├─ _ScanAssembliesDecideLightweightMarshaler│ -│ │ ├─ _GenerateManagedToNative│ -│ │ │ ├─ mono-aot-cross --print-icall-table│ -│ │ │ └─ ManagedToNativeGenerator│ -│ │ └─ WasmLinkDotNet │ -│ │ ├─ _WasmSelectRuntimeComponentsForLinking│ -│ │ ├─ _WasmCalculateInitialHeapSizeFromBitcodeFiles│ -│ │ ├─ _WasmWriteRspForCompilingNativeSourceFiles│ -│ │ ├─ _WasmCompileNativeSourceFiles (EmccCompile)│ -│ │ ├─ _WasmWriteRspForLinking│ -│ │ └─ _BrowserWasmLinkDotNet (Exec emcc link)│ -│ └─ _EmitWasmAssembliesFinal │ -│ _WasmNativeForBuild │ -│ _ResolveWasmOutputs │ -│ _GenerateBuildWasmBootJson │ -│ ...compression & copy... │ -└─────────────────────────────────────────────────────────────┘ - -┌─────────────────────────────────────────────────────────────┐ -│ PUBLISH (NATIVE) │ -│ │ -│ Publish → Build (full compile) │ -│ → ILLink (trim managed code) │ -│ → WasmTriggerPublishApp │ -│ └─ MSBuild → WasmNestedPublishApp (project 177) │ -│ ├─ _GatherWasmFilesToPublish │ -│ └─ _WasmBuildAppCore (same as above)│ -│ ... native compile + link ... │ -│ _RunWasmOptPostLink (wasm-opt) │ -│ → ProcessPublishFilesForWasm │ -│ → ComputeWasmExtensions │ -│ → GeneratePublishWasmBootJson │ -│ → ...publish static web assets + compression... │ -│ → CopyFilesToPublishDirectory │ -└─────────────────────────────────────────────────────────────┘ -``` - ---- - -## 10. Timing Summary - -### Build (Native) — Total ~16s - -| Phase | Duration | Key Target | -|-------|----------|-----------| -| C# Compile | ~10ms | `CoreCompile` (cached/incremental) | -| P/Invoke Scan | 362ms | `_ScanAssembliesDecideLightweightMarshaler` | -| M2N Code Gen | 1261ms | `_GenerateManagedToNative` | -| emcc Compile | 4463ms | `_WasmCompileNativeSourceFiles` | -| emcc Link | 4461ms | `_BrowserWasmLinkDotNet` | -| Wasm Outputs | 219ms | `_ResolveWasmOutputs` | -| Boot JSON | 124ms | `_GenerateBuildWasmBootJson` | -| Static Assets | ~500ms | Compression + manifests | - -### Build (Default) — Total ~7.5s - -| Phase | Duration | Key Target | -|-------|----------|-----------| -| C# Compile | 2283ms | `CoreCompile` | -| Wasm Outputs | 651ms | `_ResolveWasmOutputs` (ComputeWasmBuildAssets + ConvertDllsToWebCil) | -| Boot JSON | 161ms | `_GenerateBuildWasmBootJson` | -| Static Assets | ~600ms | Compression + copy | - -### Publish (Native) — Total ~29s - -| Phase | Duration | Key Target | -|-------|----------|-----------| -| C# Compile | 2781ms | `CoreCompile` | -| ILLink | 3022ms | `_RunILLink` | -| Native (nested) | 14441ms | `WasmTriggerPublishApp` (includes all native phases) | -| wasm-opt | 686ms | `_RunWasmOptPostLink` | -| Publish Assets | ~5900ms | Compression + copy | - ---- - -## 8. Mono vs CoreCLR WASM Native Build Comparison - -### 8.1 Build System Architecture - -When building for WASM browser, the build system selects the native pipeline based on `RuntimeFlavor`: - -**Import chain** (in `WasmApp.InTree.targets`): -```xml - - - - -``` - -**CoreCLR stub** (`BrowserWasmApp.CoreCLR.targets`): -```xml - - - - - - -``` - -Additionally, `BrowserWasmApp.props` (which sets up `RuntimeIdentifier=browser-wasm`, `TargetOS=browser`, and imports `WasmApp.Common.props`) is **only imported when `RuntimeFlavor == 'Mono'`**: -```xml - -``` - -For CoreCLR, some defaults are set directly in `WasmApp.InTree.props`: -```xml - - false - false - -``` - -### 8.2 Runtime Pack Name - -Both flavors produce the **same pack name**: `Microsoft.NETCore.App.Runtime.{flavor}.browser-wasm` -- Mono: `Microsoft.NETCore.App.Runtime.Mono.browser-wasm` -- CoreCLR: `Microsoft.NETCore.App.Runtime.browser-wasm` (uses CoreCLR artifacts) - -Both are placed in: `artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/{Configuration}/runtimes/browser-wasm/native/` - -### 8.3 Runtime Pack Native Directory Contents - -#### Files SHARED between Mono and CoreCLR - -| File | Purpose | -|------|---------| -| `dotnet.js` | Main runtime JavaScript | -| `dotnet.js.map` | Source map | -| `dotnet.runtime.js` | Runtime helper JS | -| `dotnet.runtime.js.map` | Source map | -| `dotnet.diagnostics.js` | Diagnostics support JS | -| `dotnet.diagnostics.js.map` | Source map | -| `dotnet.native.js` | Native bindings wrapper JS | -| `dotnet.native.js.symbols` | Symbol table for debugging | -| `dotnet.native.wasm` | Pre-linked WASM binary | -| `dotnet.d.ts` | TypeScript type definitions | -| `package.json` | NPM package metadata | -| `icudt.dat`, `icudt_CJK.dat`, etc. | ICU globalization data | -| **Shared native libs:** | | -| `libbrotlicommon.a` | Brotli compression | -| `libbrotlidec.a` | Brotli decompression | -| `libbrotlienc.a` | Brotli encoding | -| `libicudata.a` | ICU data | -| `libicui18n.a` | ICU internationalization | -| `libicuuc.a` | ICU unicode | -| `libz.a` | zlib compression | - -#### Files ONLY in Mono runtime pack - -| File | Purpose | -|------|---------| -| `dotnet.native.worker.mjs` | Threading web worker (conditional) | -| `wasm-bundled-timezones.a` | Bundled timezone data | -| **Mono runtime libraries:** | | -| `libmonosgen-2.0.a` | Mono runtime (SGen GC) | -| `libmono-ee-interp.a` | Mono interpreter | -| `libmono-icall-table.a` | Mono internal call table | -| `libmono-profiler-aot.a` | AOT profiler | -| `libmono-profiler-browser.a` | Browser profiler | -| `libmono-profiler-log.a` | Log profiler | -| `libmono-wasm-eh-wasm.a` | WASM exception handling | -| `libmono-wasm-simd.a` | WASM SIMD support | -| `libmono-component-debugger-static.a` | Debugger component | -| `libmono-component-diagnostics_tracing-stub-static.a` | Diagnostics tracing stub | -| `libmono-component-hot_reload-static.a` | Hot reload component | -| `libmono-component-marshal-ilgen-stub-static.a` | Marshal IL gen stub | -| **Source files for app re-linking (in `src/` subdir):** | | -| `src/pinvoke.c` | P/Invoke binding source | -| `src/driver.c` | WASM driver entry point | -| `src/runtime.c` | Runtime core | -| `src/corebindings.c` | .NET binding source | -| `src/emcc-default.rsp` | Emscripten compile flags | -| `src/emcc-link.rsp` | Emscripten linker flags | -| `src/wasm-props.json` | Feature detection/config | -| `src/es6/dotnet.es6.pre.js` | ES6 pre-JS module | -| `src/es6/dotnet.es6.lib.js` | ES6 JS library | -| `src/es6/dotnet.es6.extpost.js` | ES6 external post-JS | -| **Include headers (in `include/` subdir):** | | -| `include/wasm/*.h` | C headers for native compilation | - -#### Files ONLY in CoreCLR runtime pack - -| File | Purpose | -|------|---------| -| `System.Private.CoreLib.dll` | CoreLib (managed runtime) | -| `System.Private.CoreLib.pdb` | CoreLib debug symbols | -| `System.Private.CoreLib.xml` | CoreLib XML docs | -| `System.Private.CoreLib.deps.json` | CoreLib dependencies | -| **CoreCLR runtime libraries:** | | -| `libcoreclr_static.a` | CoreCLR runtime (static) | -| `libcoreclrminipal.a` | CoreCLR minimal PAL | -| `libcoreclrpal.a` | CoreCLR platform abstraction | -| `libgcinfo_unix_wasm.a` | GC info for WASM | -| `libnativeresourcestring.a` | Native resource strings | -| `libminipal.a` | Minimal PAL | -| **Host libraries:** | | -| `libBrowserHost.a` | Browser host integration | -| `libBrowserHost.js` | Browser host JS | -| `libBrowserHost.js.map` | Source map | -| **Interop libraries:** | | -| `libSystem.Runtime.InteropServices.JavaScript.Native.a` | JS interop native | -| `libSystem.Runtime.InteropServices.JavaScript.Native.js` | JS interop JS | -| `libSystem.Runtime.InteropServices.JavaScript.Native.js.map` | Source map | -| `libSystem.Globalization.Native.a` | Globalization PAL | -| `libSystem.IO.Compression.Native.a` | Compression PAL | -| **Other libraries:** | | -| `libSystem.Native.a` | System PAL | -| `libSystem.Native.Browser.a` | Browser-specific system PAL | -| `libSystem.Native.Browser.js` | Browser-specific system JS | -| `libSystem.Native.Browser.Utils.js` | Browser-specific system utility JS | -| `libSystem.Native.Browser.js.map` | Source map | -| `libSystem.Native.Browser.Utils.js.map` | Source map | -| `libSystem.Native.TimeZoneData.a` | Timezone data | -| `libSystem.Native.TimeZoneData.Invariant.a` | Invariant timezone data | - -### 8.4 Native Build Pipeline Comparison - -| Aspect | Mono | CoreCLR | -|--------|------|---------| -| **Native Build Implemented** | ✅ Yes | ❌ No (stub targets) | -| **`WasmBuildNative` default** | `false` (build), `true` (publish/AOT) | `false` (always) | -| **Re-linking per-app** | ✅ Via emcc (recompiles C sources + links .a libs) | ❌ Uses pre-linked `dotnet.native.wasm` | -| **C source files in pack** | ✅ Yes (`src/` subdir: driver.c, runtime.c, etc.) | ❌ No source files | -| **RSP files in pack** | ✅ Yes (emcc-default.rsp, emcc-link.rsp) | ❌ No RSP files | -| **Header files in pack** | ✅ Yes (`include/wasm/`) | ❌ No headers | -| **JavaScript ES6 files** | ✅ Yes (`src/es6/`) | ❌ No ES6 sources | -| **Mono component selection** | ✅ Via `_MonoSelectRuntimeComponents` | N/A | -| **Key MSBuild target** | `_BrowserWasmLinkDotNet` (emcc compile+link) | No equivalent | -| **Build entry point** | `WasmBuildApp` → `_WasmBuildAppCore` | `WasmBuildApp` (prints "not implemented") | -| **Publish entry point** | `WasmTriggerPublishApp` → nested MSBuild | `WasmTriggerPublishApp` (prints "not implemented") | - -### 8.5 Mono App Native Build: Detailed Link Command - -When building a Mono app with `WasmBuildNative=true`, the following happens: - -**1. Compile step** (`_WasmCompileNativeSourceFiles` via `EmccCompile` task): -- Compiles 4 C source files from runtime pack `src/` directory: - - `pinvoke.c` → `pinvoke.o` - - `driver.c` → `driver.o` - - `corebindings.c` → `corebindings.o` - - `runtime.c` → `runtime.o` -- Uses flags from `emcc-default.rsp` + optimization flags - -**2. Link step** (`_BrowserWasmLinkDotNet` via emcc `Exec` task): -``` -emcc @emcc-default.rsp @emcc-link.rsp @emcc-link-app.rsp -``` -Where `emcc-link-app.rsp` contains: -- Object files: `pinvoke.o`, `driver.o`, `corebindings.o`, `runtime.o` -- All `.a` static libraries from the runtime pack native directory -- JavaScript files: `--pre-js`, `--js-library`, `--extern-post-js` -- Exported functions and runtime methods -- Memory settings: `INITIAL_MEMORY`, `STACK_SIZE` -- Output: `dotnet.native.js` + `dotnet.native.wasm` - -**3. Environment variables set during linking:** -``` -ENABLE_JS_INTEROP_BY_VALUE=0 -WASM_ENABLE_SIMD=1 -WASM_ENABLE_EVENTPIPE=0 -WASM_ENABLE_EH=1 -ENABLE_AOT_PROFILER=0 -ENABLE_DEVTOOLS_PROFILER=0 -ENABLE_LOG_PROFILER=0 -RUN_AOT_COMPILATION=0 -``` - -### 8.6 What's Needed to Implement CoreCLR App Native Build - -To recreate the app native build for CoreCLR, the following gaps must be addressed: - -**1. Source files needed:** -The CoreCLR runtime pack does NOT include C source files (`driver.c`, `runtime.c`, `pinvoke.c`, `corebindings.c`) or their equivalents. These would need to be: -- Created as CoreCLR-specific implementations, OR -- Adapted from the Mono versions to work with CoreCLR's runtime initialization - -**2. RSP files needed:** -CoreCLR runtime pack lacks `emcc-default.rsp` and `emcc-link.rsp`. These define Emscripten flags for compile and link. They would need to be generated/adapted for CoreCLR's requirements. - -**3. JavaScript ES6 modules:** -CoreCLR runtime pack lacks the `src/es6/` JavaScript files (`dotnet.es6.pre.js`, `dotnet.es6.lib.js`, `dotnet.es6.extpost.js`) needed for the emcc `--pre-js`, `--js-library`, `--extern-post-js` flags. - -**4. Header files:** -CoreCLR runtime pack lacks the `include/wasm/` headers used during native compilation. - -**5. `wasm-props.json`:** -CoreCLR runtime pack lacks this metadata file used by `_ReadWasmProps` to detect Emscripten version and configure relinking triggers. - -**6. MSBuild targets implementation:** -`BrowserWasmApp.CoreCLR.targets` currently has only stub targets. It would need to implement: -- `WasmBuildApp` with the full emcc compile+link chain -- `WasmTriggerPublishApp` for the nested publish build -- Or adapt the existing Mono pipeline to work with CoreCLR libraries - -**7. Library substitutions:** -The link command would need to replace all `libmono-*` libraries with their CoreCLR equivalents: - -| Mono Library | CoreCLR Equivalent | -|-------------|-------------------| -| `libmonosgen-2.0.a` | `libcoreclr_static.a` + `libcoreclrpal.a` + `libcoreclrminipal.a` | -| `libmono-ee-interp.a` | N/A (CoreCLR uses JIT on WASM) | -| `libmono-icall-table.a` | Part of `libcoreclr_static.a` | -| `libmono-profiler-*.a` | Part of `libcoreclr_static.a` | -| `libmono-wasm-eh-wasm.a` | Part of `libcoreclr_static.a` | -| `libmono-wasm-simd.a` | Part of `libcoreclr_static.a` | -| `libmono-component-*.a` | Part of `libcoreclr_static.a` | -| N/A | `libgcinfo_unix_wasm.a` (CoreCLR-specific) | -| N/A | `libnativeresourcestring.a` (CoreCLR-specific) | -| N/A | `libminipal.a` (CoreCLR-specific) | -| N/A | `libBrowserHost.a` (CoreCLR-specific) | -| N/A | `libSystem.Runtime.InteropServices.JavaScript.Native.a` (CoreCLR-specific) | - -**8. JavaScript library substitutions:** -The link command would need additional JS libraries for CoreCLR: -- `libBrowserHost.js` (replaces some of the Mono ES6 JS) -- `libSystem.Runtime.InteropServices.JavaScript.Native.js` (JS interop) - -### 8.7 CoreCLR Sample Build (binlog: `appbuild-coreclr-sample.binlog`) - -The CoreCLR sample (`Wasm.Browser.Sample.csproj`) was built with: -``` -dotnet publish -p:RuntimeFlavor=CoreCLR -p:TargetOS=browser -p:TargetArchitecture=wasm -``` - -Key observations: -- `RuntimeFlavor=CoreCLR` is set as a **global property** (cannot be overridden) -- `WasmBuildNative=false` — no native compilation occurs -- `BrowserWasmApp.props` and `BrowserWasmApp.targets` are **NOT imported** (condition `RuntimeFlavor == 'Mono'` fails) -- `BrowserWasmApp.CoreCLR.targets` IS imported but only prints "not implemented" messages -- The pre-linked `dotnet.native.wasm` from the runtime pack is used directly -- `DefaultPrimaryRuntimeFlavor` is reassigned from `CoreCLR` to `Mono` at `eng/Subsets.props:67` (this is the default for browser-wasm target) -- `WasmEnableWebcil=false` is set for CoreCLR flavor diff --git a/.research/wasm-native-build-binlog-analysis.md b/.research/wasm-native-build-binlog-analysis.md deleted file mode 100644 index 8a4b35955eff58..00000000000000 --- a/.research/wasm-native-build-binlog-analysis.md +++ /dev/null @@ -1,413 +0,0 @@ -# WASM Native Build Analysis (from binlogs) - -Analysis of the WASM build pipeline from three binlogs: -- `appbuild-mono-default.binlog` — `dotnet build` with `WasmNativeBuild=false` -- `appbuild-mono-native.binlog` — `dotnet build` with `WasmNativeBuild=true` -- `apppublish-mono-native.binlog` — `dotnet publish` with `WasmNativeBuild=true` - -Sample project: `WasmBrowserMonoNativeBuild.csproj` (net10.0, RID=browser-wasm) - ---- - -## 1. Entry Points - -| Scenario | Entry Target | Hooks Into | -|----------|-------------|------------| -| `dotnet build` | `WasmBuildApp` | Runs **after** `Build` target (via `WasmBuildAppAfterThisTarget=Build`) | -| `dotnet publish` | `WasmTriggerPublishApp` | Runs **after** `Publish` target (via `WasmTriggerPublishAppAfterThisTarget=Publish`) | - -### Publish Flow -`WasmTriggerPublishApp` re-invokes MSBuild with `WasmBuildingForNestedPublish=true` on the -entry target `WasmNestedPublishApp`. This nested invocation runs ILLink first, then the full -native build pipeline. The property `_WasmNestedPublishAppPreTarget` controls what runs before -the WASM app builder — it's `Publish` in the normal evaluation but becomes `ComputeFilesToPublish` -in the nested publish context. - ---- - -## 2. Default Build (No Native) — What Happens - -When `WasmNativeBuild=false` (and the wasm workload is not installed), the build skips all -native compilation. The WASM pipeline is reduced to: - -``` -_ResolveGlobalizationConfiguration - └→ _ResolveWasmConfiguration - └→ _ResolveWasmOutputs [651ms] — ComputeWasmBuildAssets task - └→ ResolveWasmOutputs - └→ _GenerateBuildWasmBootJson [161ms] - └→ _AddWasmStaticWebAssets - └→ _WasmConfigurePreload → _AddWasmPreloadBuildProperties -``` - -**Key properties in default build:** -- `WasmNativeWorkload = false` -- `WasmNativeWorkloadAvailable = false` -- No Emscripten SDK paths set -- No `WasmBuildNative` property -- No `_WasmBuildAppCoreDependsOn` chain - -The app uses the **precompiled runtime** from the runtime pack -(`Microsoft.NETCore.App.Runtime.Mono.browser-wasm`) without recompilation. - ---- - -## 3. Native Build — Full Target Chain - -When `WasmNativeBuild=true` (and `WasmNativeWorkload=true`), the full native compilation -pipeline executes. Here is the complete target dependency tree: - -### 3.1 Top-level: `WasmBuildApp` - -``` -_WasmNativeForBuild — entry for build scenario - └→ _GatherWasmFilesToBuild — collects managed assemblies - └→ WasmBuildApp - └→ _WasmBuildAppCore — main orchestrator - ├→ _InitializeCommonProperties [2ms] — creates obj/.../wasm/for-build/ dir - ├→ PrepareInputsForWasmBuild [9ms] — sets up toolchain + reads props - │ ├→ _SetupToolchain - │ │ └→ _SetupEmscripten [1ms] — validates Emscripten SDK paths - │ ├→ _ReadWasmProps [10ms] — ReadWasmProps task reads wasm.props - │ └→ _SetWasmBuildNativeDefaults — sets WasmBuildNative defaults - ├→ _WasmBuildNativeCore — native compilation orchestrator - │ ├→ _WasmCommonPrepareForWasmBuildNative - │ ├→ PrepareForWasmBuildNative - │ │ ├→ _CheckToolchainIsExpectedVersion - │ │ └→ _PrepareForBrowserWasmBuildNative [5ms] - │ ├→ _ScanAssembliesDecideLightweightMarshaler [362ms] - │ │ └→ TASK: MarshalingPInvokeScanner — scans assemblies for P/Invoke - │ ├→ _GenerateManagedToNative [1.26s] - │ │ ├→ TASK: Exec — runs helper tool - │ │ └→ TASK: ManagedToNativeGenerator — scans pinvokes + icalls - │ ├→ WasmLinkDotNet — linking orchestrator - │ │ ├→ _WasmSelectRuntimeComponentsForLinking - │ │ │ └→ _MonoSelectRuntimeComponents - │ │ │ └→ _MonoComputeAvailableComponentDefinitions - │ │ │ └→ _MonoReadAvailableComponentsManifest [2ms] - │ │ ├→ _WasmCalculateInitialHeapSizeFromBitcodeFiles [17ms] - │ │ │ └→ TASK: WasmCalculateInitialHeapSize - │ │ ├→ _WasmWriteRspForCompilingNativeSourceFiles [1ms] - │ │ │ └→ _BrowserWasmWriteCompileRsp (BeforeTargets) - │ │ ├→ _WasmCompileNativeSourceFiles [4.46s] ← MOST EXPENSIVE - │ │ │ └→ TASK: EmccCompile — compiles pinvoke.c, driver.c, corebindings.c etc. - │ │ ├→ _WasmWriteRspForLinking - │ │ │ └→ _BrowserWasmWriteRspForLinking (BeforeTargets) - │ │ └→ _BrowserWasmLinkDotNet [4.46s] ← SECOND MOST EXPENSIVE - │ │ └→ TASK: Exec — runs emcc linker - │ ├→ WasmAfterLinkSteps - │ └→ _CompleteWasmBuildNative (AfterTargets) - └→ _EmitWasmAssembliesFinal -``` - -### 3.2 Publish-only additions: `WasmTriggerPublishApp` - -The publish flow adds these targets before the native build: - -``` -Publish - └→ WasmTriggerPublishApp [14.4s] — triggers nested publish - └→ (nested MSBuild invocation with WasmBuildingForNestedPublish=true) - └→ WasmNestedPublishApp - ├→ ComputeFilesToPublish - │ ├→ ILLink [7ms] — IL trimming - │ │ └→ _RunILLink [3.02s] — actual ILLinker execution - │ │ └→ PrepareForILLink - │ │ └→ _ComputeManagedAssemblyToLink - │ ├→ ProcessPublishFilesForWasm [60ms] - │ │ └→ _WasmNative (BeforeTargets) - │ │ └→ _GatherWasmFilesToPublish - │ ├→ ComputeWasmExtensions [1ms] - │ └→ _AddWasmWebConfigFile - ├→ _GatherWasmFilesToPublish - └→ _WasmBuildAppCore — same chain as build (see 3.1) - └→ ... (identical native pipeline) - - (post-publish static web asset processing) - └→ GeneratePublishWasmBootJson [13ms] - └→ _AddPublishWasmBootJsonToStaticWebAssets - └→ _AddWasmPreloadPublishProperties - └→ ResolvePublishStaticWebAssets - └→ CopyFilesToPublishDirectory -``` - -**Publish also runs `_RunWasmOptPostLink` [686ms]** — wasm-opt optimization pass on the -linked `.wasm` file — which does NOT run in the build scenario. - ---- - -## 4. Key Properties - -### Properties that differ between default and native builds - -| Property | Default (no native) | Native Build | -|----------|-------------------|--------------| -| `WasmNativeWorkload` | `false` | `true` | -| `WasmNativeWorkloadAvailable` | `false` | `true` | -| `WasmBuildNative` | *(not set)* | `true` | -| `IsWasmProject` | *(not set)* | `true` | -| `IsBrowserWasmProject` | *(not set)* | `true` | -| `WasmIsWorkloadAvailable` | *(not set)* | `true` | -| `EnableDefaultWasmAssembliesToBundle` | `false` | `true` | -| `_WasmNativeWorkloadNeeded` | *(not set)* | `true` | -| All `Emscripten*` paths | *(not set)* | Set to SDK pack paths | - -### Properties specific to publish (vs build) - -| Property | Build | Publish (nested) | -|----------|-------|-----------------| -| `_IsPublishing` | *(not set)* | `true` | -| `_WasmIsPublishing` | *(not set)* | `true` | -| `WasmBuildingForNestedPublish` | *(not set)* | `true` | -| `WasmBuildOnlyAfterPublish` | *(not set)* | `true` | -| `_WasmInNestedPublish_UniqueProperty_XYZ` | *(not set)* | `true` | -| `_WasmDebuggerSupport` | `true` | `false` | -| `_WasmEnableHotReload` | `true` | `false` | - -### All WASM Properties (native build) - -``` -WasmAppBuilderTasksAssemblyPath = ...packs/Microsoft.NET.Runtime.WebAssembly.Sdk/.../WasmAppBuilder.dll -WasmAppHostDir = ...packs/Microsoft.NET.Runtime.WebAssembly.Sdk/.../WasmAppHost/ -WasmAssemblyExtension = .wasm -WasmBuildAppAfterThisTarget = Build -WasmBuildNative = true -WasmBuildTasksAssemblyPath = ...packs/Microsoft.NET.Runtime.WebAssembly.Sdk/.../WasmBuildTasks.dll -WasmCachePath = ...packs/Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64/.../emscripten/cache/ -WasmClang = emcc -WasmDedup = true -WasmEmitSymbolMap = false -WasmEnableExceptionHandling = true -WasmEnableJsInteropByValue = false -WasmEnableSIMD = true -WasmEnableStreamingResponse = true -WasmEnableWebcil = true -WasmGenerateAppBundle = false -WasmNativeWorkload = true -WasmRuntimeAssetsLocation = _framework -WasmSingleFileBundle = false -WasmStripAOTAssemblies = false -WasmStripILAfterAOT = true -WasmTriggerPublishAppAfterThisTarget = Publish -_WasmDebuggerSupport = true -_WasmDefaultFlags = -msimd128 -_WasmEnableHotReload = true -_WasmOutputFileName = dotnet.native.wasm -``` - ---- - -## 5. Key Items - -### Emscripten Environment - -```xml -@(EmscriptenEnvVars): - EMSDK_PYTHON=...packs/Microsoft.NET.Runtime.Emscripten.3.1.56.Python.win-x64/.../python.exe - PYTHONUTF8=1 - -@(EmscriptenPrependPATH): - .../Emscripten.3.1.56.Python.win-x64/.../tools/ - .../Emscripten.3.1.56.Node.win-x64/.../tools/bin/ - .../Emscripten.3.1.56.Sdk.win-x64/.../tools/bin/ - .../Emscripten.3.1.56.Sdk.win-x64/.../tools/emscripten/ -``` - ---- - -## 6. Key Tasks and What They Do - -| Task | Target | Duration | Description | -|------|--------|----------|-------------| -| `ReadWasmProps` | `_ReadWasmProps` | 10ms | Reads wasm.props from runtime pack, sets native source/header/lib paths | -| `MarshalingPInvokeScanner` | `_ScanAssembliesDecideLightweightMarshaler` | 362ms | Scans managed assemblies for P/Invoke signatures to decide marshaling strategy | -| `ManagedToNativeGenerator` | `_GenerateManagedToNative` | 1.1s | Scans all assemblies for pinvokes and icalls, generates native bridge code | -| `MonoRuntimeComponentManifestReadTask` | `_MonoReadAvailableComponentsManifest` | 2ms | Reads available Mono runtime components manifest | -| `WasmCalculateInitialHeapSize` | `_WasmCalculateInitialHeapSizeFromBitcodeFiles` | 17ms | Calculates WASM initial heap size from bitcode files | -| `EmccCompile` | `_WasmCompileNativeSourceFiles` | 4.5s | Compiles C sources (pinvoke.c, driver.c, corebindings.c, etc.) with emcc | -| `Exec` (emcc link) | `_BrowserWasmLinkDotNet` | 4.5s | Links all objects into final `dotnet.native.wasm` with emcc | -| `ComputeWasmBuildAssets` | `_ResolveWasmOutputs` | 20ms | Resolves output file list for static web assets | -| `ILLink` (publish only) | `_RunILLink` | 3.0s | Trims unused IL from managed assemblies | -| wasm-opt (publish only) | `_RunWasmOptPostLink` | 686ms | Post-link optimization of the .wasm binary | - -### emcc Linker Flags (from `_BrowserWasmLinkDotNet`) - -``` --O0 -v -g --fwasm-exceptions --s EXPORT_ES6=1 --lexports.js --s LLD_REPORT_UNDEFINED --s ERROR_ON_UNDEFINED_SYMBOLS=1 --s INITIAL_MEMORY=33554432 ← WasmInitialHeapSize (32MB) --s STACK_SIZE=5MB --s WASM_BIGINT=1 ---pre-js /src/es6/dotnet.pre.js ---js-library /src/es6/dotnet.lib.js ---extern-pre-js /src/es6/dotnet.extpre.js ---extern-post-js /src/es6/dotnet.extpost.js -``` - -Environment variables for emcc: -``` -EMSDK_PYTHON=/python.exe -PYTHONUTF8=1 -DOTNET_EMSCRIPTEN_LLVM_ROOT=/tools/bin -DOTNET_EMSCRIPTEN_BINARYEN_ROOT=/tools/ -``` - ---- - -## 7. Target Dependency Chains (DependsOn properties) - -These MSBuild properties define the target ordering: - -``` -WasmBuildAppDependsOn = _WasmBuildAppCore - -_WasmBuildAppCoreDependsOn = - _InitializeCommonProperties - PrepareInputsForWasmBuild - _WasmResolveReferences - _WasmBuildNativeCore - WasmGenerateAppBundle - _EmitWasmAssembliesFinal - -_WasmBuildNativeCoreDependsOn = - _WasmCommonPrepareForWasmBuildNative - PrepareForWasmBuildNative - _ScanAssembliesDecideLightweightMarshaler - _WasmAotCompileApp ← only when RunAOTCompilation=true - _WasmStripAOTAssemblies ← only when RunAOTCompilation=true - _GenerateManagedToNative - WasmLinkDotNet - WasmAfterLinkSteps - -PrepareInputsForWasmBuildDependsOn = - _SetupToolchain - _ReadWasmProps - _SetWasmBuildNativeDefaults - _GetDefaultWasmAssembliesToBundle - -PrepareForWasmBuildNativeDependsOn = - _CheckToolchainIsExpectedVersion - _PrepareForBrowserWasmBuildNative - -WasmLinkDotNetDependsOn = - _CheckToolchainIsExpectedVersion - _WasmSelectRuntimeComponentsForLinking - _WasmCompileAssemblyBitCodeFilesForAOT ← only when AOT - _WasmCalculateInitialHeapSizeFromBitcodeFiles - _WasmWriteRspForCompilingNativeSourceFiles - _WasmCompileNativeSourceFiles - _GenerateManagedToNative ← generates pinvoke tables - _WasmWriteRspForLinking - _BrowserWasmLinkDotNet ← actual emcc link - -WasmNestedPublishAppDependsOn = - _GatherWasmFilesToPublish - _WasmBuildAppCore ← same core pipeline -``` - ---- - -## 8. SDK Packs Used - -The native build requires these workload packs (Emscripten 3.1.56, .NET 10.0.3): - -| Pack | Content | -|------|---------| -| `Microsoft.NET.Runtime.WebAssembly.Sdk` | MSBuild targets, tasks (WasmAppBuilder.dll, WasmBuildTasks.dll) | -| `Microsoft.NET.Runtime.MonoTargets.Sdk` | Mono-specific tasks (MonoTargetsTasks.dll) | -| `Microsoft.NETCore.App.Runtime.Mono.browser-wasm` | Precompiled runtime, native sources (pinvoke.c, driver.c), JS glue | -| `Microsoft.NET.Runtime.Emscripten.3.1.56.Sdk.win-x64` | emcc, clang, lld, binaryen | -| `Microsoft.NET.Runtime.Emscripten.3.1.56.Node.win-x64` | Node.js for Emscripten | -| `Microsoft.NET.Runtime.Emscripten.3.1.56.Python.win-x64` | Python for Emscripten | -| `Microsoft.NET.Runtime.Emscripten.3.1.56.Cache.win-x64` | Prebuilt Emscripten cache (libc, etc.) | -| `Microsoft.NET.Sdk.WebAssembly.Pack` | WebAssembly SDK integration, boot JSON generation | - ---- - -## 9. Timing Summary - -### Build (WasmNativeBuild=true) - -| Phase | Duration | -|-------|----------| -| Restore | 3.4s | -| Normal build (Compile, etc.) | ~1s | -| `_ScanAssembliesDecideLightweightMarshaler` | 362ms | -| `_GenerateManagedToNative` | 1.26s | -| `_WasmCompileNativeSourceFiles` (EmccCompile) | **4.46s** | -| `_BrowserWasmLinkDotNet` (emcc link) | **4.46s** | -| `_ResolveWasmOutputs` | 219ms | -| **Total** | ~12s | - -### Publish (WasmNativeBuild=true) - -| Phase | Duration | -|-------|----------| -| Restore | ~1s | -| Normal build | ~2s | -| `_RunILLink` (IL trimming) | **3.02s** | -| `_WasmCompileNativeSourceFiles` | **3.90s** | -| `_BrowserWasmLinkDotNet` + `_RunWasmOptPostLink` | **10.45s** | -| **Total** | ~28s | - ---- - -## 10. How to Recreate the Build - -To reproduce what `dotnet build` with `WasmNativeBuild=true` does: - -1. **Scan assemblies** for P/Invoke signatures → `MarshalingPInvokeScanner` -2. **Generate native bridge** code (pinvoke tables, icall tables) → `ManagedToNativeGenerator` -3. **Read runtime component manifest** and select components for linking -4. **Calculate initial heap size** from bitcode files -5. **Compile native sources** with `emcc`: - - Sources: `pinvoke.c`, `driver.c`, `corebindings.c` from runtime pack - - Plus generated pinvoke/icall tables - - Flags: `-msimd128`, platform-specific -6. **Link with emcc** into `dotnet.native.wasm`: - - Objects from step 5 - - Runtime bitcode libraries - - JS glue files (`dotnet.pre.js`, `dotnet.lib.js`, etc.) - - Flags: `-fwasm-exceptions`, SIMD, ES6 exports, 32MB initial memory -7. **Resolve outputs** and register as static web assets -8. **Generate boot JSON** for the browser runtime loader - -For **publish**, insert before step 1: -- **IL Link/Trim** managed assemblies (removes unused code) -- After step 6: **Run wasm-opt** for binary optimization - ---- - -## 11. Targets Unique to Each Scenario - -### Only in native build (not in default) -``` -WasmBuildApp, _WasmBuildAppCore, _WasmBuildNativeCore, _WasmNativeForBuild -_InitializeCommonProperties, PrepareInputsForWasmBuild, _SetupToolchain, _SetupEmscripten -_ReadWasmProps, _SetWasmBuildNativeDefaults, PrepareForWasmBuildNative -_WasmCommonPrepareForWasmBuildNative, _CheckToolchainIsExpectedVersion -_PrepareForBrowserWasmBuildNative, _ScanAssembliesDecideLightweightMarshaler -_GenerateManagedToNative, WasmLinkDotNet, _WasmSelectRuntimeComponentsForLinking -_MonoSelectRuntimeComponents, _MonoComputeAvailableComponentDefinitions -_MonoReadAvailableComponentsManifest, _WasmCalculateInitialHeapSizeFromBitcodeFiles -_BrowserWasmWriteCompileRsp, _WasmWriteRspForCompilingNativeSourceFiles -_WasmCompileNativeSourceFiles, _BrowserWasmWriteRspForLinking, _WasmWriteRspForLinking -_BrowserWasmLinkDotNet, _CompleteWasmBuildNative, WasmAfterLinkSteps -_EmitWasmAssembliesFinal, _GatherWasmFilesToBuild -``` - -### Only in publish (not in build) -``` -WasmTriggerPublishApp, WasmNestedPublishApp, _WasmPrepareForPublish -_WasmNative, ProcessPublishFilesForWasm, _GatherWasmFilesToPublish -ComputeWasmExtensions, _AddWasmWebConfigFile, GeneratePublishWasmBootJson -_AddPublishWasmBootJsonToStaticWebAssets, _AddWasmPreloadPublishProperties -ILLink, _RunILLink, PrepareForILLink, _ComputeManagedAssemblyToLink -_RunWasmOptPostLink -ComputeFilesToPublish, CopyFilesToPublishDirectory, Publish -(+ all static web asset publish targets) -``` From 78761fc605b9993ad2113f7ba29719cfd44fd93b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 08:51:00 +0000 Subject: [PATCH 28/38] Revert WBT test categorization changes (defer to follow-up) Remove all TestCategory additions (native, coreclr-native, workload, mono) from Wasm.Build.Tests, delete BuildWasmAppsJobsListCoreCLR.txt, and revert the xunit trait filter changes in sendtohelix-browser.targets and Wasm.Build.Tests.csproj back to the original CoreCLR filter. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../BuildWasmAppsJobsListCoreCLR.txt | 19 ------------------- src/libraries/sendtohelix-browser.targets | 5 ++--- .../Blazor/BuildPublishTests.cs | 3 --- .../Wasm.Build.Tests/Blazor/CleanTests.cs | 1 - .../Wasm.Build.Tests/Blazor/DllImportTests.cs | 1 - .../Blazor/EventPipeDiagnosticsTests.cs | 1 - .../wasm/Wasm.Build.Tests/Blazor/MiscTests.cs | 3 --- .../Wasm.Build.Tests/Blazor/NativeRefTests.cs | 1 - .../Blazor/NoopNativeRebuildTest.cs | 1 - .../Blazor/SimpleMultiThreadedTests.cs | 1 - .../Wasm.Build.Tests/Blazor/SimpleRunTests.cs | 1 - .../Wasm.Build.Tests/BuildPublishTests.cs | 2 -- .../wasm/Wasm.Build.Tests/DiagnosticsTests.cs | 1 - .../wasm/Wasm.Build.Tests/DllImportTests.cs | 6 ------ .../wasm/Wasm.Build.Tests/IcuShardingTests.cs | 2 -- .../Wasm.Build.Tests/IcuShardingTests2.cs | 1 - src/mono/wasm/Wasm.Build.Tests/IcuTests.cs | 3 --- .../wasm/Wasm.Build.Tests/InterpPgoTests.cs | 1 - .../InvariantGlobalizationTests.cs | 2 -- .../InvariantTimezoneTests.cs | 2 -- .../wasm/Wasm.Build.Tests/LazyLoadingTests.cs | 2 +- .../Wasm.Build.Tests/MainWithArgsTests.cs | 2 -- src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs | 1 - .../Wasm.Build.Tests/ModuleConfigTests.cs | 3 +-- .../wasm/Wasm.Build.Tests/NativeBuildTests.cs | 5 ----- .../Wasm.Build.Tests/NativeLibraryTests.cs | 1 - .../FlagsChangeRebuildTest.cs | 1 - .../NoopNativeRebuildTest.cs | 1 - .../OptimizationFlagChangeTests.cs | 1 - .../ReferenceNewAssemblyRebuildTest.cs | 1 - .../SimpleSourceChangeRebuildTest.cs | 1 - .../PInvokeTableGeneratorTests.cs | 12 ------------ .../SatelliteAssembliesTests.cs | 3 --- .../Wasm.Build.Tests/SatelliteLoadingTests.cs | 4 ++-- .../Templates/NativeBuildTests.cs | 1 - .../Templates/WasmTemplateTests.cs | 10 ++-------- .../Wasm.Build.Tests/Wasm.Build.Tests.csproj | 2 +- .../wasm/Wasm.Build.Tests/WasmBuildAppTest.cs | 5 ----- .../WasmNativeDefaultsTests.cs | 1 - .../wasm/Wasm.Build.Tests/WasmSIMDTests.cs | 1 - .../wasm/Wasm.Build.Tests/WorkloadTests.cs | 1 - 41 files changed, 9 insertions(+), 107 deletions(-) delete mode 100644 eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt diff --git a/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt b/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt deleted file mode 100644 index a00313e1e36bab..00000000000000 --- a/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt +++ /dev/null @@ -1,19 +0,0 @@ -Wasm.Build.Tests.DebugLevelTests -Wasm.Build.Tests.EnvVariablesTests -Wasm.Build.Tests.FilesToIncludeInFileSystemTests -Wasm.Build.Tests.HttpTests -Wasm.Build.Tests.IcuShardingTests -Wasm.Build.Tests.IcuShardingTests2 -Wasm.Build.Tests.IcuTests -Wasm.Build.Tests.LazyLoadingTests -Wasm.Build.Tests.ModuleConfigTests -Wasm.Build.Tests.NativeBuildTests -Wasm.Build.Tests.PreloadingTests -Wasm.Build.Tests.RebuildTests -Wasm.Build.Tests.SatelliteLoadingTests -Wasm.Build.Tests.WasmBuildAppTest -Wasm.Build.Tests.WasmRunOutOfAppBundleTests -Wasm.Build.Tests.WasmTemplateTests -Wasm.Build.Tests.MaxParallelDownloadsTests -Wasm.Build.Tests.LibraryInitializerTests -Wasm.Build.Templates.Tests.NativeBuildTests diff --git a/src/libraries/sendtohelix-browser.targets b/src/libraries/sendtohelix-browser.targets index dc2fc9f44c8c89..0729da3fb808d7 100644 --- a/src/libraries/sendtohelix-browser.targets +++ b/src/libraries/sendtohelix-browser.targets @@ -131,13 +131,12 @@ - $(RepositoryEngineeringDir)testing\scenarios\BuildWasmAppsJobsList.txt - $(RepositoryEngineeringDir)testing\scenarios\BuildWasmAppsJobsListCoreCLR.txt + $(RepositoryEngineeringDir)testing\scenarios\BuildWasmAppsJobsList.txt <_XUnitTraitArg Condition="'$(TestUsingWorkloads)' == 'true'">-notrait category=no-workload <_XUnitTraitArg Condition="'$(TestUsingWorkloads)' != 'true'">-trait category=no-workload <_XUnitTraitArg Condition="'$(WasmFingerprintAssets)' == 'false'">$(_XUnitTraitArg) -trait category=no-fingerprinting <_XUnitTraitArg Condition="'$(WasmBundlerFriendlyBootConfig)' == 'true'">$(_XUnitTraitArg) -trait category=bundler-friendly - <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-notrait category=native -notrait category=mono -notrait category=workload + <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-trait category=$(RuntimeFlavor) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs index 106607c107c02e..63f2fd2a3bd145 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs @@ -50,7 +50,6 @@ public void DefaultTemplate_NoAOT_WithWorkload(Configuration config, bool testUn [Theory] [MemberData(nameof(TestDataForDefaultTemplate_WithWorkload), parameters: new object[] { true })] - [TestCategory("coreclr-native")] public void DefaultTemplate_AOT_WithWorkload(Configuration config, bool testUnicode) { ProjectInfo info = CopyTestAsset(config, aot: false, TestAsset.BlazorBasicTestApp, "blz_aot", appendUnicodeToPath: testUnicode); @@ -118,7 +117,6 @@ void AssertResourcesDlls(string basePath) [Theory] [InlineData("", true)] // Default case [InlineData("false", false)] // the other case - [TestCategory("coreclr-native")] public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectILStripping) { Configuration config = Configuration.Release; @@ -138,7 +136,6 @@ public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectIL [Theory] [InlineData(Configuration.Debug)] - [TestCategory("native")] public void BlazorWasm_CannotAOT_InDebug(Configuration config) { ProjectInfo info = CopyTestAsset( diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs index afb0d9c79e2720..2d9a8baa260f7a 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs @@ -13,7 +13,6 @@ namespace Wasm.Build.Tests.Blazor; -[TestCategory("native")] public class CleanTests : BlazorWasmTestBase { public CleanTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs index 03e1e1e84c8339..29df5cdc3aec7e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs @@ -15,7 +15,6 @@ namespace Wasm.Build.Tests.Blazor; -[TestCategory("native")] public class DllImportTests : BlazorWasmTestBase { public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs index 7f359c9e864a53..3ee0c013877bfb 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs @@ -17,7 +17,6 @@ namespace Wasm.Build.Tests.Blazor; -[TestCategory("mono")] public class EventPipeDiagnosticsTests : BlazorWasmTestBase { private static readonly string uploadPattern = "^[a-zA-Z0-9_]+\\.nettrace$"; diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs index 6b6955fd7bd476..d9f354b81631b6 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs @@ -30,7 +30,6 @@ public MiscTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildC [InlineData(Configuration.Release, true)] [InlineData(Configuration.Release, false)] [ActiveIssue("https://github.com/dotnet/runtime/issues/103566")] - [TestCategory("native")] public void NativeBuild_WithDeployOnBuild_UsedByVS(Configuration config, bool nativeRelink) { string extraProperties = config == Configuration.Debug @@ -58,7 +57,6 @@ public void NativeBuild_WithDeployOnBuild_UsedByVS(Configuration config, bool na [Theory] [InlineData(Configuration.Release)] - [TestCategory("native")] public void DefaultTemplate_AOT_InProjectFile(Configuration config) { string extraProperties = config == Configuration.Debug @@ -79,7 +77,6 @@ public void DefaultTemplate_AOT_InProjectFile(Configuration config) } [Fact] - [TestCategory("coreclr-native")] public void BugRegression_60479_WithRazorClassLib() { Configuration config = Configuration.Release; diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs index 2314cd4644f135..180c1e249c52bf 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs @@ -9,7 +9,6 @@ namespace Wasm.Build.Tests.Blazor; -[TestCategory("native")] public class NativeTests : BlazorWasmTestBase { public NativeTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs index 71c8c520dc16ec..526a4737a29beb 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs @@ -11,7 +11,6 @@ namespace Wasm.Build.Tests.Blazor { - [TestCategory("native")] public class NoopNativeRebuildTest : BlazorWasmTestBase { public NoopNativeRebuildTest(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs index f05c6093b75a54..72ae03786db60f 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs @@ -13,7 +13,6 @@ namespace Wasm.Build.Tests.MT.Blazor; -[TestCategory("mono")] public class SimpleMultiThreadedTests : BlazorWasmTestBase { public SimpleMultiThreadedTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs index aa5bb388aa553e..e623c6d4efc7e3 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs @@ -64,7 +64,6 @@ public async Task BlazorBuildAndRunForDifferentOutputPaths(Configuration config, [InlineData(Configuration.Debug, false)] [InlineData(Configuration.Release, false)] [InlineData(Configuration.Release, true)] - [TestCategory("coreclr-native")] public async Task BlazorPublishRunTest(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.BlazorBasicTestApp, "blazor_publish"); diff --git a/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs b/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs index 23dd76ebce99f2..41d7fdb6388fec 100644 --- a/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs @@ -23,7 +23,6 @@ public BuildPublishTests(ITestOutputHelper output, SharedBuildPerTestClassFixtur [Theory] [BuildAndRun(config: Configuration.Debug, aot: true)] - [TestCategory("native")] public void Wasm_CannotAOT_InDebug(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "no_aot_in_debug"); @@ -51,7 +50,6 @@ public async Task BuildThenPublishNoAOT(Configuration config, bool aot) [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] - [TestCategory("native")] public async Task BuildThenPublishWithAOT(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "build_publish"); diff --git a/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs b/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs index d5729449a7ce01..0e633e20943fd1 100644 --- a/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs @@ -13,7 +13,6 @@ namespace Wasm.Build.Tests; -[TestCategory("mono")] public class DiagnosticsTests : WasmTemplateTestsBase { public DiagnosticsTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs index 024ae441a34200..dac78c679157ce 100644 --- a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs @@ -23,7 +23,6 @@ public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture b [Theory] [BuildAndRun(aot: false)] - [TestCategory("native")] public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "variadic"); @@ -44,7 +43,6 @@ public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr"); @@ -64,7 +62,6 @@ public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configurat [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr_variadic"); @@ -84,7 +81,6 @@ public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWith [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration config, bool aot) { string extraProperties = "$(MSBuildWarningsAsMessage);WASM0001"; @@ -104,7 +100,6 @@ public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] public void UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_fnptr"); @@ -122,7 +117,6 @@ public void UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(Configur "with.per.iod", "with🚀unicode#" } })] - [TestCategory("native")] public async Task CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(Configuration config, bool aot, string[] libraryNames) { var extraItems = @""; diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs index 4af4f74c7dd5d3..e3ecb5a48717d0 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs @@ -41,13 +41,11 @@ from locale in locales [Theory] [MemberData(nameof(IcuExpectedAndMissingCustomShardTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] public async Task CustomIcuShard(Configuration config, bool aot, string customIcuPath, string customLocales, bool onlyPredefinedCultures) => await TestIcuShards(config, Template.WasmBrowser, aot, customIcuPath, customLocales, GlobalizationMode.Custom, onlyPredefinedCultures); [Theory] [MemberData(nameof(IcuExpectedAndMissingAutomaticShardTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] public async Task AutomaticShardSelectionDependingOnEnvLocale(Configuration config, bool aot, string environmentLocale, string testedLocales) => await PublishAndRunIcuTest(config, Template.WasmBrowser, aot, testedLocales, GlobalizationMode.Sharded, locale: environmentLocale); } diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs index 3c1edbdae35e01..c87afc44b9abb6 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs @@ -38,7 +38,6 @@ from locale in locales [Theory] [MemberData(nameof(IcuExpectedAndMissingShardFromRuntimePackTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] public async Task DefaultAvailableIcuShardsFromRuntimePack(Configuration config, bool aot, string shardName, string testedLocales) => await TestIcuShards(config, Template.WasmBrowser, aot, shardName, testedLocales, GlobalizationMode.Custom); } diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs index 2a800a75517f45..825f00e3b9b6f0 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs @@ -53,7 +53,6 @@ public static IEnumerable IncorrectIcuTestData(Configuration config) [Theory] [MemberData(nameof(FullIcuWithInvariantTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] public async Task FullIcuFromRuntimePackWithInvariant(Configuration config=Configuration.Release, bool aot=false, bool invariant=true, bool fullIcu=true, string testedLocales="Array.Empty()") => await PublishAndRunIcuTest( config, @@ -67,7 +66,6 @@ await PublishAndRunIcuTest( [Theory] [MemberData(nameof(FullIcuWithICustomIcuTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] public async Task FullIcuFromRuntimePackWithCustomIcu(Configuration config, bool aot, bool fullIcu) { string customIcuProperty = "BlazorIcuDataFileName"; @@ -84,7 +82,6 @@ public async Task FullIcuFromRuntimePackWithCustomIcu(Configuration config, bool [Theory] [MemberData(nameof(IncorrectIcuTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("workload")] public void NonExistingCustomFileAssertError(Configuration config, string customIcu, bool isFilenameFormCorrect) { string customIcuProperty = "BlazorIcuDataFileName"; diff --git a/src/mono/wasm/Wasm.Build.Tests/InterpPgoTests.cs b/src/mono/wasm/Wasm.Build.Tests/InterpPgoTests.cs index 693ef6d1fd4f5c..4af6f409aeedb7 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InterpPgoTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InterpPgoTests.cs @@ -15,7 +15,6 @@ namespace Wasm.Build.Tests; -[TestCategory("mono")] public class InterpPgoTests : WasmTemplateTestsBase { public InterpPgoTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs b/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs index 4b356546605a4b..28253df6cea2c2 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs @@ -32,14 +32,12 @@ public InvariantGlobalizationTests(ITestOutputHelper output, SharedBuildPerTestC [Theory] [MemberData(nameof(InvariantGlobalizationTestData), parameters: new object[] { /*aot*/ false })] [MemberData(nameof(InvariantGlobalizationTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("native")] public async Task AOT_InvariantGlobalization(Configuration config, bool aot, bool? invariantGlobalization) => await TestInvariantGlobalization(config, aot, invariantGlobalization); // TODO: What else should we use to verify a relinked build? [Theory] [MemberData(nameof(InvariantGlobalizationTestData), parameters: new object[] { /*aot*/ false })] - [TestCategory("coreclr-native")] public async Task RelinkingWithoutAOT(Configuration config, bool aot, bool? invariantGlobalization) => await TestInvariantGlobalization(config, aot, invariantGlobalization, isNativeBuild: true); diff --git a/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs b/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs index 7f09a321eadfde..d515dfea8312ae 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs @@ -29,13 +29,11 @@ public InvariantTimezoneTests(ITestOutputHelper output, SharedBuildPerTestClassF [Theory] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ false, })] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("coreclr-native")] public async Task AOT_InvariantTimezone(Configuration config, bool aot, bool? invariantTimezone) => await TestInvariantTimezone(config, aot, invariantTimezone); [Theory] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ false })] - [TestCategory("coreclr-native")] public async Task RelinkingWithoutAOT(Configuration config, bool aot, bool? invariantTimezone) => await TestInvariantTimezone(config, aot, invariantTimezone, isNativeBuild: true); diff --git a/src/mono/wasm/Wasm.Build.Tests/LazyLoadingTests.cs b/src/mono/wasm/Wasm.Build.Tests/LazyLoadingTests.cs index 4fafdce6d184b6..65011962374221 100644 --- a/src/mono/wasm/Wasm.Build.Tests/LazyLoadingTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/LazyLoadingTests.cs @@ -27,7 +27,7 @@ public LazyLoadingTests(ITestOutputHelper output, SharedBuildPerTestClassFixture return data.Select(d => new object[] { d, data }); } - [ConditionalTheory(typeof(BuildTestBase), nameof(IsMonoRuntime)), TestCategory("no-fingerprinting")] + [Theory, TestCategory("no-fingerprinting")] [MemberData(nameof(LoadLazyAssemblyBeforeItIsNeededData))] public async Task LoadLazyAssemblyBeforeItIsNeeded(string lazyLoadingTestExtension, string[] allLazyLoadingTestExtensions) { diff --git a/src/mono/wasm/Wasm.Build.Tests/MainWithArgsTests.cs b/src/mono/wasm/Wasm.Build.Tests/MainWithArgsTests.cs index ef4d837da761a7..83e79e6955dddf 100644 --- a/src/mono/wasm/Wasm.Build.Tests/MainWithArgsTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/MainWithArgsTests.cs @@ -31,14 +31,12 @@ public MainWithArgsTests(ITestOutputHelper output, SharedBuildPerTestClassFixtur [Theory] [MemberData(nameof(MainWithArgsTestData), parameters: new object[] { /*aot*/ false })] [MemberData(nameof(MainWithArgsTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("native")] public async Task AsyncMainWithArgs(Configuration config, bool aot, string[] args) => await TestMainWithArgs(config, aot, "async_main_with_args", "AsyncMainWithArgs.cs", args); [Theory] [MemberData(nameof(MainWithArgsTestData), parameters: new object[] { /*aot*/ false })] [MemberData(nameof(MainWithArgsTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("native")] public async Task NonAsyncMainWithArgs(Configuration config, bool aot, string[] args) => await TestMainWithArgs(config, aot, "non_async_main_args", "SyncMainWithArgs.cs", args); diff --git a/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs b/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs index 454890d6e8b57a..50283071f30bde 100644 --- a/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs @@ -13,7 +13,6 @@ namespace Wasm.Build.Tests; -[TestCategory("coreclr-native")] public class MemoryTests : WasmTemplateTestsBase { public MemoryTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs b/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs index 699cc706756a8a..183e9a0be85e50 100644 --- a/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs @@ -57,7 +57,7 @@ public async Task DownloadProgressFinishes(bool failAssemblyDownload) ); } - [ConditionalFact(typeof(BuildTestBase), nameof(IsMonoRuntime)), TestCategory("bundler-friendly")] + [Fact, TestCategory("bundler-friendly")] public async Task OutErrOverrideWorks() { Configuration config = Configuration.Debug; @@ -98,7 +98,6 @@ public async Task AssetIntegrity() [Theory] [InlineData(false)] [InlineData(true)] - [TestCategory("native")] public void SymbolMapFileEmitted(bool isPublish) => SymbolMapFileEmittedCore(emitSymbolMap: true, isPublish); diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index fa7650c4f8d379..6716d4d350a298 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -22,7 +22,6 @@ public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture [Theory] [BuildAndRun(aot: false)] - [TestCategory("coreclr-native")] public async Task SimpleNativeBuild(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -41,7 +40,6 @@ public async Task SimpleNativeBuild(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true)] - [TestCategory("coreclr-native")] public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -60,7 +58,6 @@ public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] - [TestCategory("coreclr-native")] public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, bool aot) { string printFileTypeTarget = @" @@ -93,7 +90,6 @@ public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, b [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] - [TestCategory("coreclr-native")] public void NativeBuildIsRequired(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -108,7 +104,6 @@ public void NativeBuildIsRequired(Configuration config, bool aot) } [Fact] - [TestCategory("coreclr-native")] public async Task ZipArchiveInteropTest() { Configuration config = Configuration.Debug; diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeLibraryTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeLibraryTests.cs index 9cbe49352c147c..f01fb37c5fe993 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeLibraryTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeLibraryTests.cs @@ -11,7 +11,6 @@ namespace Wasm.Build.Tests { - [TestCategory("native")] public class NativeLibraryTests : WasmTemplateTestsBase { public NativeLibraryTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/FlagsChangeRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/FlagsChangeRebuildTest.cs index 8182a03b093c64..0c16c575dbb212 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/FlagsChangeRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/FlagsChangeRebuildTest.cs @@ -13,7 +13,6 @@ namespace Wasm.Build.NativeRebuild.Tests { - [TestCategory("native")] public class FlagsChangeRebuildTests : NativeRebuildTestsBase { public FlagsChangeRebuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs index a07a03da24e201..00c6c25ecf6ed0 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs @@ -11,7 +11,6 @@ namespace Wasm.Build.NativeRebuild.Tests { - [TestCategory("native")] public class NoopNativeRebuildTest : NativeRebuildTestsBase { public NoopNativeRebuildTest(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/OptimizationFlagChangeTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/OptimizationFlagChangeTests.cs index 205add7709be63..0bc203214df016 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/OptimizationFlagChangeTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/OptimizationFlagChangeTests.cs @@ -14,7 +14,6 @@ namespace Wasm.Build.NativeRebuild.Tests; -[TestCategory("native")] public class OptimizationFlagChangeTests : NativeRebuildTestsBase { public OptimizationFlagChangeTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/ReferenceNewAssemblyRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/ReferenceNewAssemblyRebuildTest.cs index ff7d6bc862c32c..bc9d6a4cb5a59d 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/ReferenceNewAssemblyRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/ReferenceNewAssemblyRebuildTest.cs @@ -13,7 +13,6 @@ namespace Wasm.Build.NativeRebuild.Tests { - [TestCategory("native")] public class ReferenceNewAssemblyRebuildTest : NativeRebuildTestsBase { public ReferenceNewAssemblyRebuildTest(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/SimpleSourceChangeRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/SimpleSourceChangeRebuildTest.cs index 7de98cf6560f73..342fb537cf3ba6 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/SimpleSourceChangeRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/SimpleSourceChangeRebuildTest.cs @@ -12,7 +12,6 @@ namespace Wasm.Build.NativeRebuild.Tests { - [TestCategory("native")] public class SimpleSourceChangeRebuildTest : NativeRebuildTestsBase { public SimpleSourceChangeRebuildTest(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs index 25dfa3a0c4d110..b17615c648bf93 100644 --- a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs @@ -23,7 +23,6 @@ public PInvokeTableGeneratorTests(ITestOutputHelper output, SharedBuildPerTestCl [Theory] [BuildAndRun()] - [TestCategory("native")] public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable (Configuration config, bool aot) { @@ -35,7 +34,6 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable (Configuration config, bool aot) { @@ -47,7 +45,6 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] public async Task UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable (Configuration config, bool aot) { @@ -96,7 +93,6 @@ private ProjectInfo PrepreProjectForBlittableTests(Configuration config, bool ao [Theory] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Debug)] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Release)] - [TestCategory("coreclr-native")] public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly (Configuration config, bool aot, bool libraryHasAttribute, bool appHasAttribute, bool expectSuccess) { @@ -136,7 +132,6 @@ public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_filetype"); @@ -156,7 +151,6 @@ public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_namespace"); @@ -185,7 +179,6 @@ public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot [Theory] [BuildAndRun()] - [TestCategory("native")] public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) { string appendToTheEnd = @@ -282,7 +275,6 @@ public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) [Theory] [BuildAndRun(parameters: new object[] { "tr_TR.UTF-8" })] - [TestCategory("coreclr-native")] public async Task BuildNativeInNonEnglishCulture(Configuration config, bool aot, string culture) { // Check that we can generate interp tables in non-english cultures @@ -358,19 +350,16 @@ private async Task EnsureWasmAbiRulesAreFollowed(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] - [TestCategory("native")] public async Task EnsureWasmAbiRulesAreFollowedInAOT(Configuration config, bool aot) => await EnsureWasmAbiRulesAreFollowed(config, aot); [Theory] [BuildAndRun(aot: false)] - [TestCategory("native")] public async Task EnsureWasmAbiRulesAreFollowedInInterpreter(Configuration config, bool aot) => await EnsureWasmAbiRulesAreFollowed(config, aot); [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] - [TestCategory("native")] public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "com"); @@ -383,7 +372,6 @@ public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) [Theory] [BuildAndRun(aot: false)] - [TestCategory("coreclr-native")] public async Task UCOWithSpecialCharacters(Configuration config, bool aot) { var extraProperties = "true"; diff --git a/src/mono/wasm/Wasm.Build.Tests/SatelliteAssembliesTests.cs b/src/mono/wasm/Wasm.Build.Tests/SatelliteAssembliesTests.cs index dd9e20d2a8b59a..140e63c326433d 100644 --- a/src/mono/wasm/Wasm.Build.Tests/SatelliteAssembliesTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/SatelliteAssembliesTests.cs @@ -33,7 +33,6 @@ public SatelliteAssembliesTests(ITestOutputHelper output, SharedBuildPerTestClas [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ false, /*relinking*/ false })] [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ false, /*relinking*/ true })] [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ true, /*relinking*/ false })] - [TestCategory("native")] public async Task ResourcesFromMainAssembly(Configuration config, bool aot, bool nativeRelink, string? argCulture) { string prefix = $"sat_asm_from_main_asm"; @@ -60,7 +59,6 @@ public async Task ResourcesFromMainAssembly(Configuration config, bool aot, bool [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ false, /*relinking*/ false })] [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ false, /*relinking*/ true })] [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ true, /*relinking*/ true })] - [TestCategory("native")] public async Task ResourcesFromProjectReference(Configuration config, bool aot, bool nativeRelink, string? argCulture) { string prefix = $"SatelliteAssemblyFromProjectRef"; @@ -95,7 +93,6 @@ await RunForPublishWithWebServer( #pragma warning disable xUnit1026 [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] - [TestCategory("native")] public void CheckThatSatelliteAssembliesAreNotAOTed(Configuration config, bool aot) { string extraProperties = $@"-O1 diff --git a/src/mono/wasm/Wasm.Build.Tests/SatelliteLoadingTests.cs b/src/mono/wasm/Wasm.Build.Tests/SatelliteLoadingTests.cs index 10976b41087d3e..c0bc8895e093fb 100644 --- a/src/mono/wasm/Wasm.Build.Tests/SatelliteLoadingTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/SatelliteLoadingTests.cs @@ -25,7 +25,7 @@ public SatelliteLoadingTests(ITestOutputHelper output, SharedBuildPerTestClassFi { } - [ConditionalTheory(typeof(BuildTestBase), nameof(IsMonoRuntime)), TestCategory("no-fingerprinting")] + [Theory, TestCategory("no-fingerprinting")] [InlineData(false)] [InlineData(true)] public async Task LoadSatelliteAssembly(bool loadAllSatelliteResources) @@ -60,7 +60,7 @@ public async Task LoadSatelliteAssembly(bool loadAllSatelliteResources) ); } - [ConditionalFact(typeof(BuildTestBase), nameof(IsMonoRuntime)), TestCategory("bundler-friendly")] + [Fact, TestCategory("bundler-friendly")] public async Task LoadSatelliteAssemblyFromReference() { Configuration config = Configuration.Release; diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs index 9da85ee187a094..b1f892901d13d4 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs @@ -11,7 +11,6 @@ namespace Wasm.Build.Templates.Tests { - [TestCategory("coreclr-native")] public class NativeBuildTests : WasmTemplateTestsBase { public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs index 4dcab63cb30848..fb7425bb6af945 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs @@ -22,7 +22,7 @@ public WasmTemplateTests(ITestOutputHelper output, SharedBuildPerTestClassFixtur { } - [Theory, TestCategory("no-fingerprinting"), TestCategory("workload")] + [Theory, TestCategory("no-fingerprinting")] [InlineData(Configuration.Debug)] [InlineData(Configuration.Release)] public void BrowserBuildThenPublish(Configuration config) @@ -70,7 +70,7 @@ void AddTestData(bool runOutsideProjectDirectory) return data; } - [Theory, TestCategory("no-fingerprinting"), TestCategory("workload")] + [Theory, TestCategory("no-fingerprinting")] [MemberData(nameof(TestDataForAppBundleDir))] public async Task RunWithDifferentAppBundleLocations(bool runOutsideProjectDirectory, string extraProperties) => await BrowserRunTwiceWithAndThenWithoutBuildAsync(Configuration.Release, extraProperties, runOutsideProjectDirectory); @@ -134,7 +134,6 @@ private async Task BrowserRunTwiceWithAndThenWithoutBuildAsync(Configuration con [Theory] [MemberData(nameof(BrowserBuildAndRunTestData))] - [TestCategory("workload")] public async Task BrowserBuildAndRun(string extraNewArgs, string targetFramework, string runtimeAssetsRelativePath) { Configuration config = Configuration.Debug; @@ -166,7 +165,6 @@ public async Task BrowserBuildAndRun(string extraNewArgs, string targetFramework [InlineData(Configuration.Debug, /*appendRID*/ true, /*useArtifacts*/ true)] [InlineData(Configuration.Debug, /*appendRID*/ false, /*useArtifacts*/ true)] [InlineData(Configuration.Debug, /*appendRID*/ false, /*useArtifacts*/ false)] - [TestCategory("workload")] public async Task BuildAndRunForDifferentOutputPaths(Configuration config, bool appendRID, bool useArtifacts) { ProjectInfo info = CreateWasmTemplateProject(Template.WasmBrowser, config, aot: false); @@ -200,7 +198,6 @@ public async Task BuildAndRunForDifferentOutputPaths(Configuration config, bool [Theory] [InlineData("", true)] // Default case [InlineData("false", false)] // the other case - [TestCategory("native"), TestCategory("workload")] public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectILStripping) { Configuration config = Configuration.Release; @@ -279,7 +276,6 @@ internal static void TestWasmStripILAfterAOTOutput(string objBuildDir, string fr [Theory] [InlineData(false)] [InlineData(true)] - [TestCategory("workload")] public void PublishPdb(bool copyOutputSymbolsToPublishDirectory) { Configuration config = Configuration.Release; @@ -327,7 +323,6 @@ public async Task LibraryModeBuild(bool useWasmSdk) [InlineData(Configuration.Release, true)] [InlineData(Configuration.Debug, false)] [InlineData(Configuration.Release, false)] - [TestCategory("workload")] public void TypeScriptDefinitionsCopiedToWwwrootOnBuild(Configuration config, bool emitTypeScriptDts) { string shouldEmit = emitTypeScriptDts ? "true" : "false"; @@ -363,7 +358,6 @@ public void TypeScriptDefinitionsCopiedToWwwrootOnBuild(Configuration config, bo [InlineData("true", false)] [InlineData("false", true)] [InlineData("", false)] // Default case - [TestCategory("workload")] public void UseMonoRuntimeParameter(string useMonoRuntimeArg, bool expectUseMonoRuntimeProperty) { Configuration config = Configuration.Debug; diff --git a/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj b/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj index 8eb86c51e5f93b..ddc3118e6cdc07 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj +++ b/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj @@ -103,7 +103,7 @@ <_XUnitTraitArg Condition="'$(TestUsingWorkloads)' != 'true'">-trait category=no-workload <_XUnitTraitArg Condition="'$(WasmFingerprintAssets)' == 'false'">-trait category=no-fingerprinting <_XUnitTraitArg Condition="'$(WasmBundlerFriendlyBootConfig)' == 'true'">-trait category=bundler-friendly - <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-notrait category=native -notrait category=mono -notrait category=workload + <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-trait category=$(RuntimeFlavor) diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmBuildAppTest.cs b/src/mono/wasm/Wasm.Build.Tests/WasmBuildAppTest.cs index f30281e6ea8f01..5add6edd5a0cd9 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmBuildAppTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmBuildAppTest.cs @@ -20,7 +20,6 @@ public WasmBuildAppTest(ITestOutputHelper output, SharedBuildPerTestClassFixture [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("native")] public async Task TopLevelMain_AOT(Configuration config, bool aot) => await TestMain("top_level", @"System.Console.WriteLine(""Hello, World!""); return await System.Threading.Tasks.Task.FromResult(42);", @@ -35,7 +34,6 @@ public async Task TopLevelMain(Configuration config, bool aot) [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("native")] public async Task AsyncMain_AOT(Configuration config, bool aot) => await TestMain("async_main", @" using System; @@ -66,7 +64,6 @@ public static async Task Main() [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("native")] public async Task NonAsyncMain_AOT(Configuration config, bool aot) => await TestMain("non_async_main", @" using System; @@ -122,13 +119,11 @@ public static int Main() [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("native")] public async Task Bug49588_RegressionTest_AOT(Configuration config, bool aot) => await TestMain("bug49588_aot", s_bug49588_ProgramCS, config, aot); [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ false })] - [TestCategory("native")] public async Task Bug49588_RegressionTest_NativeRelinking(Configuration config, bool aot) => await TestMain("bug49588_native_relinking", s_bug49588_ProgramCS, config, aot, extraArgs: "-p:WasmBuildNative=true", diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs b/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs index f3b9a694afa18e..22bf394ec2a4c4 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs @@ -11,7 +11,6 @@ namespace Wasm.Build.Tests { - [TestCategory("native")] public class WasmNativeDefaultsTests : WasmTemplateTestsBase { private static Regex s_regex = new("\\*\\* WasmBuildNative:.*"); diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs b/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs index f0bb792a895dcf..7f034effcf21dc 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs @@ -50,7 +50,6 @@ public async Task Build_NoAOT_ShouldNotRelink(Configuration config, bool aot, bo [MemberData(nameof(MainMethodSimdTestData), parameters: new object[] { /*aot*/ true, /* simd */ true })] [MemberData(nameof(MainMethodSimdTestData), parameters: new object[] { /*aot*/ false, /* simd */ true })] [MemberData(nameof(MainMethodSimdTestData), parameters: new object[] { /*aot*/ true, /* simd */ false })] - [TestCategory("native")] public async Task PublishSIMD_AOT(Configuration config, bool aot, bool simd) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "simd_publish"); diff --git a/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs b/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs index de371c6091439e..0889d53091c02a 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs @@ -16,7 +16,6 @@ namespace Wasm.Build.Tests { - [TestCategory("native")] public class WorkloadTests : WasmTemplateTestsBase { public WorkloadTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) From 2b9bba055398ab3620dd9a8b80d79172728a04fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 08:59:26 +0000 Subject: [PATCH 29/38] Revert "Revert WBT test categorization changes (defer to follow-up)" This reverts commit 78761fc605b9993ad2113f7ba29719cfd44fd93b. --- .../BuildWasmAppsJobsListCoreCLR.txt | 19 +++++++++++++++++++ src/libraries/sendtohelix-browser.targets | 5 +++-- .../Blazor/BuildPublishTests.cs | 3 +++ .../Wasm.Build.Tests/Blazor/CleanTests.cs | 1 + .../Wasm.Build.Tests/Blazor/DllImportTests.cs | 1 + .../Blazor/EventPipeDiagnosticsTests.cs | 1 + .../wasm/Wasm.Build.Tests/Blazor/MiscTests.cs | 3 +++ .../Wasm.Build.Tests/Blazor/NativeRefTests.cs | 1 + .../Blazor/NoopNativeRebuildTest.cs | 1 + .../Blazor/SimpleMultiThreadedTests.cs | 1 + .../Wasm.Build.Tests/Blazor/SimpleRunTests.cs | 1 + .../Wasm.Build.Tests/BuildPublishTests.cs | 2 ++ .../wasm/Wasm.Build.Tests/DiagnosticsTests.cs | 1 + .../wasm/Wasm.Build.Tests/DllImportTests.cs | 6 ++++++ .../wasm/Wasm.Build.Tests/IcuShardingTests.cs | 2 ++ .../Wasm.Build.Tests/IcuShardingTests2.cs | 1 + src/mono/wasm/Wasm.Build.Tests/IcuTests.cs | 3 +++ .../wasm/Wasm.Build.Tests/InterpPgoTests.cs | 1 + .../InvariantGlobalizationTests.cs | 2 ++ .../InvariantTimezoneTests.cs | 2 ++ .../wasm/Wasm.Build.Tests/LazyLoadingTests.cs | 2 +- .../Wasm.Build.Tests/MainWithArgsTests.cs | 2 ++ src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs | 1 + .../Wasm.Build.Tests/ModuleConfigTests.cs | 3 ++- .../wasm/Wasm.Build.Tests/NativeBuildTests.cs | 5 +++++ .../Wasm.Build.Tests/NativeLibraryTests.cs | 1 + .../FlagsChangeRebuildTest.cs | 1 + .../NoopNativeRebuildTest.cs | 1 + .../OptimizationFlagChangeTests.cs | 1 + .../ReferenceNewAssemblyRebuildTest.cs | 1 + .../SimpleSourceChangeRebuildTest.cs | 1 + .../PInvokeTableGeneratorTests.cs | 12 ++++++++++++ .../SatelliteAssembliesTests.cs | 3 +++ .../Wasm.Build.Tests/SatelliteLoadingTests.cs | 4 ++-- .../Templates/NativeBuildTests.cs | 1 + .../Templates/WasmTemplateTests.cs | 10 ++++++++-- .../Wasm.Build.Tests/Wasm.Build.Tests.csproj | 2 +- .../wasm/Wasm.Build.Tests/WasmBuildAppTest.cs | 5 +++++ .../WasmNativeDefaultsTests.cs | 1 + .../wasm/Wasm.Build.Tests/WasmSIMDTests.cs | 1 + .../wasm/Wasm.Build.Tests/WorkloadTests.cs | 1 + 41 files changed, 107 insertions(+), 9 deletions(-) create mode 100644 eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt diff --git a/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt b/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt new file mode 100644 index 00000000000000..a00313e1e36bab --- /dev/null +++ b/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt @@ -0,0 +1,19 @@ +Wasm.Build.Tests.DebugLevelTests +Wasm.Build.Tests.EnvVariablesTests +Wasm.Build.Tests.FilesToIncludeInFileSystemTests +Wasm.Build.Tests.HttpTests +Wasm.Build.Tests.IcuShardingTests +Wasm.Build.Tests.IcuShardingTests2 +Wasm.Build.Tests.IcuTests +Wasm.Build.Tests.LazyLoadingTests +Wasm.Build.Tests.ModuleConfigTests +Wasm.Build.Tests.NativeBuildTests +Wasm.Build.Tests.PreloadingTests +Wasm.Build.Tests.RebuildTests +Wasm.Build.Tests.SatelliteLoadingTests +Wasm.Build.Tests.WasmBuildAppTest +Wasm.Build.Tests.WasmRunOutOfAppBundleTests +Wasm.Build.Tests.WasmTemplateTests +Wasm.Build.Tests.MaxParallelDownloadsTests +Wasm.Build.Tests.LibraryInitializerTests +Wasm.Build.Templates.Tests.NativeBuildTests diff --git a/src/libraries/sendtohelix-browser.targets b/src/libraries/sendtohelix-browser.targets index 0729da3fb808d7..dc2fc9f44c8c89 100644 --- a/src/libraries/sendtohelix-browser.targets +++ b/src/libraries/sendtohelix-browser.targets @@ -131,12 +131,13 @@ - $(RepositoryEngineeringDir)testing\scenarios\BuildWasmAppsJobsList.txt + $(RepositoryEngineeringDir)testing\scenarios\BuildWasmAppsJobsList.txt + $(RepositoryEngineeringDir)testing\scenarios\BuildWasmAppsJobsListCoreCLR.txt <_XUnitTraitArg Condition="'$(TestUsingWorkloads)' == 'true'">-notrait category=no-workload <_XUnitTraitArg Condition="'$(TestUsingWorkloads)' != 'true'">-trait category=no-workload <_XUnitTraitArg Condition="'$(WasmFingerprintAssets)' == 'false'">$(_XUnitTraitArg) -trait category=no-fingerprinting <_XUnitTraitArg Condition="'$(WasmBundlerFriendlyBootConfig)' == 'true'">$(_XUnitTraitArg) -trait category=bundler-friendly - <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-trait category=$(RuntimeFlavor) + <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-notrait category=native -notrait category=mono -notrait category=workload diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs index 63f2fd2a3bd145..106607c107c02e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs @@ -50,6 +50,7 @@ public void DefaultTemplate_NoAOT_WithWorkload(Configuration config, bool testUn [Theory] [MemberData(nameof(TestDataForDefaultTemplate_WithWorkload), parameters: new object[] { true })] + [TestCategory("coreclr-native")] public void DefaultTemplate_AOT_WithWorkload(Configuration config, bool testUnicode) { ProjectInfo info = CopyTestAsset(config, aot: false, TestAsset.BlazorBasicTestApp, "blz_aot", appendUnicodeToPath: testUnicode); @@ -117,6 +118,7 @@ void AssertResourcesDlls(string basePath) [Theory] [InlineData("", true)] // Default case [InlineData("false", false)] // the other case + [TestCategory("coreclr-native")] public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectILStripping) { Configuration config = Configuration.Release; @@ -136,6 +138,7 @@ public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectIL [Theory] [InlineData(Configuration.Debug)] + [TestCategory("native")] public void BlazorWasm_CannotAOT_InDebug(Configuration config) { ProjectInfo info = CopyTestAsset( diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs index 2d9a8baa260f7a..afb0d9c79e2720 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/CleanTests.cs @@ -13,6 +13,7 @@ namespace Wasm.Build.Tests.Blazor; +[TestCategory("native")] public class CleanTests : BlazorWasmTestBase { public CleanTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs index 29df5cdc3aec7e..03e1e1e84c8339 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs @@ -15,6 +15,7 @@ namespace Wasm.Build.Tests.Blazor; +[TestCategory("native")] public class DllImportTests : BlazorWasmTestBase { public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs index 3ee0c013877bfb..7f359c9e864a53 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs @@ -17,6 +17,7 @@ namespace Wasm.Build.Tests.Blazor; +[TestCategory("mono")] public class EventPipeDiagnosticsTests : BlazorWasmTestBase { private static readonly string uploadPattern = "^[a-zA-Z0-9_]+\\.nettrace$"; diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs index d9f354b81631b6..6b6955fd7bd476 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs @@ -30,6 +30,7 @@ public MiscTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildC [InlineData(Configuration.Release, true)] [InlineData(Configuration.Release, false)] [ActiveIssue("https://github.com/dotnet/runtime/issues/103566")] + [TestCategory("native")] public void NativeBuild_WithDeployOnBuild_UsedByVS(Configuration config, bool nativeRelink) { string extraProperties = config == Configuration.Debug @@ -57,6 +58,7 @@ public void NativeBuild_WithDeployOnBuild_UsedByVS(Configuration config, bool na [Theory] [InlineData(Configuration.Release)] + [TestCategory("native")] public void DefaultTemplate_AOT_InProjectFile(Configuration config) { string extraProperties = config == Configuration.Debug @@ -77,6 +79,7 @@ public void DefaultTemplate_AOT_InProjectFile(Configuration config) } [Fact] + [TestCategory("coreclr-native")] public void BugRegression_60479_WithRazorClassLib() { Configuration config = Configuration.Release; diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs index 180c1e249c52bf..2314cd4644f135 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/NativeRefTests.cs @@ -9,6 +9,7 @@ namespace Wasm.Build.Tests.Blazor; +[TestCategory("native")] public class NativeTests : BlazorWasmTestBase { public NativeTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs index 526a4737a29beb..71c8c520dc16ec 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/NoopNativeRebuildTest.cs @@ -11,6 +11,7 @@ namespace Wasm.Build.Tests.Blazor { + [TestCategory("native")] public class NoopNativeRebuildTest : BlazorWasmTestBase { public NoopNativeRebuildTest(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs index 72ae03786db60f..f05c6093b75a54 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleMultiThreadedTests.cs @@ -13,6 +13,7 @@ namespace Wasm.Build.Tests.MT.Blazor; +[TestCategory("mono")] public class SimpleMultiThreadedTests : BlazorWasmTestBase { public SimpleMultiThreadedTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs index e623c6d4efc7e3..aa5bb388aa553e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs @@ -64,6 +64,7 @@ public async Task BlazorBuildAndRunForDifferentOutputPaths(Configuration config, [InlineData(Configuration.Debug, false)] [InlineData(Configuration.Release, false)] [InlineData(Configuration.Release, true)] + [TestCategory("coreclr-native")] public async Task BlazorPublishRunTest(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.BlazorBasicTestApp, "blazor_publish"); diff --git a/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs b/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs index 41d7fdb6388fec..23dd76ebce99f2 100644 --- a/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/BuildPublishTests.cs @@ -23,6 +23,7 @@ public BuildPublishTests(ITestOutputHelper output, SharedBuildPerTestClassFixtur [Theory] [BuildAndRun(config: Configuration.Debug, aot: true)] + [TestCategory("native")] public void Wasm_CannotAOT_InDebug(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "no_aot_in_debug"); @@ -50,6 +51,7 @@ public async Task BuildThenPublishNoAOT(Configuration config, bool aot) [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] + [TestCategory("native")] public async Task BuildThenPublishWithAOT(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "build_publish"); diff --git a/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs b/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs index 0e633e20943fd1..d5729449a7ce01 100644 --- a/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/DiagnosticsTests.cs @@ -13,6 +13,7 @@ namespace Wasm.Build.Tests; +[TestCategory("mono")] public class DiagnosticsTests : WasmTemplateTestsBase { public DiagnosticsTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs index dac78c679157ce..024ae441a34200 100644 --- a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs @@ -23,6 +23,7 @@ public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture b [Theory] [BuildAndRun(aot: false)] + [TestCategory("native")] public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "variadic"); @@ -43,6 +44,7 @@ public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr"); @@ -62,6 +64,7 @@ public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configurat [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr_variadic"); @@ -81,6 +84,7 @@ public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWith [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration config, bool aot) { string extraProperties = "$(MSBuildWarningsAsMessage);WASM0001"; @@ -100,6 +104,7 @@ public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public void UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_fnptr"); @@ -117,6 +122,7 @@ public void UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(Configur "with.per.iod", "with🚀unicode#" } })] + [TestCategory("native")] public async Task CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(Configuration config, bool aot, string[] libraryNames) { var extraItems = @""; diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs index e3ecb5a48717d0..4af4f74c7dd5d3 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs @@ -41,11 +41,13 @@ from locale in locales [Theory] [MemberData(nameof(IcuExpectedAndMissingCustomShardTestData), parameters: new object[] { Configuration.Release })] + [TestCategory("coreclr-native")] public async Task CustomIcuShard(Configuration config, bool aot, string customIcuPath, string customLocales, bool onlyPredefinedCultures) => await TestIcuShards(config, Template.WasmBrowser, aot, customIcuPath, customLocales, GlobalizationMode.Custom, onlyPredefinedCultures); [Theory] [MemberData(nameof(IcuExpectedAndMissingAutomaticShardTestData), parameters: new object[] { Configuration.Release })] + [TestCategory("coreclr-native")] public async Task AutomaticShardSelectionDependingOnEnvLocale(Configuration config, bool aot, string environmentLocale, string testedLocales) => await PublishAndRunIcuTest(config, Template.WasmBrowser, aot, testedLocales, GlobalizationMode.Sharded, locale: environmentLocale); } diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs index c87afc44b9abb6..3c1edbdae35e01 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs @@ -38,6 +38,7 @@ from locale in locales [Theory] [MemberData(nameof(IcuExpectedAndMissingShardFromRuntimePackTestData), parameters: new object[] { Configuration.Release })] + [TestCategory("coreclr-native")] public async Task DefaultAvailableIcuShardsFromRuntimePack(Configuration config, bool aot, string shardName, string testedLocales) => await TestIcuShards(config, Template.WasmBrowser, aot, shardName, testedLocales, GlobalizationMode.Custom); } diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs index 825f00e3b9b6f0..2a800a75517f45 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs @@ -53,6 +53,7 @@ public static IEnumerable IncorrectIcuTestData(Configuration config) [Theory] [MemberData(nameof(FullIcuWithInvariantTestData), parameters: new object[] { Configuration.Release })] + [TestCategory("coreclr-native")] public async Task FullIcuFromRuntimePackWithInvariant(Configuration config=Configuration.Release, bool aot=false, bool invariant=true, bool fullIcu=true, string testedLocales="Array.Empty()") => await PublishAndRunIcuTest( config, @@ -66,6 +67,7 @@ await PublishAndRunIcuTest( [Theory] [MemberData(nameof(FullIcuWithICustomIcuTestData), parameters: new object[] { Configuration.Release })] + [TestCategory("coreclr-native")] public async Task FullIcuFromRuntimePackWithCustomIcu(Configuration config, bool aot, bool fullIcu) { string customIcuProperty = "BlazorIcuDataFileName"; @@ -82,6 +84,7 @@ public async Task FullIcuFromRuntimePackWithCustomIcu(Configuration config, bool [Theory] [MemberData(nameof(IncorrectIcuTestData), parameters: new object[] { Configuration.Release })] + [TestCategory("workload")] public void NonExistingCustomFileAssertError(Configuration config, string customIcu, bool isFilenameFormCorrect) { string customIcuProperty = "BlazorIcuDataFileName"; diff --git a/src/mono/wasm/Wasm.Build.Tests/InterpPgoTests.cs b/src/mono/wasm/Wasm.Build.Tests/InterpPgoTests.cs index 4af6f409aeedb7..693ef6d1fd4f5c 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InterpPgoTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InterpPgoTests.cs @@ -15,6 +15,7 @@ namespace Wasm.Build.Tests; +[TestCategory("mono")] public class InterpPgoTests : WasmTemplateTestsBase { public InterpPgoTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs b/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs index 28253df6cea2c2..4b356546605a4b 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs @@ -32,12 +32,14 @@ public InvariantGlobalizationTests(ITestOutputHelper output, SharedBuildPerTestC [Theory] [MemberData(nameof(InvariantGlobalizationTestData), parameters: new object[] { /*aot*/ false })] [MemberData(nameof(InvariantGlobalizationTestData), parameters: new object[] { /*aot*/ true })] + [TestCategory("native")] public async Task AOT_InvariantGlobalization(Configuration config, bool aot, bool? invariantGlobalization) => await TestInvariantGlobalization(config, aot, invariantGlobalization); // TODO: What else should we use to verify a relinked build? [Theory] [MemberData(nameof(InvariantGlobalizationTestData), parameters: new object[] { /*aot*/ false })] + [TestCategory("coreclr-native")] public async Task RelinkingWithoutAOT(Configuration config, bool aot, bool? invariantGlobalization) => await TestInvariantGlobalization(config, aot, invariantGlobalization, isNativeBuild: true); diff --git a/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs b/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs index d515dfea8312ae..7f09a321eadfde 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs @@ -29,11 +29,13 @@ public InvariantTimezoneTests(ITestOutputHelper output, SharedBuildPerTestClassF [Theory] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ false, })] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ true })] + [TestCategory("coreclr-native")] public async Task AOT_InvariantTimezone(Configuration config, bool aot, bool? invariantTimezone) => await TestInvariantTimezone(config, aot, invariantTimezone); [Theory] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ false })] + [TestCategory("coreclr-native")] public async Task RelinkingWithoutAOT(Configuration config, bool aot, bool? invariantTimezone) => await TestInvariantTimezone(config, aot, invariantTimezone, isNativeBuild: true); diff --git a/src/mono/wasm/Wasm.Build.Tests/LazyLoadingTests.cs b/src/mono/wasm/Wasm.Build.Tests/LazyLoadingTests.cs index 65011962374221..4fafdce6d184b6 100644 --- a/src/mono/wasm/Wasm.Build.Tests/LazyLoadingTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/LazyLoadingTests.cs @@ -27,7 +27,7 @@ public LazyLoadingTests(ITestOutputHelper output, SharedBuildPerTestClassFixture return data.Select(d => new object[] { d, data }); } - [Theory, TestCategory("no-fingerprinting")] + [ConditionalTheory(typeof(BuildTestBase), nameof(IsMonoRuntime)), TestCategory("no-fingerprinting")] [MemberData(nameof(LoadLazyAssemblyBeforeItIsNeededData))] public async Task LoadLazyAssemblyBeforeItIsNeeded(string lazyLoadingTestExtension, string[] allLazyLoadingTestExtensions) { diff --git a/src/mono/wasm/Wasm.Build.Tests/MainWithArgsTests.cs b/src/mono/wasm/Wasm.Build.Tests/MainWithArgsTests.cs index 83e79e6955dddf..ef4d837da761a7 100644 --- a/src/mono/wasm/Wasm.Build.Tests/MainWithArgsTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/MainWithArgsTests.cs @@ -31,12 +31,14 @@ public MainWithArgsTests(ITestOutputHelper output, SharedBuildPerTestClassFixtur [Theory] [MemberData(nameof(MainWithArgsTestData), parameters: new object[] { /*aot*/ false })] [MemberData(nameof(MainWithArgsTestData), parameters: new object[] { /*aot*/ true })] + [TestCategory("native")] public async Task AsyncMainWithArgs(Configuration config, bool aot, string[] args) => await TestMainWithArgs(config, aot, "async_main_with_args", "AsyncMainWithArgs.cs", args); [Theory] [MemberData(nameof(MainWithArgsTestData), parameters: new object[] { /*aot*/ false })] [MemberData(nameof(MainWithArgsTestData), parameters: new object[] { /*aot*/ true })] + [TestCategory("native")] public async Task NonAsyncMainWithArgs(Configuration config, bool aot, string[] args) => await TestMainWithArgs(config, aot, "non_async_main_args", "SyncMainWithArgs.cs", args); diff --git a/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs b/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs index 50283071f30bde..454890d6e8b57a 100644 --- a/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs @@ -13,6 +13,7 @@ namespace Wasm.Build.Tests; +[TestCategory("coreclr-native")] public class MemoryTests : WasmTemplateTestsBase { public MemoryTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs b/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs index 183e9a0be85e50..699cc706756a8a 100644 --- a/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/ModuleConfigTests.cs @@ -57,7 +57,7 @@ public async Task DownloadProgressFinishes(bool failAssemblyDownload) ); } - [Fact, TestCategory("bundler-friendly")] + [ConditionalFact(typeof(BuildTestBase), nameof(IsMonoRuntime)), TestCategory("bundler-friendly")] public async Task OutErrOverrideWorks() { Configuration config = Configuration.Debug; @@ -98,6 +98,7 @@ public async Task AssetIntegrity() [Theory] [InlineData(false)] [InlineData(true)] + [TestCategory("native")] public void SymbolMapFileEmitted(bool isPublish) => SymbolMapFileEmittedCore(emitSymbolMap: true, isPublish); diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index 6716d4d350a298..fa7650c4f8d379 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -22,6 +22,7 @@ public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture [Theory] [BuildAndRun(aot: false)] + [TestCategory("coreclr-native")] public async Task SimpleNativeBuild(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -40,6 +41,7 @@ public async Task SimpleNativeBuild(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true)] + [TestCategory("coreclr-native")] public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -58,6 +60,7 @@ public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] + [TestCategory("coreclr-native")] public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, bool aot) { string printFileTypeTarget = @" @@ -90,6 +93,7 @@ public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, b [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] + [TestCategory("coreclr-native")] public void NativeBuildIsRequired(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -104,6 +108,7 @@ public void NativeBuildIsRequired(Configuration config, bool aot) } [Fact] + [TestCategory("coreclr-native")] public async Task ZipArchiveInteropTest() { Configuration config = Configuration.Debug; diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeLibraryTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeLibraryTests.cs index f01fb37c5fe993..9cbe49352c147c 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeLibraryTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeLibraryTests.cs @@ -11,6 +11,7 @@ namespace Wasm.Build.Tests { + [TestCategory("native")] public class NativeLibraryTests : WasmTemplateTestsBase { public NativeLibraryTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/FlagsChangeRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/FlagsChangeRebuildTest.cs index 0c16c575dbb212..8182a03b093c64 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/FlagsChangeRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/FlagsChangeRebuildTest.cs @@ -13,6 +13,7 @@ namespace Wasm.Build.NativeRebuild.Tests { + [TestCategory("native")] public class FlagsChangeRebuildTests : NativeRebuildTestsBase { public FlagsChangeRebuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs index 00c6c25ecf6ed0..a07a03da24e201 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/NoopNativeRebuildTest.cs @@ -11,6 +11,7 @@ namespace Wasm.Build.NativeRebuild.Tests { + [TestCategory("native")] public class NoopNativeRebuildTest : NativeRebuildTestsBase { public NoopNativeRebuildTest(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/OptimizationFlagChangeTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/OptimizationFlagChangeTests.cs index 0bc203214df016..205add7709be63 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/OptimizationFlagChangeTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/OptimizationFlagChangeTests.cs @@ -14,6 +14,7 @@ namespace Wasm.Build.NativeRebuild.Tests; +[TestCategory("native")] public class OptimizationFlagChangeTests : NativeRebuildTestsBase { public OptimizationFlagChangeTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/ReferenceNewAssemblyRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/ReferenceNewAssemblyRebuildTest.cs index bc9d6a4cb5a59d..ff7d6bc862c32c 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/ReferenceNewAssemblyRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/ReferenceNewAssemblyRebuildTest.cs @@ -13,6 +13,7 @@ namespace Wasm.Build.NativeRebuild.Tests { + [TestCategory("native")] public class ReferenceNewAssemblyRebuildTest : NativeRebuildTestsBase { public ReferenceNewAssemblyRebuildTest(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/SimpleSourceChangeRebuildTest.cs b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/SimpleSourceChangeRebuildTest.cs index 342fb537cf3ba6..7de98cf6560f73 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/SimpleSourceChangeRebuildTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeRebuildTests/SimpleSourceChangeRebuildTest.cs @@ -12,6 +12,7 @@ namespace Wasm.Build.NativeRebuild.Tests { + [TestCategory("native")] public class SimpleSourceChangeRebuildTest : NativeRebuildTestsBase { public SimpleSourceChangeRebuildTest(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs index b17615c648bf93..25dfa3a0c4d110 100644 --- a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs @@ -23,6 +23,7 @@ public PInvokeTableGeneratorTests(ITestOutputHelper output, SharedBuildPerTestCl [Theory] [BuildAndRun()] + [TestCategory("native")] public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable (Configuration config, bool aot) { @@ -34,6 +35,7 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable (Configuration config, bool aot) { @@ -45,6 +47,7 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public async Task UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable (Configuration config, bool aot) { @@ -93,6 +96,7 @@ private ProjectInfo PrepreProjectForBlittableTests(Configuration config, bool ao [Theory] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Debug)] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Release)] + [TestCategory("coreclr-native")] public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly (Configuration config, bool aot, bool libraryHasAttribute, bool appHasAttribute, bool expectSuccess) { @@ -132,6 +136,7 @@ public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_filetype"); @@ -151,6 +156,7 @@ public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) [Theory] [BuildAndRun()] + [TestCategory("coreclr-native")] public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_namespace"); @@ -179,6 +185,7 @@ public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot [Theory] [BuildAndRun()] + [TestCategory("native")] public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) { string appendToTheEnd = @@ -275,6 +282,7 @@ public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) [Theory] [BuildAndRun(parameters: new object[] { "tr_TR.UTF-8" })] + [TestCategory("coreclr-native")] public async Task BuildNativeInNonEnglishCulture(Configuration config, bool aot, string culture) { // Check that we can generate interp tables in non-english cultures @@ -350,16 +358,19 @@ private async Task EnsureWasmAbiRulesAreFollowed(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] + [TestCategory("native")] public async Task EnsureWasmAbiRulesAreFollowedInAOT(Configuration config, bool aot) => await EnsureWasmAbiRulesAreFollowed(config, aot); [Theory] [BuildAndRun(aot: false)] + [TestCategory("native")] public async Task EnsureWasmAbiRulesAreFollowedInInterpreter(Configuration config, bool aot) => await EnsureWasmAbiRulesAreFollowed(config, aot); [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] + [TestCategory("native")] public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "com"); @@ -372,6 +383,7 @@ public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) [Theory] [BuildAndRun(aot: false)] + [TestCategory("coreclr-native")] public async Task UCOWithSpecialCharacters(Configuration config, bool aot) { var extraProperties = "true"; diff --git a/src/mono/wasm/Wasm.Build.Tests/SatelliteAssembliesTests.cs b/src/mono/wasm/Wasm.Build.Tests/SatelliteAssembliesTests.cs index 140e63c326433d..dd9e20d2a8b59a 100644 --- a/src/mono/wasm/Wasm.Build.Tests/SatelliteAssembliesTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/SatelliteAssembliesTests.cs @@ -33,6 +33,7 @@ public SatelliteAssembliesTests(ITestOutputHelper output, SharedBuildPerTestClas [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ false, /*relinking*/ false })] [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ false, /*relinking*/ true })] [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ true, /*relinking*/ false })] + [TestCategory("native")] public async Task ResourcesFromMainAssembly(Configuration config, bool aot, bool nativeRelink, string? argCulture) { string prefix = $"sat_asm_from_main_asm"; @@ -59,6 +60,7 @@ public async Task ResourcesFromMainAssembly(Configuration config, bool aot, bool [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ false, /*relinking*/ false })] [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ false, /*relinking*/ true })] [MemberData(nameof(SatelliteAssemblyTestData), parameters: new object[] { /*aot*/ true, /*relinking*/ true })] + [TestCategory("native")] public async Task ResourcesFromProjectReference(Configuration config, bool aot, bool nativeRelink, string? argCulture) { string prefix = $"SatelliteAssemblyFromProjectRef"; @@ -93,6 +95,7 @@ await RunForPublishWithWebServer( #pragma warning disable xUnit1026 [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] + [TestCategory("native")] public void CheckThatSatelliteAssembliesAreNotAOTed(Configuration config, bool aot) { string extraProperties = $@"-O1 diff --git a/src/mono/wasm/Wasm.Build.Tests/SatelliteLoadingTests.cs b/src/mono/wasm/Wasm.Build.Tests/SatelliteLoadingTests.cs index c0bc8895e093fb..10976b41087d3e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/SatelliteLoadingTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/SatelliteLoadingTests.cs @@ -25,7 +25,7 @@ public SatelliteLoadingTests(ITestOutputHelper output, SharedBuildPerTestClassFi { } - [Theory, TestCategory("no-fingerprinting")] + [ConditionalTheory(typeof(BuildTestBase), nameof(IsMonoRuntime)), TestCategory("no-fingerprinting")] [InlineData(false)] [InlineData(true)] public async Task LoadSatelliteAssembly(bool loadAllSatelliteResources) @@ -60,7 +60,7 @@ public async Task LoadSatelliteAssembly(bool loadAllSatelliteResources) ); } - [Fact, TestCategory("bundler-friendly")] + [ConditionalFact(typeof(BuildTestBase), nameof(IsMonoRuntime)), TestCategory("bundler-friendly")] public async Task LoadSatelliteAssemblyFromReference() { Configuration config = Configuration.Release; diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs index b1f892901d13d4..9da85ee187a094 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs @@ -11,6 +11,7 @@ namespace Wasm.Build.Templates.Tests { + [TestCategory("coreclr-native")] public class NativeBuildTests : WasmTemplateTestsBase { public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs index fb7425bb6af945..4dcab63cb30848 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs @@ -22,7 +22,7 @@ public WasmTemplateTests(ITestOutputHelper output, SharedBuildPerTestClassFixtur { } - [Theory, TestCategory("no-fingerprinting")] + [Theory, TestCategory("no-fingerprinting"), TestCategory("workload")] [InlineData(Configuration.Debug)] [InlineData(Configuration.Release)] public void BrowserBuildThenPublish(Configuration config) @@ -70,7 +70,7 @@ void AddTestData(bool runOutsideProjectDirectory) return data; } - [Theory, TestCategory("no-fingerprinting")] + [Theory, TestCategory("no-fingerprinting"), TestCategory("workload")] [MemberData(nameof(TestDataForAppBundleDir))] public async Task RunWithDifferentAppBundleLocations(bool runOutsideProjectDirectory, string extraProperties) => await BrowserRunTwiceWithAndThenWithoutBuildAsync(Configuration.Release, extraProperties, runOutsideProjectDirectory); @@ -134,6 +134,7 @@ private async Task BrowserRunTwiceWithAndThenWithoutBuildAsync(Configuration con [Theory] [MemberData(nameof(BrowserBuildAndRunTestData))] + [TestCategory("workload")] public async Task BrowserBuildAndRun(string extraNewArgs, string targetFramework, string runtimeAssetsRelativePath) { Configuration config = Configuration.Debug; @@ -165,6 +166,7 @@ public async Task BrowserBuildAndRun(string extraNewArgs, string targetFramework [InlineData(Configuration.Debug, /*appendRID*/ true, /*useArtifacts*/ true)] [InlineData(Configuration.Debug, /*appendRID*/ false, /*useArtifacts*/ true)] [InlineData(Configuration.Debug, /*appendRID*/ false, /*useArtifacts*/ false)] + [TestCategory("workload")] public async Task BuildAndRunForDifferentOutputPaths(Configuration config, bool appendRID, bool useArtifacts) { ProjectInfo info = CreateWasmTemplateProject(Template.WasmBrowser, config, aot: false); @@ -198,6 +200,7 @@ public async Task BuildAndRunForDifferentOutputPaths(Configuration config, bool [Theory] [InlineData("", true)] // Default case [InlineData("false", false)] // the other case + [TestCategory("native"), TestCategory("workload")] public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectILStripping) { Configuration config = Configuration.Release; @@ -276,6 +279,7 @@ internal static void TestWasmStripILAfterAOTOutput(string objBuildDir, string fr [Theory] [InlineData(false)] [InlineData(true)] + [TestCategory("workload")] public void PublishPdb(bool copyOutputSymbolsToPublishDirectory) { Configuration config = Configuration.Release; @@ -323,6 +327,7 @@ public async Task LibraryModeBuild(bool useWasmSdk) [InlineData(Configuration.Release, true)] [InlineData(Configuration.Debug, false)] [InlineData(Configuration.Release, false)] + [TestCategory("workload")] public void TypeScriptDefinitionsCopiedToWwwrootOnBuild(Configuration config, bool emitTypeScriptDts) { string shouldEmit = emitTypeScriptDts ? "true" : "false"; @@ -358,6 +363,7 @@ public void TypeScriptDefinitionsCopiedToWwwrootOnBuild(Configuration config, bo [InlineData("true", false)] [InlineData("false", true)] [InlineData("", false)] // Default case + [TestCategory("workload")] public void UseMonoRuntimeParameter(string useMonoRuntimeArg, bool expectUseMonoRuntimeProperty) { Configuration config = Configuration.Debug; diff --git a/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj b/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj index ddc3118e6cdc07..8eb86c51e5f93b 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj +++ b/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj @@ -103,7 +103,7 @@ <_XUnitTraitArg Condition="'$(TestUsingWorkloads)' != 'true'">-trait category=no-workload <_XUnitTraitArg Condition="'$(WasmFingerprintAssets)' == 'false'">-trait category=no-fingerprinting <_XUnitTraitArg Condition="'$(WasmBundlerFriendlyBootConfig)' == 'true'">-trait category=bundler-friendly - <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-trait category=$(RuntimeFlavor) + <_XUnitTraitArg Condition="'$(RuntimeFlavor)' == 'CoreCLR'">-notrait category=native -notrait category=mono -notrait category=workload diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmBuildAppTest.cs b/src/mono/wasm/Wasm.Build.Tests/WasmBuildAppTest.cs index 5add6edd5a0cd9..f30281e6ea8f01 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmBuildAppTest.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmBuildAppTest.cs @@ -20,6 +20,7 @@ public WasmBuildAppTest(ITestOutputHelper output, SharedBuildPerTestClassFixture [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ true })] + [TestCategory("native")] public async Task TopLevelMain_AOT(Configuration config, bool aot) => await TestMain("top_level", @"System.Console.WriteLine(""Hello, World!""); return await System.Threading.Tasks.Task.FromResult(42);", @@ -34,6 +35,7 @@ public async Task TopLevelMain(Configuration config, bool aot) [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ true })] + [TestCategory("native")] public async Task AsyncMain_AOT(Configuration config, bool aot) => await TestMain("async_main", @" using System; @@ -64,6 +66,7 @@ public static async Task Main() [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ true })] + [TestCategory("native")] public async Task NonAsyncMain_AOT(Configuration config, bool aot) => await TestMain("non_async_main", @" using System; @@ -119,11 +122,13 @@ public static int Main() [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ true })] + [TestCategory("native")] public async Task Bug49588_RegressionTest_AOT(Configuration config, bool aot) => await TestMain("bug49588_aot", s_bug49588_ProgramCS, config, aot); [Theory] [MemberData(nameof(MainMethodTestData), parameters: new object[] { /*aot*/ false })] + [TestCategory("native")] public async Task Bug49588_RegressionTest_NativeRelinking(Configuration config, bool aot) => await TestMain("bug49588_native_relinking", s_bug49588_ProgramCS, config, aot, extraArgs: "-p:WasmBuildNative=true", diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs b/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs index 22bf394ec2a4c4..f3b9a694afa18e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmNativeDefaultsTests.cs @@ -11,6 +11,7 @@ namespace Wasm.Build.Tests { + [TestCategory("native")] public class WasmNativeDefaultsTests : WasmTemplateTestsBase { private static Regex s_regex = new("\\*\\* WasmBuildNative:.*"); diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs b/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs index 7f034effcf21dc..f0bb792a895dcf 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs @@ -50,6 +50,7 @@ public async Task Build_NoAOT_ShouldNotRelink(Configuration config, bool aot, bo [MemberData(nameof(MainMethodSimdTestData), parameters: new object[] { /*aot*/ true, /* simd */ true })] [MemberData(nameof(MainMethodSimdTestData), parameters: new object[] { /*aot*/ false, /* simd */ true })] [MemberData(nameof(MainMethodSimdTestData), parameters: new object[] { /*aot*/ true, /* simd */ false })] + [TestCategory("native")] public async Task PublishSIMD_AOT(Configuration config, bool aot, bool simd) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "simd_publish"); diff --git a/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs b/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs index 0889d53091c02a..de371c6091439e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WorkloadTests.cs @@ -16,6 +16,7 @@ namespace Wasm.Build.Tests { + [TestCategory("native")] public class WorkloadTests : WasmTemplateTestsBase { public WorkloadTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) From d5e14739c5092b4715f8c97059b4b4e8a30619bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 09:01:43 +0000 Subject: [PATCH 30/38] Revert coreclr-native categorization (defer to follow-up) Change all [TestCategory("coreclr-native")] back to [TestCategory("native")] and revert the 5 test class entries added to BuildWasmAppsJobsListCoreCLR.txt. The native/coreclr-native split and expanded job list will be re-introduced in a follow-up PR with proper Helix payload support. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../scenarios/BuildWasmAppsJobsListCoreCLR.txt | 5 ----- .../Wasm.Build.Tests/Blazor/BuildPublishTests.cs | 4 ++-- src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs | 2 +- .../wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs | 8 ++++---- src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs | 4 ++-- .../wasm/Wasm.Build.Tests/IcuShardingTests2.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/IcuTests.cs | 4 ++-- .../InvariantGlobalizationTests.cs | 2 +- .../Wasm.Build.Tests/InvariantTimezoneTests.cs | 4 ++-- src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs | 2 +- src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs | 10 +++++----- .../Wasm.Build.Tests/PInvokeTableGeneratorTests.cs | 14 +++++++------- .../Wasm.Build.Tests/Templates/NativeBuildTests.cs | 2 +- 14 files changed, 30 insertions(+), 35 deletions(-) diff --git a/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt b/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt index a00313e1e36bab..4f567f5cba1082 100644 --- a/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt +++ b/eng/testing/scenarios/BuildWasmAppsJobsListCoreCLR.txt @@ -2,12 +2,8 @@ Wasm.Build.Tests.DebugLevelTests Wasm.Build.Tests.EnvVariablesTests Wasm.Build.Tests.FilesToIncludeInFileSystemTests Wasm.Build.Tests.HttpTests -Wasm.Build.Tests.IcuShardingTests -Wasm.Build.Tests.IcuShardingTests2 -Wasm.Build.Tests.IcuTests Wasm.Build.Tests.LazyLoadingTests Wasm.Build.Tests.ModuleConfigTests -Wasm.Build.Tests.NativeBuildTests Wasm.Build.Tests.PreloadingTests Wasm.Build.Tests.RebuildTests Wasm.Build.Tests.SatelliteLoadingTests @@ -16,4 +12,3 @@ Wasm.Build.Tests.WasmRunOutOfAppBundleTests Wasm.Build.Tests.WasmTemplateTests Wasm.Build.Tests.MaxParallelDownloadsTests Wasm.Build.Tests.LibraryInitializerTests -Wasm.Build.Templates.Tests.NativeBuildTests diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs index 106607c107c02e..b1e19c334fc624 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/BuildPublishTests.cs @@ -50,7 +50,7 @@ public void DefaultTemplate_NoAOT_WithWorkload(Configuration config, bool testUn [Theory] [MemberData(nameof(TestDataForDefaultTemplate_WithWorkload), parameters: new object[] { true })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public void DefaultTemplate_AOT_WithWorkload(Configuration config, bool testUnicode) { ProjectInfo info = CopyTestAsset(config, aot: false, TestAsset.BlazorBasicTestApp, "blz_aot", appendUnicodeToPath: testUnicode); @@ -118,7 +118,7 @@ void AssertResourcesDlls(string basePath) [Theory] [InlineData("", true)] // Default case [InlineData("false", false)] // the other case - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task Test_WasmStripILAfterAOT(string stripILAfterAOT, bool expectILStripping) { Configuration config = Configuration.Release; diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs index 6b6955fd7bd476..7119f0ab36625f 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/MiscTests.cs @@ -79,7 +79,7 @@ public void DefaultTemplate_AOT_InProjectFile(Configuration config) } [Fact] - [TestCategory("coreclr-native")] + [TestCategory("native")] public void BugRegression_60479_WithRazorClassLib() { Configuration config = Configuration.Release; diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs index aa5bb388aa553e..d39d794e7f5392 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/SimpleRunTests.cs @@ -64,7 +64,7 @@ public async Task BlazorBuildAndRunForDifferentOutputPaths(Configuration config, [InlineData(Configuration.Debug, false)] [InlineData(Configuration.Release, false)] [InlineData(Configuration.Release, true)] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task BlazorPublishRunTest(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.BlazorBasicTestApp, "blazor_publish"); diff --git a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs index 024ae441a34200..829599ec62b5dd 100644 --- a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs @@ -44,7 +44,7 @@ public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr"); @@ -64,7 +64,7 @@ public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configurat [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr_variadic"); @@ -84,7 +84,7 @@ public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWith [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration config, bool aot) { string extraProperties = "$(MSBuildWarningsAsMessage);WASM0001"; @@ -104,7 +104,7 @@ public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] + [TestCategory("native")] public void UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_fnptr"); diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs index 4af4f74c7dd5d3..2883967abc0105 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests.cs @@ -41,13 +41,13 @@ from locale in locales [Theory] [MemberData(nameof(IcuExpectedAndMissingCustomShardTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task CustomIcuShard(Configuration config, bool aot, string customIcuPath, string customLocales, bool onlyPredefinedCultures) => await TestIcuShards(config, Template.WasmBrowser, aot, customIcuPath, customLocales, GlobalizationMode.Custom, onlyPredefinedCultures); [Theory] [MemberData(nameof(IcuExpectedAndMissingAutomaticShardTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task AutomaticShardSelectionDependingOnEnvLocale(Configuration config, bool aot, string environmentLocale, string testedLocales) => await PublishAndRunIcuTest(config, Template.WasmBrowser, aot, testedLocales, GlobalizationMode.Sharded, locale: environmentLocale); } diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs index 3c1edbdae35e01..7005b99642b21e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuShardingTests2.cs @@ -38,7 +38,7 @@ from locale in locales [Theory] [MemberData(nameof(IcuExpectedAndMissingShardFromRuntimePackTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task DefaultAvailableIcuShardsFromRuntimePack(Configuration config, bool aot, string shardName, string testedLocales) => await TestIcuShards(config, Template.WasmBrowser, aot, shardName, testedLocales, GlobalizationMode.Custom); } diff --git a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs index 2a800a75517f45..f57e229bc0200d 100644 --- a/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/IcuTests.cs @@ -53,7 +53,7 @@ public static IEnumerable IncorrectIcuTestData(Configuration config) [Theory] [MemberData(nameof(FullIcuWithInvariantTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task FullIcuFromRuntimePackWithInvariant(Configuration config=Configuration.Release, bool aot=false, bool invariant=true, bool fullIcu=true, string testedLocales="Array.Empty()") => await PublishAndRunIcuTest( config, @@ -67,7 +67,7 @@ await PublishAndRunIcuTest( [Theory] [MemberData(nameof(FullIcuWithICustomIcuTestData), parameters: new object[] { Configuration.Release })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task FullIcuFromRuntimePackWithCustomIcu(Configuration config, bool aot, bool fullIcu) { string customIcuProperty = "BlazorIcuDataFileName"; diff --git a/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs b/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs index 4b356546605a4b..9a7950b7a5ec4b 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InvariantGlobalizationTests.cs @@ -39,7 +39,7 @@ public async Task AOT_InvariantGlobalization(Configuration config, bool aot, boo // TODO: What else should we use to verify a relinked build? [Theory] [MemberData(nameof(InvariantGlobalizationTestData), parameters: new object[] { /*aot*/ false })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task RelinkingWithoutAOT(Configuration config, bool aot, bool? invariantGlobalization) => await TestInvariantGlobalization(config, aot, invariantGlobalization, isNativeBuild: true); diff --git a/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs b/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs index 7f09a321eadfde..016996873df776 100644 --- a/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/InvariantTimezoneTests.cs @@ -29,13 +29,13 @@ public InvariantTimezoneTests(ITestOutputHelper output, SharedBuildPerTestClassF [Theory] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ false, })] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ true })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task AOT_InvariantTimezone(Configuration config, bool aot, bool? invariantTimezone) => await TestInvariantTimezone(config, aot, invariantTimezone); [Theory] [MemberData(nameof(InvariantTimezoneTestData), parameters: new object[] { /*aot*/ false })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task RelinkingWithoutAOT(Configuration config, bool aot, bool? invariantTimezone) => await TestInvariantTimezone(config, aot, invariantTimezone, isNativeBuild: true); diff --git a/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs b/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs index 454890d6e8b57a..d4c4a32c3b6412 100644 --- a/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/MemoryTests.cs @@ -13,7 +13,7 @@ namespace Wasm.Build.Tests; -[TestCategory("coreclr-native")] +[TestCategory("native")] public class MemoryTests : WasmTemplateTestsBase { public MemoryTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index fa7650c4f8d379..9ff35d75ee520f 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -22,7 +22,7 @@ public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture [Theory] [BuildAndRun(aot: false)] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task SimpleNativeBuild(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -41,7 +41,7 @@ public async Task SimpleNativeBuild(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true)] - [TestCategory("coreclr-native")] + [TestCategory("native")] public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -60,7 +60,7 @@ public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] - [TestCategory("coreclr-native")] + [TestCategory("native")] public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, bool aot) { string printFileTypeTarget = @" @@ -93,7 +93,7 @@ public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, b [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] - [TestCategory("coreclr-native")] + [TestCategory("native")] public void NativeBuildIsRequired(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -108,7 +108,7 @@ public void NativeBuildIsRequired(Configuration config, bool aot) } [Fact] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task ZipArchiveInteropTest() { Configuration config = Configuration.Debug; diff --git a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs index 25dfa3a0c4d110..e8f4df862d7747 100644 --- a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs @@ -35,7 +35,7 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] + [TestCategory("native")] public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable (Configuration config, bool aot) { @@ -47,7 +47,7 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable (Configuration config, bool aot) { @@ -96,7 +96,7 @@ private ProjectInfo PrepreProjectForBlittableTests(Configuration config, bool ao [Theory] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Debug)] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Release)] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly (Configuration config, bool aot, bool libraryHasAttribute, bool appHasAttribute, bool expectSuccess) { @@ -136,7 +136,7 @@ public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_filetype"); @@ -156,7 +156,7 @@ public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) [Theory] [BuildAndRun()] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_namespace"); @@ -282,7 +282,7 @@ public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) [Theory] [BuildAndRun(parameters: new object[] { "tr_TR.UTF-8" })] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task BuildNativeInNonEnglishCulture(Configuration config, bool aot, string culture) { // Check that we can generate interp tables in non-english cultures @@ -383,7 +383,7 @@ public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) [Theory] [BuildAndRun(aot: false)] - [TestCategory("coreclr-native")] + [TestCategory("native")] public async Task UCOWithSpecialCharacters(Configuration config, bool aot) { var extraProperties = "true"; diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs index 9da85ee187a094..34a81b98004a9d 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs @@ -11,7 +11,7 @@ namespace Wasm.Build.Templates.Tests { - [TestCategory("coreclr-native")] + [TestCategory("native")] public class NativeBuildTests : WasmTemplateTestsBase { public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) From de5053e2911bf622bdfc8aefaf17e831d909702c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 09:04:30 +0000 Subject: [PATCH 31/38] Restore DllImportTests, NativeBuildTests, PInvokeTableGeneratorTests to main These WBT files should not be changed in this PR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs | 6 ------ src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs | 5 ----- .../Wasm.Build.Tests/PInvokeTableGeneratorTests.cs | 12 ------------ 3 files changed, 23 deletions(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs index 829599ec62b5dd..dac78c679157ce 100644 --- a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs @@ -23,7 +23,6 @@ public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture b [Theory] [BuildAndRun(aot: false)] - [TestCategory("native")] public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "variadic"); @@ -44,7 +43,6 @@ public async Task NativeLibraryWithVariadicFunctions(Configuration config, bool [Theory] [BuildAndRun()] - [TestCategory("native")] public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr"); @@ -64,7 +62,6 @@ public async Task DllImportWithFunctionPointersCompilesWithoutWarning(Configurat [Theory] [BuildAndRun()] - [TestCategory("native")] public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWithWarning(Configuration config, bool aot) { ProjectInfo info = PrepareProjectForVariadicFunction(config, aot, "fnptr_variadic"); @@ -84,7 +81,6 @@ public async Task DllImportWithFunctionPointers_ForVariadicFunction_CompilesWith [Theory] [BuildAndRun()] - [TestCategory("native")] public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration config, bool aot) { string extraProperties = "$(MSBuildWarningsAsMessage);WASM0001"; @@ -104,7 +100,6 @@ public async Task DllImportWithFunctionPointers_WarningsAsMessages(Configuration [Theory] [BuildAndRun()] - [TestCategory("native")] public void UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_fnptr"); @@ -122,7 +117,6 @@ public void UnmanagedCallback_WithFunctionPointers_CompilesWithWarnings(Configur "with.per.iod", "with🚀unicode#" } })] - [TestCategory("native")] public async Task CallIntoLibrariesWithNonAlphanumericCharactersInTheirNames(Configuration config, bool aot, string[] libraryNames) { var extraItems = @""; diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index 9ff35d75ee520f..6716d4d350a298 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -22,7 +22,6 @@ public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture [Theory] [BuildAndRun(aot: false)] - [TestCategory("native")] public async Task SimpleNativeBuild(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -41,7 +40,6 @@ public async Task SimpleNativeBuild(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true)] - [TestCategory("native")] public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -60,7 +58,6 @@ public void AOTNotSupportedWithNoTrimming(Configuration config, bool aot) [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] - [TestCategory("native")] public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, bool aot) { string printFileTypeTarget = @" @@ -93,7 +90,6 @@ public void IntermediateBitcodeToObjectFilesAreNotLLVMIR(Configuration config, b [Theory] [BuildAndRun(config: Configuration.Release, aot: true)] - [TestCategory("native")] public void NativeBuildIsRequired(Configuration config, bool aot) { ProjectInfo info = CreateWasmTemplateProject( @@ -108,7 +104,6 @@ public void NativeBuildIsRequired(Configuration config, bool aot) } [Fact] - [TestCategory("native")] public async Task ZipArchiveInteropTest() { Configuration config = Configuration.Debug; diff --git a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs index e8f4df862d7747..b17615c648bf93 100644 --- a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs @@ -23,7 +23,6 @@ public PInvokeTableGeneratorTests(ITestOutputHelper output, SharedBuildPerTestCl [Theory] [BuildAndRun()] - [TestCategory("native")] public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_NotConsideredBlittable (Configuration config, bool aot) { @@ -35,7 +34,6 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] - [TestCategory("native")] public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshallingAttribute_WithStructLayout_ConsideredBlittable (Configuration config, bool aot) { @@ -47,7 +45,6 @@ public void UnmanagedStructAndMethodIn_SameAssembly_WithoutDisableRuntimeMarshal [Theory] [BuildAndRun()] - [TestCategory("native")] public async Task UnmanagedStructAndMethodIn_SameAssembly_WithDisableRuntimeMarshallingAttribute_ConsideredBlittable (Configuration config, bool aot) { @@ -96,7 +93,6 @@ private ProjectInfo PrepreProjectForBlittableTests(Configuration config, bool ao [Theory] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Debug)] [MemberData(nameof(SeparateAssemblyWithDisableMarshallingAttributeTestData), parameters: Configuration.Release)] - [TestCategory("native")] public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly (Configuration config, bool aot, bool libraryHasAttribute, bool appHasAttribute, bool expectSuccess) { @@ -136,7 +132,6 @@ public async Task UnmanagedStructsAreConsideredBlittableFromDifferentAssembly [Theory] [BuildAndRun()] - [TestCategory("native")] public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_filetype"); @@ -156,7 +151,6 @@ public async Task UnmanagedCallback_InFileType(Configuration config, bool aot) [Theory] [BuildAndRun()] - [TestCategory("native")] public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "cb_namespace"); @@ -185,7 +179,6 @@ public async Task UnmanagedCallersOnly_Namespaced(Configuration config, bool aot [Theory] [BuildAndRun()] - [TestCategory("native")] public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) { string appendToTheEnd = @@ -282,7 +275,6 @@ public void IcallWithOverloadedParametersAndEnum(Configuration config, bool aot) [Theory] [BuildAndRun(parameters: new object[] { "tr_TR.UTF-8" })] - [TestCategory("native")] public async Task BuildNativeInNonEnglishCulture(Configuration config, bool aot, string culture) { // Check that we can generate interp tables in non-english cultures @@ -358,19 +350,16 @@ private async Task EnsureWasmAbiRulesAreFollowed(Configuration config, bool aot) [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] - [TestCategory("native")] public async Task EnsureWasmAbiRulesAreFollowedInAOT(Configuration config, bool aot) => await EnsureWasmAbiRulesAreFollowed(config, aot); [Theory] [BuildAndRun(aot: false)] - [TestCategory("native")] public async Task EnsureWasmAbiRulesAreFollowedInInterpreter(Configuration config, bool aot) => await EnsureWasmAbiRulesAreFollowed(config, aot); [Theory] [BuildAndRun(aot: true, config: Configuration.Release)] - [TestCategory("native")] public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) { ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBasicTestApp, "com"); @@ -383,7 +372,6 @@ public void EnsureComInteropCompilesInAOT(Configuration config, bool aot) [Theory] [BuildAndRun(aot: false)] - [TestCategory("native")] public async Task UCOWithSpecialCharacters(Configuration config, bool aot) { var extraProperties = "true"; From 476c8fbc846733cef0ec207092887934971c9152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 09:06:21 +0000 Subject: [PATCH 32/38] Restore Blazor/DllImportTests and Templates/NativeBuildTests to main Remove class-level [TestCategory("native")] that should not be in this PR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs | 1 - src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs | 1 - 2 files changed, 2 deletions(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs index 03e1e1e84c8339..29df5cdc3aec7e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs @@ -15,7 +15,6 @@ namespace Wasm.Build.Tests.Blazor; -[TestCategory("native")] public class DllImportTests : BlazorWasmTestBase { public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs index 34a81b98004a9d..b1f892901d13d4 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs @@ -11,7 +11,6 @@ namespace Wasm.Build.Templates.Tests { - [TestCategory("native")] public class NativeBuildTests : WasmTemplateTestsBase { public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) From 1fcafa127b9d318a5d2413b81c669b6102346c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 09:10:18 +0000 Subject: [PATCH 33/38] Revert tests --- src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs | 1 + src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs | 1 + src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs | 1 + src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs | 1 + src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs | 1 + 5 files changed, 5 insertions(+) diff --git a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs index 29df5cdc3aec7e..03e1e1e84c8339 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Blazor/DllImportTests.cs @@ -15,6 +15,7 @@ namespace Wasm.Build.Tests.Blazor; +[TestCategory("native")] public class DllImportTests : BlazorWasmTestBase { public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs index dac78c679157ce..4d84a6d567dc0e 100644 --- a/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/DllImportTests.cs @@ -14,6 +14,7 @@ namespace Wasm.Build.Tests { + [TestCategory("native")] public class DllImportTests : PInvokeTableGeneratorTestsBase { public DllImportTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs index 6716d4d350a298..ff33906df14d1a 100644 --- a/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/NativeBuildTests.cs @@ -13,6 +13,7 @@ namespace Wasm.Build.Tests { + [TestCategory("native")] public class NativeBuildTests : WasmTemplateTestsBase { public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs index b17615c648bf93..f88a5013b92f95 100644 --- a/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/PInvokeTableGeneratorTests.cs @@ -14,6 +14,7 @@ namespace Wasm.Build.Tests { + [TestCategory("native")] public class PInvokeTableGeneratorTests : PInvokeTableGeneratorTestsBase { public PInvokeTableGeneratorTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs index b1f892901d13d4..34a81b98004a9d 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/NativeBuildTests.cs @@ -11,6 +11,7 @@ namespace Wasm.Build.Templates.Tests { + [TestCategory("native")] public class NativeBuildTests : WasmTemplateTestsBase { public NativeBuildTests(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) From 1f8f6dfead5426e290d4077a10395801fe327974 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 09:36:14 +0000 Subject: [PATCH 34/38] Clean up --- .../Templates/WasmTemplateTestsBase.cs | 62 ------------------- 1 file changed, 62 deletions(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs index 3ce387536dc7a0..8c8949b77b988c 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs @@ -28,9 +28,6 @@ public class WasmTemplateTestsBase : BuildTestBase protected readonly BuildOptions _defaultBuildOptions; protected const string DefaultRuntimeAssetsRelativePath = "./_framework/"; - private static bool s_wasmTemplatesInstalled; - private static readonly object s_wasmTemplatesLock = new(); - public WasmTemplateTestsBase(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext, ProjectProviderBase? provider = null) : base(provider ?? new WasmSdkBasedProjectProvider(output, DefaultTargetFramework), output, buildContext) { @@ -87,8 +84,6 @@ public ProjectInfo CreateWasmTemplateProject( extraArgs += $" -f {defaultTarget}"; } - EnsureWasmTemplatesInstalled(); - using DotNetCommand cmd = new DotNetCommand(s_buildEnv, _testOutput, useDefaultArgs: false); CommandResult result = cmd.WithWorkingDirectory(_projectDir) .WithEnvironmentVariable("NUGET_PACKAGES", _nugetPackagesDir) @@ -180,63 +175,6 @@ private static void AddCoreClrProjectProperties(ref string extraProperties, ref """; } - /// - /// Installs the WASM browser/console templates from the built nugets path - /// using dotnet new install if needed. This is a no-op when - /// the workload is already installed (templates come with the workload). - /// - private static void EnsureWasmTemplatesInstalled() - { - if (s_buildEnv.IsWorkload) - return; - - if (s_wasmTemplatesInstalled) - return; - - lock (s_wasmTemplatesLock) - { - if (s_wasmTemplatesInstalled) - return; - - string? templateNupkg = Directory.GetFiles(s_buildEnv.BuiltNuGetsPath, "Microsoft.NET.Runtime.WebAssembly.Templates.*.nupkg") - .Where(f => !f.EndsWith(".symbols.nupkg", StringComparison.OrdinalIgnoreCase)) - .FirstOrDefault(); - - if (templateNupkg is null) - throw new InvalidOperationException( - $"Could not find WebAssembly template nupkg in '{s_buildEnv.BuiltNuGetsPath}'"); - - Console.WriteLine($"[templates] Installing WASM templates from {templateNupkg} using {s_buildEnv.DotNet}"); - - var psi = new ProcessStartInfo - { - FileName = s_buildEnv.DotNet, - Arguments = $"new install \"{templateNupkg}\" --force", - RedirectStandardOutput = true, - RedirectStandardError = true, - UseShellExecute = false - }; - psi.Environment["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = "1"; - - using var process = Process.Start(psi) - ?? throw new InvalidOperationException("Failed to start 'dotnet new install' process"); - - var stdoutTask = process.StandardOutput.ReadToEndAsync(); - var stderrTask = process.StandardError.ReadToEndAsync(); - process.WaitForExit(); - - string stdout = stdoutTask.Result; - string stderr = stderrTask.Result; - - if (process.ExitCode != 0) - throw new InvalidOperationException( - $"'dotnet new install' failed with exit code {process.ExitCode}.\nStdout: {stdout}\nStderr: {stderr}"); - - Console.WriteLine($"[templates] WASM template install completed successfully"); - s_wasmTemplatesInstalled = true; - } - } - public virtual (string projectDir, string buildOutput) PublishProject( ProjectInfo info, Configuration configuration, From 3f93ab379bfbf130a92864e7a11336a3fd9eb886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 09:36:50 +0000 Subject: [PATCH 35/38] Clean up --- .../wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs index 8c8949b77b988c..6c3c3f7ecdedf0 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs @@ -5,7 +5,6 @@ using System.Collections.Generic; using System.Collections.Specialized; using System.Configuration; -using System.Diagnostics; using System.IO; using System.Linq; using System.Text; From 327f12f81b5bbe977b51006a8969bc8bab2d0e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Fri, 10 Apr 2026 09:38:15 +0000 Subject: [PATCH 36/38] Clean up --- .../wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs index 6c3c3f7ecdedf0..0760f1d12d2f62 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs @@ -140,7 +140,6 @@ private void UpdateProjectFile(string projectFilePath, bool runAnalyzers, string AddItemsPropertiesToProject(projectFilePath, extraProperties, extraItems, insertAtEnd); } - // TODO-WASM: https://github.com/dotnet/sdk/issues/51213 private static void AddCoreClrProjectProperties(ref string extraProperties, ref string extraItems, ref string insertAtEnd) { if (!s_buildEnv.IsCoreClrRuntime) From 055bb104f5a7490a3da5dab7f35ea431217e9344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Mon, 13 Apr 2026 17:49:12 +0000 Subject: [PATCH 37/38] Fix _WasmBuildAppCore target not found for CoreCLR browser-wasm samples Set RuntimeFlavor from Nested_RuntimeFlavor in Directory.Build.props before the WasmApp.InTree.props import, so that BrowserWasmApp.props (and WasmApp.Common.props) is not imported for CoreCLR builds. Previously RuntimeFlavor was only overridden in Directory.Build.targets, which evaluates after props. Subsets.props defaults RuntimeFlavor to Mono for browser-wasm, causing the Mono-specific _WasmBuildAppCore target to be added to WasmNestedPublishAppDependsOn even for CoreCLR builds. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/sample/wasm/Directory.Build.props | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mono/sample/wasm/Directory.Build.props b/src/mono/sample/wasm/Directory.Build.props index 7a509c489b84c6..3bf42bde850027 100644 --- a/src/mono/sample/wasm/Directory.Build.props +++ b/src/mono/sample/wasm/Directory.Build.props @@ -46,6 +46,14 @@ + + + $(Nested_RuntimeFlavor) + + From 3ba4c29e41a8ca292fa94cf9a868e7784d2538f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Tue, 14 Apr 2026 10:02:09 +0000 Subject: [PATCH 38/38] Fix ManagedToNativeGenerator UsingTask namespace in CoreCLR browser-wasm targets The ManagedToNativeGenerator task was moved from Microsoft.WebAssembly.Build.Tasks to Microsoft.WebAssembly.Build.Tasks.CoreClr, but the UsingTask reference in BrowserWasmApp.CoreCLR.targets was not updated. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/mono/browser/build/BrowserWasmApp.CoreCLR.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets index f2e1a1f6e1b92d..87d670a9bd11bd 100644 --- a/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets +++ b/src/mono/browser/build/BrowserWasmApp.CoreCLR.targets @@ -62,7 +62,7 @@ AssemblyFile="$(WasmAppBuilderTasksAssemblyPath)" TaskFactory="TaskHostFactory" Condition="'$(WasmAppBuilderTasksAssemblyPath)' != ''" /> -