From 46b6bd6d3497b090f189879ee11150a33d706dc2 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Thu, 8 Jan 2026 19:00:31 +0100 Subject: [PATCH 01/15] wip --- eng/native.wasm.targets | 8 -- .../templates/wasm-coreclr-library-tests.yml | 101 ++++++++++++++++++ eng/pipelines/runtime.yml | 12 +++ eng/testing/tests.browser.targets | 7 +- src/coreclr/interpreter/compiler.cpp | 3 + .../vm/wasm/callhelpers-interp-to-managed.cpp | 94 ++++++++++++++++ .../tests/WasmTestRunner/WasmTestRunner.cs | 12 ++- src/libraries/pretest.proj | 2 +- src/libraries/tests.proj | 2 +- .../corehost/browserhost/CMakeLists.txt | 6 +- src/native/corehost/browserhost/host/host.ts | 4 +- .../browserhost/libBrowserHost.footer.js | 11 +- .../corehost/browserhost/loader/dotnet.d.ts | 3 - .../Common/JavaScript/ems-ambient/index.ts | 7 +- .../Common/JavaScript/types/emscripten.ts | 3 - 15 files changed, 249 insertions(+), 26 deletions(-) create mode 100644 eng/pipelines/common/templates/wasm-coreclr-library-tests.yml diff --git a/eng/native.wasm.targets b/eng/native.wasm.targets index 23217c416c7fe3..8f5d59d25c05a0 100644 --- a/eng/native.wasm.targets +++ b/eng/native.wasm.targets @@ -38,15 +38,9 @@ - - - - - - @@ -60,8 +54,6 @@ - - <_EmccExportedRuntimeMethods>@(EmccExportedRuntimeMethod -> '%(Identity)',',') diff --git a/eng/pipelines/common/templates/wasm-coreclr-library-tests.yml b/eng/pipelines/common/templates/wasm-coreclr-library-tests.yml new file mode 100644 index 00000000000000..b52a7206316456 --- /dev/null +++ b/eng/pipelines/common/templates/wasm-coreclr-library-tests.yml @@ -0,0 +1,101 @@ +parameters: + alwaysRun: false + extraBuildArgs: '' + extraHelixArguments: '' + isExtraPlatformsBuild: false + isWasmOnlyBuild: false + nameSuffix: '' + platforms: [] + scenarios: ['WasmTestOnChrome'] + shouldContinueOnError: false + shouldRunSmokeOnly: false + +jobs: + +# +# Build for Browser/wasm and test it +# +- template: /eng/pipelines/common/platform-matrix.yml + parameters: + jobTemplate: /eng/pipelines/common/global-build-job.yml + helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml + buildConfig: Release + runtimeFlavor: coreclr + platforms: ${{ parameters.platforms }} + shouldContinueOnError: ${{ parameters.shouldContinueOnError }} + variables: + # map dependencies variables to local variables + - name: alwaysRunVar + value: ${{ parameters.alwaysRun }} + # - wasm darc deps changed + # - any libs that can have wasm specific changes + # - any other wasm specific changes that are not wbt, or dbg + - name: shouldRunOnDefaultPipelines + value: $[ + or( + eq(variables['wasmDarcDependenciesChanged'], true), + eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), + eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), + eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasm_chrome.containsChange'], true), + eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasm_specific_except_wbt_dbg.containsChange'], true)) + ] + # run smoke tests only if: + # - explicitly requested + # - libraries or illink changed and no wasm specific changes + - name: shouldRunSmokeOnlyVar + value: $[ + or( + eq('${{ parameters.shouldRunSmokeOnly }}', 'true'), + and( + eq('${{ parameters.shouldRunSmokeOnly }}', 'onLibrariesAndIllinkChanges'), + ne(variables['wasmDarcDependenciesChanged'], true), + or( + eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true), + eq(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true) + ), + ne(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasm_chrome.containsChange'], true), + ne(stageDependencies.EvaluatePaths.evaluate_paths.outputs['SetPathVars_wasm_specific_except_wbt_dbg.containsChange'], true) + ) + ) + ] + - name: _wasmRunSmokeTestsOnlyArg + value: /p:RunSmokeTestsOnly=$(shouldRunSmokeOnlyVar) + - name: chromeInstallArg + ${{ if containsValue(parameters.scenarios, 'WasmTestOnChrome') }}: + value: /p:InstallChromeForTests=true + ${{ else }}: + value: '' + - name: firefoxInstallArg + ${{ if containsValue(parameters.scenarios, 'WasmTestOnFirefox') }}: + value: /p:InstallFirefoxForTests=true + ${{ else }}: + value: '' + - name: v8InstallArg + ${{ if containsValue(parameters.scenarios, 'WasmTestOnV8') }}: + value: /p:InstallV8ForTests=true + ${{ else }}: + value: '' + + jobParameters: + isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }} + testGroup: innerloop + nameSuffix: LibraryTests${{ parameters.nameSuffix }} + buildArgs: -s clr+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=$(_hostedOs) $(_wasmRunSmokeTestsOnlyArg) $(chromeInstallArg) $(firefoxInstallArg) $(v8InstallArg) /maxcpucount:1 ${{ parameters.extraBuildArgs }} + timeoutInMinutes: 240 + # if !alwaysRun, then: + # if this is runtime-wasm (isWasmOnlyBuild): + # - then run only if it would not have run on default pipelines (based + # on path changes) + # - else run based on path changes + condition: >- + or( + eq(variables['alwaysRunVar'], true), + eq(variables['isDefaultPipeline'], variables['shouldRunOnDefaultPipelines'])) + # extra steps, run tests + postBuildSteps: + - template: /eng/pipelines/libraries/helix.yml + parameters: + creator: dotnet-bot + testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig) + extraHelixArguments: /p:BrowserHost=$(_hostedOs) $(_wasmRunSmokeTestsOnlyArg) ${{ parameters.extraHelixArguments }} + scenarios: ${{ parameters.scenarios }} diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index 0fa511074568c8..bc9942cfe90776 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -862,6 +862,18 @@ extends: scenarios: - WasmTestOnChrome + # WebAssembly CoreCLR + - template: /eng/pipelines/common/templates/wasm-coreclr-library-tests.yml + parameters: + platforms: + - browser_wasm + alwaysRun: ${{ variables.isRollingBuild }} + shouldRunSmokeOnly: true + # TODO consider shouldContinueOnError: true + extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS) + scenarios: + - WasmTestOnChrome + # EAT Library tests - only run on linux - template: /eng/pipelines/common/templates/wasm-library-aot-tests.yml parameters: diff --git a/eng/testing/tests.browser.targets b/eng/testing/tests.browser.targets index 4649cbd386d297..12d85af8a7f710 100644 --- a/eng/testing/tests.browser.targets +++ b/eng/testing/tests.browser.targets @@ -12,7 +12,6 @@ true false true - true <_WasmInTreeDefaults>false @@ -53,6 +52,12 @@ true true + + true + true + true + true + diff --git a/src/coreclr/interpreter/compiler.cpp b/src/coreclr/interpreter/compiler.cpp index 497abbaa02ab72..2d7fd19f38f86d 100644 --- a/src/coreclr/interpreter/compiler.cpp +++ b/src/coreclr/interpreter/compiler.cpp @@ -4072,6 +4072,8 @@ void InterpCompiler::EmitCanAccessCallout(CORINFO_RESOLVED_TOKEN *pResolvedToken void InterpCompiler::EmitCallsiteCallout(CorInfoIsAccessAllowedResult accessAllowed, CORINFO_HELPER_DESC* calloutDesc) { +// WASM-TODO: https://github.com/dotnet/runtime/issues/121955 +#ifndef TARGET_WASM if (accessAllowed == CORINFO_ACCESS_ILLEGAL) { int32_t svars[CORINFO_ACCESS_ALLOWED_MAX_ARGS]; @@ -4142,6 +4144,7 @@ void InterpCompiler::EmitCallsiteCallout(CorInfoIsAccessAllowedResult accessAllo } m_pLastNewIns->data[0] = GetDataForHelperFtn(calloutDesc->helperNum); } +#endif // !TARGET_WASM } static OpcodePeepElement peepRuntimeAsyncCall[] = { diff --git a/src/coreclr/vm/wasm/callhelpers-interp-to-managed.cpp b/src/coreclr/vm/wasm/callhelpers-interp-to-managed.cpp index 91cd17b5a2de1a..f1f53c5b9afa2a 100644 --- a/src/coreclr/vm/wasm/callhelpers-interp-to-managed.cpp +++ b/src/coreclr/vm/wasm/callhelpers-interp-to-managed.cpp @@ -49,12 +49,24 @@ namespace *((double*)pRet) = (*fptr)(ARG_F64(0), ARG_I32(1)); } + static void CallFunc_I32_I32_RetF64(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + double (*fptr)(int32_t, int32_t) = (double (*)(int32_t, int32_t))pcode; + *((double*)pRet) = (*fptr)(ARG_I32(0), ARG_I32(1)); + } + static void CallFunc_I32_RetF64(PCODE pcode, int8_t* pArgs, int8_t* pRet) { double (*fptr)(int32_t) = (double (*)(int32_t))pcode; *((double*)pRet) = (*fptr)(ARG_I32(0)); } + static void CallFunc_RetF32(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + float (*fptr)() = (float (*)())pcode; + *((float*)pRet) = (*fptr)(); + } + static void CallFunc_F32_RetF32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { float (*fptr)(float) = (float (*)(float))pcode; @@ -97,6 +109,12 @@ namespace *((int32_t*)pRet) = (*fptr)(ARG_F32(0), ARG_F32(1)); } + static void CallFunc_F32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int32_t (*fptr)(float) = (int32_t (*)(float))pcode; + *((int32_t*)pRet) = (*fptr)(ARG_F32(0)); + } + static void CallFunc_I32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int32_t (*fptr)(int32_t) = (int32_t (*)(int32_t))pcode; @@ -109,6 +127,12 @@ namespace *((int32_t*)pRet) = (*fptr)(ARG_I32(0), ARG_F64(1)); } + static void CallFunc_F64_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int32_t (*fptr)(double) = (int32_t (*)(double))pcode; + *((int32_t*)pRet) = (*fptr)(ARG_F64(0)); + } + static void CallFunc_I32_F32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int32_t (*fptr)(int32_t, float) = (int32_t (*)(int32_t, float))pcode; @@ -205,6 +229,12 @@ namespace *((int32_t*)pRet) = (*fptr)(ARG_I32(0), ARG_I64(1)); } + static void CallFunc_I64_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int32_t (*fptr)(int64_t) = (int32_t (*)(int64_t))pcode; + *((int32_t*)pRet) = (*fptr)(ARG_I64(0)); + } + static void CallFunc_I32_I64_I32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int32_t (*fptr)(int32_t, int64_t, int32_t) = (int32_t (*)(int32_t, int64_t, int32_t))pcode; @@ -343,12 +373,24 @@ namespace *((int64_t*)pRet) = (*fptr)(ARG_I32(0)); } + static void CallFunc_I64_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int64_t (*fptr)(int64_t) = (int64_t (*)(int64_t))pcode; + *((int64_t*)pRet) = (*fptr)(ARG_I64(0)); + } + static void CallFunc_I32_I32_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int64_t (*fptr)(int32_t, int32_t) = (int64_t (*)(int32_t, int32_t))pcode; *((int64_t*)pRet) = (*fptr)(ARG_I32(0), ARG_I32(1)); } + static void CallFunc_I64_I32_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int64_t (*fptr)(int64_t, int32_t) = (int64_t (*)(int64_t, int32_t))pcode; + *((int64_t*)pRet) = (*fptr)(ARG_I64(0), ARG_I32(1)); + } + static void CallFunc_I32_I32_I32_I64_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int64_t (*fptr)(int32_t, int32_t, int32_t, int64_t) = (int64_t (*)(int32_t, int32_t, int32_t, int64_t))pcode; @@ -379,6 +421,13 @@ namespace *((int64_t*)pRet) = (*fptr)(ARG_I64(0), ARG_I64(1)); } + static void CallFunc_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int32_t (*fptr)() = (int32_t (*)())pcode; + PORTABILITY_ASSERT("Indirect struct return is not yet implemented."); + *((int32_t*)pRet) = (*fptr)(); + } + static void CallFunc_I32_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int32_t (*fptr)(int32_t) = (int32_t (*)(int32_t))pcode; @@ -393,6 +442,20 @@ namespace *((int32_t*)pRet) = (*fptr)(ARG_I32(0), ARG_I32(1)); } + static void CallFunc_IND_I32_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int32_t (*fptr)(int32_t, int32_t) = (int32_t (*)(int32_t, int32_t))pcode; + PORTABILITY_ASSERT("Indirect struct return is not yet implemented."); + *((int32_t*)pRet) = (*fptr)(ARG_IND(0), ARG_I32(1)); + } + + static void CallFunc_IND_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int32_t (*fptr)(int32_t) = (int32_t (*)(int32_t))pcode; + PORTABILITY_ASSERT("Indirect struct return is not yet implemented."); + *((int32_t*)pRet) = (*fptr)(ARG_IND(0)); + } + static void CallFunc_Void_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) { void (*fptr)() = (void (*)())pcode; @@ -405,12 +468,24 @@ namespace (*fptr)(ARG_F64(0), ARG_I32(1), ARG_I32(2)); } + static void CallFunc_F64_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + void (*fptr)(double) = (void (*)(double))pcode; + (*fptr)(ARG_F64(0)); + } + static void CallFunc_F32_I32_I32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) { void (*fptr)(float, int32_t, int32_t) = (void (*)(float, int32_t, int32_t))pcode; (*fptr)(ARG_F32(0), ARG_I32(1), ARG_I32(2)); } + static void CallFunc_F32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + void (*fptr)(float) = (void (*)(float))pcode; + (*fptr)(ARG_F32(0)); + } + static void CallFunc_I32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) { void (*fptr)(int32_t) = (void (*)(int32_t))pcode; @@ -447,6 +522,12 @@ namespace (*fptr)(ARG_I32(0), ARG_I32(1), ARG_I32(2), ARG_I32(3), ARG_I32(4), ARG_I32(5)); } + static void CallFunc_I32_I32_I32_I32_I32_I32_I32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + void (*fptr)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t) = (void (*)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t))pcode; + (*fptr)(ARG_I32(0), ARG_I32(1), ARG_I32(2), ARG_I32(3), ARG_I32(4), ARG_I32(5), ARG_I32(6)); + } + static void CallFunc_I32_I32_I32_IND_IND_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) { void (*fptr)(int32_t, int32_t, int32_t, int32_t, int32_t) = (void (*)(int32_t, int32_t, int32_t, int32_t, int32_t))pcode; @@ -569,6 +650,8 @@ const StringToWasmSigThunk g_wasmThunks[] = { { "dddd", (void*)&CallFunc_F64_F64_F64_RetF64 }, { "ddi", (void*)&CallFunc_F64_I32_RetF64 }, { "di", (void*)&CallFunc_I32_RetF64 }, + { "dii", (void*)&CallFunc_I32_I32_RetF64 }, + { "f", (void*)&CallFunc_RetF32 }, { "ff", (void*)&CallFunc_F32_RetF32 }, { "fff", (void*)&CallFunc_F32_F32_RetF32 }, { "ffff", (void*)&CallFunc_F32_F32_F32_RetF32 }, @@ -576,8 +659,10 @@ const StringToWasmSigThunk g_wasmThunks[] = { { "i", (void*)&CallFunc_Void_RetI32 }, { "idi", (void*)&CallFunc_F64_I32_RetI32 }, { "iff", (void*)&CallFunc_F32_F32_RetI32 }, + { "if", (void*)&CallFunc_F32_RetI32 }, { "ii", (void*)&CallFunc_I32_RetI32 }, { "iid", (void*)&CallFunc_I32_F64_RetI32 }, + { "id", (void*)&CallFunc_F64_RetI32 }, { "iif", (void*)&CallFunc_I32_F32_RetI32 }, { "iifiif", (void*)&CallFunc_I32_F32_I32_I32_F32_RetI32 }, { "iii", (void*)&CallFunc_I32_I32_RetI32 }, @@ -594,6 +679,7 @@ const StringToWasmSigThunk g_wasmThunks[] = { { "iiinii", (void*)&CallFunc_I32_I32_IND_I32_I32_RetI32 }, { "iiiniin", (void*)&CallFunc_I32_I32_IND_I32_I32_IND_RetI32 }, { "iil", (void*)&CallFunc_I32_I64_RetI32 }, + { "il", (void*)&CallFunc_I64_RetI32 }, { "iili", (void*)&CallFunc_I32_I64_I32_RetI32 }, { "iiliiil", (void*)&CallFunc_I32_I64_I32_I32_I32_I64_RetI32 }, { "iill", (void*)&CallFunc_I32_I64_I64_RetI32 }, @@ -617,23 +703,31 @@ const StringToWasmSigThunk g_wasmThunks[] = { { "innin", (void*)&CallFunc_IND_IND_I32_IND_RetI32 }, { "l", (void*)&CallFunc_Void_RetI64 }, { "li", (void*)&CallFunc_I32_RetI64 }, + { "ll", (void*)&CallFunc_I64_RetI64 }, { "lii", (void*)&CallFunc_I32_I32_RetI64 }, + { "lli", (void*)&CallFunc_I64_I32_RetI64 }, { "liiil", (void*)&CallFunc_I32_I32_I32_I64_RetI64 }, { "lil", (void*)&CallFunc_I32_I64_RetI64 }, { "lili", (void*)&CallFunc_I32_I64_I32_RetI64 }, { "lill", (void*)&CallFunc_I32_I64_I64_RetI64 }, { "lll", (void*)&CallFunc_I64_I64_RetI64 }, + { "n", (void*)&CallFunc_RetIND }, { "ni", (void*)&CallFunc_I32_RetIND }, + { "nn", (void*)&CallFunc_IND_RetIND }, + { "nni", (void*)&CallFunc_IND_I32_RetIND }, { "nii", (void*)&CallFunc_I32_I32_RetIND }, { "v", (void*)&CallFunc_Void_RetVoid }, + { "vd", (void*)&CallFunc_F64_RetVoid }, { "vdii", (void*)&CallFunc_F64_I32_I32_RetVoid }, { "vfii", (void*)&CallFunc_F32_I32_I32_RetVoid }, + { "vf", (void*)&CallFunc_F32_RetVoid }, { "vi", (void*)&CallFunc_I32_RetVoid }, { "vii", (void*)&CallFunc_I32_I32_RetVoid }, { "viii", (void*)&CallFunc_I32_I32_I32_RetVoid }, { "viiii", (void*)&CallFunc_I32_I32_I32_I32_RetVoid }, { "viiiii", (void*)&CallFunc_I32_I32_I32_I32_I32_RetVoid }, { "viiiiii", (void*)&CallFunc_I32_I32_I32_I32_I32_I32_RetVoid }, + { "viiiiiii", (void*)&CallFunc_I32_I32_I32_I32_I32_I32_I32_RetVoid }, { "viiinn", (void*)&CallFunc_I32_I32_I32_IND_IND_RetVoid }, { "viiinni", (void*)&CallFunc_I32_I32_I32_IND_IND_I32_RetVoid }, { "viin", (void*)&CallFunc_I32_I32_IND_RetVoid }, diff --git a/src/libraries/Common/tests/WasmTestRunner/WasmTestRunner.cs b/src/libraries/Common/tests/WasmTestRunner/WasmTestRunner.cs index 8c393b95f69c21..c62a7473d9ed8f 100644 --- a/src/libraries/Common/tests/WasmTestRunner/WasmTestRunner.cs +++ b/src/libraries/Common/tests/WasmTestRunner/WasmTestRunner.cs @@ -3,11 +3,13 @@ using System; using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; using Microsoft.DotNet.XHarness.TestRunners.Common; using Microsoft.DotNet.XHarness.TestRunners.Xunit; -using System.Runtime.CompilerServices; public class WasmTestRunner : WasmApplicationEntryPoint { @@ -31,6 +33,14 @@ public static Task Main(string[] args) } #endif + // workaround for https://github.com/dotnet/runtime/issues/122972 + protected override IEnumerable GetTestAssemblies() + { + AssemblyName an = new AssemblyName(Path.GetFileNameWithoutExtension(TestAssembly)); + Assembly assembly = Assembly.Load(an); + return new[] { new TestAssemblyInfo(assembly, TestAssembly) }; + } + public static async Task MainAsync(string[] args) { if (args.Length == 0) diff --git a/src/libraries/pretest.proj b/src/libraries/pretest.proj index 7dd51b6d0411ae..3715486ce1c477 100644 --- a/src/libraries/pretest.proj +++ b/src/libraries/pretest.proj @@ -40,7 +40,7 @@ + Condition="'$(TargetOS)' == 'browser' and '$(ContinuousIntegrationBuild)' == 'true'" /> diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index f9f658030da96f..26bb2b4da641f0 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -534,7 +534,7 @@ - + diff --git a/src/native/corehost/browserhost/CMakeLists.txt b/src/native/corehost/browserhost/CMakeLists.txt index 2640458e50d1ed..bbf88764ae9e12 100644 --- a/src/native/corehost/browserhost/CMakeLists.txt +++ b/src/native/corehost/browserhost/CMakeLists.txt @@ -102,8 +102,10 @@ if (UPPERCASE_CMAKE_BUILD_TYPE STREQUAL DEBUG) ) endif () +# add -sVERBOSE=1 to debug linking issues # WASM-TODO -emit-llvm # WASM-TODO --source-map-base http://microsoft.com +# WASM-TODO -sSEPARATE_DWARF=1, -gseparate-dwarf target_link_options(browserhost PRIVATE -sINITIAL_MEMORY=134217728 -sMAXIMUM_MEMORY=2147483648 @@ -120,10 +122,8 @@ target_link_options(browserhost PRIVATE -lnodefs.js -Wl,-error-limit=0) -target_link_libraries(browserhost PUBLIC - BrowserHost-Static -) target_link_libraries(browserhost PRIVATE + BrowserHost-Static ${NATIVE_LIBS} ${START_WHOLE_ARCHIVE} ${RUNTIMEINFO_LIB} diff --git a/src/native/corehost/browserhost/host/host.ts b/src/native/corehost/browserhost/host/host.ts index 03ffe7a91eef76..d55d8c3c1ade6d 100644 --- a/src/native/corehost/browserhost/host/host.ts +++ b/src/native/corehost/browserhost/host/host.ts @@ -75,7 +75,7 @@ export function installVfsFile(bytes: Uint8Array, asset: VfsAsset) { _ems_.dotnetLogger.debug(`Creating directory '${parentDirectory}'`); - _ems_.Module.FS_createPath( + _ems_.FS.createPath( "/", parentDirectory, true, true // fixme: should canWrite be false? ); } else { @@ -84,7 +84,7 @@ export function installVfsFile(bytes: Uint8Array, asset: VfsAsset) { _ems_.dotnetLogger.debug(`Creating file '${fileName}' in directory '${parentDirectory}'`); - _ems_.Module.FS_createDataFile( + _ems_.FS.createDataFile( parentDirectory, fileName, bytes, true /* canRead */, true /* canWrite */, true /* canOwn */ ); diff --git a/src/native/corehost/browserhost/libBrowserHost.footer.js b/src/native/corehost/browserhost/libBrowserHost.footer.js index b37e57dcea93da..49504a4252d243 100644 --- a/src/native/corehost/browserhost/libBrowserHost.footer.js +++ b/src/native/corehost/browserhost/libBrowserHost.footer.js @@ -19,7 +19,11 @@ const exports = {}; libBrowserHost(exports); - let commonDeps = ["$libBrowserHostFn", "$DOTNET", "$DOTNET_INTEROP", "$ENV", "$FS", "$NODEFS", "wasm_load_icu_data", "BrowserHost_InitializeCoreCLR", "BrowserHost_ExecuteAssembly"]; + let commonDeps = [ + "$DOTNET", "$DOTNET_INTEROP", "$ENV", "$FS", "$NODEFS", + "$libBrowserHostFn", + "wasm_load_icu_data", "BrowserHost_InitializeCoreCLR", "BrowserHost_ExecuteAssembly" + ]; const lib = { $BROWSER_HOST: { selfInitialize: () => { @@ -64,6 +68,11 @@ } } }, + // libBrowserHostFn is too complex for acorn-optimizer.mjs to find the dependencies + AJSDCE_Deps: function () { + _BrowserHost_InitializeCoreCLR(); + _BrowserHost_ExecuteAssembly(); + }, }, $libBrowserHostFn: libBrowserHost, $BROWSER_HOST__postset: "BROWSER_HOST.selfInitialize()", diff --git a/src/native/corehost/browserhost/loader/dotnet.d.ts b/src/native/corehost/browserhost/loader/dotnet.d.ts index 265014a8f61f04..a4b0273eea0266 100644 --- a/src/native/corehost/browserhost/loader/dotnet.d.ts +++ b/src/native/corehost/browserhost/loader/dotnet.d.ts @@ -36,9 +36,6 @@ interface EmscriptenModule { UTF8ArrayToString(u8Array: Uint8Array, idx?: number, maxBytesToRead?: number): string; stringToUTF8Array(str: string, heap: Uint8Array, outIdx: number, maxBytesToWrite: number): void; lengthBytesUTF8(str: string): number; - FS_createPath(parent: string, path: string, canRead?: boolean, canWrite?: boolean): string; - FS_createDataFile(parent: string, name: string, data: TypedArray, canRead: boolean, canWrite: boolean, canOwn?: boolean): string; - addFunction(fn: Function, signature: string): number; stackSave(): VoidPtr; stackRestore(stack: VoidPtr): void; stackAlloc(size: number): VoidPtr; diff --git a/src/native/libs/Common/JavaScript/ems-ambient/index.ts b/src/native/libs/Common/JavaScript/ems-ambient/index.ts index 66dc3d452c610c..46a71f13a8f17f 100644 --- a/src/native/libs/Common/JavaScript/ems-ambient/index.ts +++ b/src/native/libs/Common/JavaScript/ems-ambient/index.ts @@ -1,7 +1,7 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. -import type { AssertType, EmscriptenModuleInternal, LoggerType, LoaderExports, InternalExchange, InternalExchangeSubscriber, RuntimeAPI, BrowserUtilsExports, VoidPtr, RuntimeExports } from "../types"; +import type { AssertType, EmscriptenModuleInternal, LoggerType, LoaderExports, InternalExchange, InternalExchangeSubscriber, RuntimeAPI, BrowserUtilsExports, VoidPtr, RuntimeExports, TypedArray } from "../types"; // we want to use the cross-module symbols defined in closure of dotnet.native.js // which are installed there by libSystem.Native.Browser.Utils.footer.js @@ -24,6 +24,10 @@ type emAmbientSymbolsType = { _BrowserHost_InitializeCoreCLR: () => number; _BrowserHost_ExecuteAssembly: (mainAssemblyNamePtr: number, argsLength: number, argsPtr: number) => number; _wasm_load_icu_data: (dataPtr: VoidPtr) => number; + FS: { + createPath: (parent: string, path: string, canRead?: boolean, canWrite?: boolean) => string; + createDataFile: (parent: string, name: string, data: TypedArray, canRead: boolean, canWrite: boolean, canOwn?: boolean) => string; + } DOTNET: any; DOTNET_INTEROP: any; @@ -42,7 +46,6 @@ type emAmbientSymbolsType = { _emscripten_force_exit: (exitCode: number) => void; _exit: (exitCode: number, implicit?: boolean) => void; safeSetTimeout: (func: Function, timeout: number) => number; - maybeExit: () => void; exitJS: (status: number, implicit?: boolean | number) => void; runtimeKeepalivePop: () => void; runtimeKeepalivePush: () => void; diff --git a/src/native/libs/Common/JavaScript/types/emscripten.ts b/src/native/libs/Common/JavaScript/types/emscripten.ts index 9ef24f09274cb2..3a2b4fa5a63988 100644 --- a/src/native/libs/Common/JavaScript/types/emscripten.ts +++ b/src/native/libs/Common/JavaScript/types/emscripten.ts @@ -45,9 +45,6 @@ export interface EmscriptenModule { UTF8ArrayToString(u8Array: Uint8Array, idx?: number, maxBytesToRead?: number): string; stringToUTF8Array(str: string, heap: Uint8Array, outIdx: number, maxBytesToWrite: number): void; lengthBytesUTF8(str: string): number; - FS_createPath(parent: string, path: string, canRead?: boolean, canWrite?: boolean): string; - FS_createDataFile(parent: string, name: string, data: TypedArray, canRead: boolean, canWrite: boolean, canOwn?: boolean): string; - addFunction(fn: Function, signature: string): number; stackSave(): VoidPtr; stackRestore(stack: VoidPtr): void; stackAlloc(size: number): VoidPtr; From dbfee636ea7263d44882fdbf9c8ff1e960a35396 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Thu, 8 Jan 2026 22:00:26 +0100 Subject: [PATCH 02/15] ActiveIssue https://github.com/dotnet/runtime/issues/123011 --- .../System.Runtime.Tests/System/Attributes.cs | 1 + .../System/DateTimeTests.cs | 1 + .../System/DecimalTests.cs | 9 +++++++++ .../System/DelegateTests.cs | 19 +++++++++++++++++++ .../System/DoubleTests.GenericMath.cs | 2 ++ .../System/DoubleTests.cs | 1 + .../System.Runtime.Tests/System/GCTests.cs | 6 ++++++ .../System/HalfTests.GenericMath.cs | 2 ++ .../System.Runtime.Tests/System/HalfTests.cs | 1 + .../System/Int128Tests.cs | 3 +++ .../TotalOrderIeee754ComparerTests.cs | 1 + .../Reflection/InvokeWithRefLikeArgs.cs | 4 +++- .../System/Reflection/ModuleTests.cs | 2 ++ .../ConditionalWeakTableTests.cs | 5 +++++ .../CompilerServices/RuntimeFeatureTests.cs | 1 + .../Runtime/ControlledExecutionTests.cs | 3 +++ .../System/Runtime/DependentHandleTests.cs | 5 +++++ .../System/Runtime/JitInfoTests.cs | 1 + .../System/SingleTests.GenericMath.cs | 2 ++ .../System/StringTests.cs | 1 + .../System/Threading/PeriodicTimerTests.cs | 6 ++++++ .../System/UInt128Tests.cs | 3 +++ .../System/WeakReferenceTests.cs | 1 + src/mono/browser/test-main.js | 3 ++- 24 files changed, 81 insertions(+), 2 deletions(-) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs index 3784d52cfcaa0b..4dcf148f92442f 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs @@ -224,6 +224,7 @@ public static void GetCustomAttributes_Interface() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("Mono does not support getting DynamicMethod attributes via Attribute.GetCustomAttributes()")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void GetCustomAttributes_DynamicMethod() { var dynamicMethod = new DynamicMethod("test", typeof(void), Type.EmptyTypes); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs index 716b4df993a6d3..a5a50baf62ea5e 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs @@ -2702,6 +2702,7 @@ public void ToType_DateTime_ReturnsExpected() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void GetObjectData_Invoke_ReturnsExpected() { ISerializable serializable = new DateTime(10, DateTimeKind.Utc); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs index cf62bd32354494..190a9e7d9d0d3c 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs @@ -135,6 +135,7 @@ public static IEnumerable Ctor_IntArray_TestData() [Theory] [MemberData(nameof(Ctor_IntArray_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void Ctor_IntArray(int[] value, decimal expected) { Assert.Equal(expected, new decimal(value)); @@ -142,6 +143,7 @@ public void Ctor_IntArray(int[] value, decimal expected) [Theory] [MemberData(nameof(Ctor_IntArray_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void Ctor_IntSpan(int[] value, decimal expected) { Assert.Equal(expected, new decimal(value.AsSpan())); @@ -247,6 +249,7 @@ public static IEnumerable Ctor_Int_Int_Int_Bool_Byte_TestData() [Theory] [MemberData(nameof(Ctor_Int_Int_Int_Bool_Byte_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void Ctor_Int_Int_Int_Bool_Byte(int lo, int mid, int hi, bool isNegative, byte scale, decimal expected) { Assert.Equal(expected, new decimal(lo, mid, hi, isNegative, scale)); @@ -330,6 +333,7 @@ public static IEnumerable Add_Overflows_TestData() [Theory] [MemberData(nameof(Add_Overflows_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void Add_Overflows_ThrowsOverflowException(decimal d1, decimal d2) { Assert.Throws(() => d1 + d2); @@ -1117,6 +1121,7 @@ public static IEnumerable Remainder_Valid_TestData() [Theory] [MemberData(nameof(Remainder_Valid_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Remainder(decimal d1, decimal d2, decimal expected) { Assert.Equal(expected, d1 % d2); @@ -1198,6 +1203,7 @@ public static IEnumerable Round_Digit_Valid_TestData() [Theory] [MemberData(nameof(Round_Digit_Valid_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Round_Digits_ReturnsExpected(decimal d, int digits, decimal expected) { Assert.Equal(expected, decimal.Round(d, digits)); @@ -1231,6 +1237,7 @@ public static IEnumerable Round_Digit_Mid_Valid_TestData() [Theory] [MemberData(nameof(Round_Digit_Mid_Valid_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Round_DigitsMode_ReturnsExpected(decimal d, int digits, MidpointRounding mode, decimal expected) { Assert.Equal(expected, decimal.Round(d, digits, mode)); @@ -1301,6 +1308,7 @@ public static IEnumerable Subtract_Valid_TestData() [Theory] [MemberData(nameof(Subtract_Valid_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Subtract(decimal d1, decimal d2, decimal expected) { Assert.Equal(expected, d1 - d2); @@ -1319,6 +1327,7 @@ public static IEnumerable Subtract_Invalid_TestData() [Theory] [MemberData(nameof(Subtract_Invalid_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Subtract_Invalid(decimal d1, decimal d2) { Assert.Throws(() => decimal.Subtract(d1, d2)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs index c6f86a626ca252..e2e76fd0759280 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs @@ -276,6 +276,7 @@ public static void DynamicInvoke_DefaultParameter_AllPrimitiveParametersWithSome } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_StringParameterWithMissingValue() { Assert.Equal @@ -284,6 +285,7 @@ public static void DynamicInvoke_DefaultParameter_StringParameterWithMissingValu } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_StringParameterWithExplicitValue() { Assert.Equal( @@ -292,12 +294,14 @@ public static void DynamicInvoke_DefaultParameter_StringParameterWithExplicitVal } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithMissingValue() { Assert.Null((new ReferenceWithDefaultValue(ReferenceMethod)).DynamicInvoke(new object[] { Type.Missing })); } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithExplicitValue() { CustomReferenceType referenceInstance = new CustomReferenceType(); @@ -307,6 +311,7 @@ public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithExpl } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithMissingValue() { Assert.Equal( @@ -315,6 +320,7 @@ public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithMissingV } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithExplicitValue() { Assert.Equal( @@ -323,6 +329,7 @@ public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithExplicit } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -331,6 +338,7 @@ public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithMissingVa } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DateTimeAndCustomConstantAttribute_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -339,6 +347,7 @@ public static void DynamicInvoke_DateTimeAndCustomConstantAttribute_DateTimePara } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_CustomConstantAndDateTimeAttribute_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -347,6 +356,7 @@ public static void DynamicInvoke_CustomConstantAndDateTimeAttribute_DateTimePara } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_CustomConstantAttribute_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -355,6 +365,7 @@ public static void DynamicInvoke_CustomConstantAttribute_DateTimeParameterWithMi } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithExplicitValue() { Assert.Equal( @@ -363,6 +374,7 @@ public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithExplicitV } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -371,6 +383,7 @@ public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeA } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DecimalAndCustomConstantAttribute_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -379,6 +392,7 @@ public static void DynamicInvoke_DecimalAndCustomConstantAttribute_DecimalParame } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_CustomConstantAndDecimalAttribute_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -387,6 +401,7 @@ public static void DynamicInvoke_CustomConstantAndDecimalAttribute_DecimalParame } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_CustomConstantAttribute_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -395,6 +410,7 @@ public static void DynamicInvoke_CustomConstantAttribute_DecimalParameterWithAtt } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeAndExplicitValue() { Assert.Equal( @@ -403,6 +419,7 @@ public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeA } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithMissingValue() { Assert.Equal( @@ -411,6 +428,7 @@ public static void DynamicInvoke_DefaultParameter_DecimalParameterWithMissingVal } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithExplicitValue() { Assert.Equal( @@ -425,6 +443,7 @@ public static void DynamicInvoke_DefaultParameter_NullableIntWithMissingValue() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicInvoke_DefaultParameter_NullableIntWithExplicitValue() { Assert.Equal( diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs index a866fd062b19f3..648f3c576433da 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs @@ -346,6 +346,7 @@ public static void op_InequalityTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void ConvertToIntegerTest() { // Signed Values @@ -398,6 +399,7 @@ public static void ConvertToIntegerTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void ConvertToIntegerNativeTest() { // Signed Values diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs index ac1bf4abf4e863..648f4cecb26771 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs @@ -834,6 +834,7 @@ public static void ToString_InvalidFormat_ThrowsFormatException() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.Is64BitProcess))] // Requires a lot of memory [OuterLoop("Takes a long time, allocates a lot of memory")] [SkipOnMono("Frequently throws OOM on Mono")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void ToString_ValidLargeFormat() { double d = 123.0; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs index edb7ba0b488d3a..ac14ba08be2ad3 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs @@ -14,6 +14,7 @@ namespace System.Tests { + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static class GCTests { private static bool s_is32Bits = IntPtr.Size == 4; // Skip IntPtr tests on 32-bit platforms @@ -81,6 +82,7 @@ public static void Collection_InvalidCollectionMode_ThrowsArgumentOutOfRangeExce } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Collect_CallsFinalizer() { FinalizerTest.Run(); @@ -138,6 +140,7 @@ private class ObjectWithExpensiveFinalizer } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void KeepAlive() { KeepAliveTest.Run(); @@ -188,6 +191,7 @@ private class DoNotKeepAliveObject } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void KeepAlive_Null() { KeepAliveNullTest.Run(); @@ -349,6 +353,7 @@ public static void SuppressFinalizer_NullObject_ThrowsArgumentNullException() } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void ReRegisterForFinalize() { ReRegisterForFinalizeTest.Run(); @@ -1093,6 +1098,7 @@ private static void AllocateArray() [Theory] [InlineData(-1)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] private static void AllocateArrayNegativeSize(int negValue) { Assert.Throws(() => GC.AllocateUninitializedArray(-1)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs index 276557d5db9026..9e45a91e70a5af 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs @@ -2454,6 +2454,7 @@ public static void op_UnaryPlusTest() [Theory] [MemberData(nameof(HalfTests.Parse_Valid_TestData), MemberType = typeof(HalfTests))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void ParseValidStringTest(string value, NumberStyles style, IFormatProvider provider, Half expected) { bool isDefaultProvider = provider == null || provider == NumberFormatInfo.CurrentInfo; @@ -2528,6 +2529,7 @@ public static void ParseInvalidStringTest(string value, NumberStyles style, IFor [Theory] [MemberData(nameof(HalfTests.Parse_ValidWithOffsetCount_TestData), MemberType = typeof(HalfTests))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void ParseValidSpanTest(string value, int offset, int count, NumberStyles style, IFormatProvider provider, Half expected) { bool isDefaultProvider = provider == null || provider == NumberFormatInfo.CurrentInfo; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs index 198707f543f5f4..3b423a0c75c50b 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs @@ -894,6 +894,7 @@ public static void Parse_Span_Invalid(string value, NumberStyles style, IFormatP [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Parse_Utf8Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, float expectedFloat) { bool isDefaultProvider = provider == null || provider == NumberFormatInfo.CurrentInfo; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs index 36b197524a0fec..41c5a4306a4063 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs @@ -324,6 +324,7 @@ public static IEnumerable Parse_Valid_TestData() [Theory] [MemberData(nameof(Parse_Valid_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Parse_Valid(string value, NumberStyles style, IFormatProvider provider, Int128 expected) { Int128 result; @@ -445,6 +446,7 @@ public static IEnumerable Parse_ValidWithOffsetCount_TestData() [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Parse_Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, Int128 expected) { Int128 result; @@ -486,6 +488,7 @@ public static void Parse_Span_Invalid(string value, NumberStyles style, IFormatP [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Parse_Utf8Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, Int128 expected) { Int128 result; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs index 9ec0d213a9113a..32e1c77a994a18 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs @@ -137,6 +137,7 @@ public void TotalOrderTestNFloat(NFloat x, NFloat y, int result) [Theory] [InlineData(-1)] [InlineData(int.MinValue)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void TotalOrderTestInvalidSignificand(int significandByteCount) { var comparer = new TotalOrderIeee754Comparer(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs index 0ac914dc0cc0d8..a8b11e8651ce8c 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs @@ -37,6 +37,7 @@ public static void MethodTakesRefStructAsArgWithDefaultValue_ThrowsNSE() // Moq heavily utilizes RefEmit, which does not work on most aot workloads [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("https://github.com/dotnet/runtime/issues/40738")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void MethodTakesRefToRefStructAsArg_ThrowsNSE() { // Use a Binder to trick the reflection stack into treating the returned null @@ -51,7 +52,8 @@ public static void MethodTakesRefToRefStructAsArg_ThrowsNSE() } [Fact] - [SkipOnMono("https://github.com/dotnet/runtime/issues/40738")] + [SkipOnPlatform(TestPlatforms.Browser, "https://github.com/dotnet/runtime/issues/40738")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void MethodTakesOutToRefStructAsArg_ThrowsNSE() { MethodInfo mi = GetMethod(nameof(TestClass.TakesOutToRefStructAsArg)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs index 1e1611df15b78c..643945f0d7fe4f 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs @@ -81,6 +81,7 @@ public void CustomAttributes() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void FullyQualifiedName() { #if SINGLE_FILE_TEST_RUNNER @@ -99,6 +100,7 @@ public void FullyQualifiedName() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void Name() { #if SINGLE_FILE_TEST_RUNNER diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs index 06487e90aec3e8..e2cf5f72f92492 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs @@ -40,6 +40,7 @@ public static void InvalidArgs_Throws() [InlineData(1, true)] [InlineData(100, false)] [InlineData(100, true)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Add(int numObjects, bool tryAdd) { // Isolated to ensure we drop all references even in debug builds where lifetime is extended by the JIT to the end of the method @@ -512,6 +513,7 @@ static WeakReference GetWeakCondTabRef(out ConditionalWeakTable } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void AddRemove_DropValue() { // Verify that the removed entry is not keeping the value alive @@ -543,6 +545,7 @@ static void GetWeakRefPair(out WeakReference key_out, out WeakReference< } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void GetOrCreateValue() { WeakReference wrValue; @@ -574,6 +577,7 @@ static void GetWeakRefValPair(out WeakReference key_out, out WeakReferen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void GetValue() { WeakReference wrValue; @@ -739,6 +743,7 @@ public static void GetEnumerator_AddedAndRemovedItems_AppropriatelyShowUpInEnume } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void GetEnumerator_CollectedItemsNotEnumerated() { var cwt = new ConditionalWeakTable(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs index 993b4125bedb58..3422c04abfa569 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs @@ -32,6 +32,7 @@ public static void DynamicCode() [Fact] [SkipOnMono("IsDynamicCodeCompiled returns false in cases where mono doesn't support these features")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void DynamicCode_Jit() { if (PlatformDetection.IsNativeAot) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs index 4335f71c57f4d2..6e3a8783ec533c 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs @@ -10,6 +10,7 @@ namespace System.Runtime.Tests { + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public sealed class ControlledExecutionTests { private volatile bool _readyForCancellation; @@ -54,6 +55,7 @@ void Test() // Tests that an infinite loop may be aborted and that the ThreadAbortException is translated // to an OperationCanceledException. [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoRuntime), nameof(PlatformDetection.IsNotNativeAot))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void CancelOutsideOfTryCatchFinally() { var cts = new CancellationTokenSource(); @@ -160,6 +162,7 @@ void Test() // Tests that finally blocks are not aborted. The finally block throws an exception. [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoRuntime), nameof(PlatformDetection.IsNotNativeAot))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void CancelInFinallyThatSleepsAndThrows() { var cts = new CancellationTokenSource(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs index 3c798557d321cb..fda683efe76571 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs @@ -100,6 +100,7 @@ public void GetSetDependent() } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void TargetKeepsDependentAlive() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -129,6 +130,7 @@ static DependentHandle Initialize(out object target, out WeakReference weakDepen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void DependentDoesNotKeepTargetAlive() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -157,6 +159,7 @@ static DependentHandle Initialize(out WeakReference weakTarget, out object depen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void DependentIsCollectedOnTargetNotReachable() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -184,6 +187,7 @@ static DependentHandle Initialize(out WeakReference weakTarget, out WeakReferenc } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void DependentIsCollectedOnTargetNotReachable_EvenWithReferenceCycles() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -218,6 +222,7 @@ private sealed class ObjectWithReference } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void DependentIsCollectedAfterTargetIsSetToNull() { [MethodImpl(MethodImplOptions.NoInlining)] diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs index 2b2472f1b22e82..1945ddea5bd3c5 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs @@ -106,6 +106,7 @@ public void JitInfoIsNotPopulated() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("Mono does not track thread specific JIT information")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void JitInfoCurrentThreadIsPopulated() { TimeSpan t1_beforeCompilationTime = TimeSpan.Zero; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs index becf0c22c1ff62..b854bc79f2f298 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs @@ -346,6 +346,7 @@ public static void op_InequalityTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void ConvertToIntegerTest() { // Signed Values @@ -398,6 +399,7 @@ public static void ConvertToIntegerTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void ConvertToIntegerNativeTest() { // Signed Values diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs index 3768f9feeba903..1de86b2c75ba5b 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs @@ -1235,6 +1235,7 @@ public static void NonRandomizedGetHashCode_EquivalentForStringAndSpan(int charV [Theory] [MemberData(nameof(GetHashCode_NoSuchStringComparison_ThrowsArgumentException_Data))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void GetHashCode_NoSuchStringComparison_ThrowsArgumentException(StringComparison comparisonType) { AssertExtensions.Throws("comparisonType", () => "abc".GetHashCode(comparisonType)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs index 231a192fd495c8..60b0f2106f5781 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs @@ -7,6 +7,7 @@ namespace System.Threading.Tests { + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public class PeriodicTimerTests { [Fact] @@ -82,6 +83,7 @@ public async Task Dispose_Idempotent() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public async Task WaitForNextTickAsync_TimerFires_ReturnsTrue() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); @@ -118,6 +120,7 @@ public async Task WaitForNextTickAsync_ConcurrentDispose_ReturnsFalse() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public async Task WaitForNextTickAsync_ConcurrentDisposeAfterTicks_EventuallyReturnsFalse() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); @@ -137,6 +140,7 @@ public async Task WaitForNextTickAsync_ConcurrentDisposeAfterTicks_EventuallyRet } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public void PeriodicTimer_NoActiveOperations_TimerNotRooted() { WeakReference timer = Create(); @@ -149,6 +153,7 @@ static WeakReference Create() => } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public async Task PeriodicTimer_ActiveOperations_TimerRooted() { // Step 1: Verify that if we have an active wait the timer does not get collected. @@ -238,6 +243,7 @@ public void WaitForNextTickAsync_CanceledAfterWait_CancelsOperation() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public async Task WaitForNextTickAsync_CanceledWaitThenWaitAgain_Succeeds() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs index 634049dd2e667d..5cafc142d91659 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs @@ -253,6 +253,7 @@ public static IEnumerable Parse_Valid_TestData() [Theory] [MemberData(nameof(Parse_Valid_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Parse_Valid(string value, NumberStyles style, IFormatProvider provider, UInt128 expected) { UInt128 result; @@ -387,6 +388,7 @@ public static IEnumerable Parse_ValidWithOffsetCount_TestData() [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Parse_Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, UInt128 expected) { UInt128 result; @@ -428,6 +430,7 @@ public static void Parse_Span_Invalid(string value, NumberStyles style, IFormatP [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static void Parse_Utf8Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, UInt128 expected) { UInt128 result; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs index 60bb05efe8e822..8733beb5b6db99 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs @@ -7,6 +7,7 @@ namespace System.Tests { + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] public static unsafe class WeakReferenceTests { // diff --git a/src/mono/browser/test-main.js b/src/mono/browser/test-main.js index 8d608317c63762..61c5282e7271b4 100644 --- a/src/mono/browser/test-main.js +++ b/src/mono/browser/test-main.js @@ -357,8 +357,9 @@ async function run() { try { const main_assembly_name = runArgs.applicationArguments[1]; const app_args = runArgs.applicationArguments.slice(2); + const now = Date.now(); const result = await App.runtime.runMain(main_assembly_name, app_args); - console.log(`test-main.js exiting ${app_args.length > 1 ? main_assembly_name + " " + app_args[0] : main_assembly_name} with result ${result} and linear memory ${App.runtime.Module.HEAPU8.length} bytes`); + console.log(`test-main.js exiting ${app_args.length > 1 ? main_assembly_name + " " + app_args[0] : main_assembly_name} after ${(Date.now() - now) / 60000} minutes with result ${result} and linear memory ${App.runtime.Module.HEAPU8.length} bytes`); mono_exit(result); } catch (error) { if (error.name != "ExitStatus") { From 9fd79e98f98fa25f31fe5eb1cc82893597bc8d75 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Thu, 8 Jan 2026 22:17:12 +0100 Subject: [PATCH 03/15] fix CI --- eng/pipelines/common/templates/wasm-coreclr-library-tests.yml | 2 +- eng/pipelines/runtime.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/templates/wasm-coreclr-library-tests.yml b/eng/pipelines/common/templates/wasm-coreclr-library-tests.yml index b52a7206316456..4f88ac30f32f83 100644 --- a/eng/pipelines/common/templates/wasm-coreclr-library-tests.yml +++ b/eng/pipelines/common/templates/wasm-coreclr-library-tests.yml @@ -79,7 +79,7 @@ jobs: jobParameters: isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }} testGroup: innerloop - nameSuffix: LibraryTests${{ parameters.nameSuffix }} + nameSuffix: LibraryTestsCoreCLR${{ parameters.nameSuffix }} buildArgs: -s clr+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:BrowserHost=$(_hostedOs) $(_wasmRunSmokeTestsOnlyArg) $(chromeInstallArg) $(firefoxInstallArg) $(v8InstallArg) /maxcpucount:1 ${{ parameters.extraBuildArgs }} timeoutInMinutes: 240 # if !alwaysRun, then: diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index bc9942cfe90776..22a8978bd6115d 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -106,7 +106,7 @@ extends: - template: /eng/pipelines/common/platform-matrix.yml parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml - buildConfig: Debug + buildConfig: Release platforms: - browser_wasm - browser_wasm_win From 0ffcc20ded6fe4f5aa20ecc8e2bbd3eaf7769884 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Thu, 8 Jan 2026 22:22:40 +0100 Subject: [PATCH 04/15] fix CI --- .../common/templates/browser-wasm-coreclr-build-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml b/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml index aa776908d79d07..991239809bf812 100644 --- a/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml +++ b/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml @@ -42,9 +42,9 @@ jobs: jobParameters: dependsOn: - ${{ if eq(platform, 'browser_wasm') }}: - - build_browser_wasm_linux_Debug_AllSubsets_CoreCLR + - build_browser_wasm_linux_Release_AllSubsets_CoreCLR - ${{ if eq(platform, 'browser_wasm_win') }}: - - build_browser_wasm_windows_Debug_AllSubsets_CoreCLR + - build_browser_wasm_windows_Release_AllSubsets_CoreCLR isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }} testGroup: innerloop nameSuffix: CoreCLR_WasmBuildTests From 24391577ae2d00d6a36f9e4dc6306e5c54c37fa4 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Thu, 8 Jan 2026 22:33:15 +0100 Subject: [PATCH 05/15] feedback --- .../System.Runtime.Tests/System/Attributes.cs | 2 +- .../System/DateTimeTests.cs | 2 +- .../System/DecimalTests.cs | 18 ++++----- .../System/DelegateTests.cs | 38 +++++++++---------- .../System/DoubleTests.GenericMath.cs | 4 +- .../System/DoubleTests.cs | 2 +- .../System.Runtime.Tests/System/GCTests.cs | 12 +++--- .../System/HalfTests.GenericMath.cs | 4 +- .../System.Runtime.Tests/System/HalfTests.cs | 2 +- .../System/Int128Tests.cs | 6 +-- .../TotalOrderIeee754ComparerTests.cs | 2 +- .../Reflection/InvokeWithRefLikeArgs.cs | 4 +- .../System/Reflection/ModuleTests.cs | 4 +- .../ConditionalWeakTableTests.cs | 10 ++--- .../CompilerServices/RuntimeFeatureTests.cs | 2 +- .../Runtime/ControlledExecutionTests.cs | 6 +-- .../System/Runtime/DependentHandleTests.cs | 10 ++--- .../System/Runtime/JitInfoTests.cs | 2 +- .../System/SingleTests.GenericMath.cs | 4 +- .../System/StringTests.cs | 2 +- .../System/Threading/PeriodicTimerTests.cs | 12 +++--- .../System/UInt128Tests.cs | 6 +-- .../System/WeakReferenceTests.cs | 2 +- 23 files changed, 78 insertions(+), 78 deletions(-) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs index 4dcf148f92442f..8de6bf976531b1 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs @@ -224,7 +224,7 @@ public static void GetCustomAttributes_Interface() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("Mono does not support getting DynamicMethod attributes via Attribute.GetCustomAttributes()")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetCustomAttributes_DynamicMethod() { var dynamicMethod = new DynamicMethod("test", typeof(void), Type.EmptyTypes); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs index a5a50baf62ea5e..fc7600f68199a0 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs @@ -2702,7 +2702,7 @@ public void ToType_DateTime_ReturnsExpected() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void GetObjectData_Invoke_ReturnsExpected() { ISerializable serializable = new DateTime(10, DateTimeKind.Utc); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs index 190a9e7d9d0d3c..661a5f52a89e96 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs @@ -135,7 +135,7 @@ public static IEnumerable Ctor_IntArray_TestData() [Theory] [MemberData(nameof(Ctor_IntArray_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Ctor_IntArray(int[] value, decimal expected) { Assert.Equal(expected, new decimal(value)); @@ -143,7 +143,7 @@ public void Ctor_IntArray(int[] value, decimal expected) [Theory] [MemberData(nameof(Ctor_IntArray_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Ctor_IntSpan(int[] value, decimal expected) { Assert.Equal(expected, new decimal(value.AsSpan())); @@ -249,7 +249,7 @@ public static IEnumerable Ctor_Int_Int_Int_Bool_Byte_TestData() [Theory] [MemberData(nameof(Ctor_Int_Int_Int_Bool_Byte_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Ctor_Int_Int_Int_Bool_Byte(int lo, int mid, int hi, bool isNegative, byte scale, decimal expected) { Assert.Equal(expected, new decimal(lo, mid, hi, isNegative, scale)); @@ -333,7 +333,7 @@ public static IEnumerable Add_Overflows_TestData() [Theory] [MemberData(nameof(Add_Overflows_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Add_Overflows_ThrowsOverflowException(decimal d1, decimal d2) { Assert.Throws(() => d1 + d2); @@ -1121,7 +1121,7 @@ public static IEnumerable Remainder_Valid_TestData() [Theory] [MemberData(nameof(Remainder_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Remainder(decimal d1, decimal d2, decimal expected) { Assert.Equal(expected, d1 % d2); @@ -1203,7 +1203,7 @@ public static IEnumerable Round_Digit_Valid_TestData() [Theory] [MemberData(nameof(Round_Digit_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Round_Digits_ReturnsExpected(decimal d, int digits, decimal expected) { Assert.Equal(expected, decimal.Round(d, digits)); @@ -1237,7 +1237,7 @@ public static IEnumerable Round_Digit_Mid_Valid_TestData() [Theory] [MemberData(nameof(Round_Digit_Mid_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Round_DigitsMode_ReturnsExpected(decimal d, int digits, MidpointRounding mode, decimal expected) { Assert.Equal(expected, decimal.Round(d, digits, mode)); @@ -1308,7 +1308,7 @@ public static IEnumerable Subtract_Valid_TestData() [Theory] [MemberData(nameof(Subtract_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Subtract(decimal d1, decimal d2, decimal expected) { Assert.Equal(expected, d1 - d2); @@ -1327,7 +1327,7 @@ public static IEnumerable Subtract_Invalid_TestData() [Theory] [MemberData(nameof(Subtract_Invalid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Subtract_Invalid(decimal d1, decimal d2) { Assert.Throws(() => decimal.Subtract(d1, d2)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs index e2e76fd0759280..2644e8ac622de5 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs @@ -276,7 +276,7 @@ public static void DynamicInvoke_DefaultParameter_AllPrimitiveParametersWithSome } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_StringParameterWithMissingValue() { Assert.Equal @@ -285,7 +285,7 @@ public static void DynamicInvoke_DefaultParameter_StringParameterWithMissingValu } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_StringParameterWithExplicitValue() { Assert.Equal( @@ -294,14 +294,14 @@ public static void DynamicInvoke_DefaultParameter_StringParameterWithExplicitVal } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithMissingValue() { Assert.Null((new ReferenceWithDefaultValue(ReferenceMethod)).DynamicInvoke(new object[] { Type.Missing })); } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithExplicitValue() { CustomReferenceType referenceInstance = new CustomReferenceType(); @@ -311,7 +311,7 @@ public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithExpl } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithMissingValue() { Assert.Equal( @@ -320,7 +320,7 @@ public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithMissingV } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithExplicitValue() { Assert.Equal( @@ -329,7 +329,7 @@ public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithExplicit } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -338,7 +338,7 @@ public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithMissingVa } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DateTimeAndCustomConstantAttribute_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -347,7 +347,7 @@ public static void DynamicInvoke_DateTimeAndCustomConstantAttribute_DateTimePara } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_CustomConstantAndDateTimeAttribute_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -356,7 +356,7 @@ public static void DynamicInvoke_CustomConstantAndDateTimeAttribute_DateTimePara } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_CustomConstantAttribute_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -365,7 +365,7 @@ public static void DynamicInvoke_CustomConstantAttribute_DateTimeParameterWithMi } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithExplicitValue() { Assert.Equal( @@ -374,7 +374,7 @@ public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithExplicitV } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -383,7 +383,7 @@ public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeA } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DecimalAndCustomConstantAttribute_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -392,7 +392,7 @@ public static void DynamicInvoke_DecimalAndCustomConstantAttribute_DecimalParame } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_CustomConstantAndDecimalAttribute_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -401,7 +401,7 @@ public static void DynamicInvoke_CustomConstantAndDecimalAttribute_DecimalParame } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_CustomConstantAttribute_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -410,7 +410,7 @@ public static void DynamicInvoke_CustomConstantAttribute_DecimalParameterWithAtt } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeAndExplicitValue() { Assert.Equal( @@ -419,7 +419,7 @@ public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeA } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithMissingValue() { Assert.Equal( @@ -428,7 +428,7 @@ public static void DynamicInvoke_DefaultParameter_DecimalParameterWithMissingVal } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithExplicitValue() { Assert.Equal( @@ -443,7 +443,7 @@ public static void DynamicInvoke_DefaultParameter_NullableIntWithMissingValue() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_NullableIntWithExplicitValue() { Assert.Equal( diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs index 648f3c576433da..cbee6c0c939bb8 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs @@ -346,7 +346,7 @@ public static void op_InequalityTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerTest() { // Signed Values @@ -399,7 +399,7 @@ public static void ConvertToIntegerTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerNativeTest() { // Signed Values diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs index 648f4cecb26771..05cf79986cd83c 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs @@ -834,7 +834,7 @@ public static void ToString_InvalidFormat_ThrowsFormatException() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.Is64BitProcess))] // Requires a lot of memory [OuterLoop("Takes a long time, allocates a lot of memory")] [SkipOnMono("Frequently throws OOM on Mono")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ToString_ValidLargeFormat() { double d = 123.0; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs index ac14ba08be2ad3..67e2214eb71961 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs @@ -14,7 +14,7 @@ namespace System.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static class GCTests { private static bool s_is32Bits = IntPtr.Size == 4; // Skip IntPtr tests on 32-bit platforms @@ -82,7 +82,7 @@ public static void Collection_InvalidCollectionMode_ThrowsArgumentOutOfRangeExce } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Collect_CallsFinalizer() { FinalizerTest.Run(); @@ -140,7 +140,7 @@ private class ObjectWithExpensiveFinalizer } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void KeepAlive() { KeepAliveTest.Run(); @@ -191,7 +191,7 @@ private class DoNotKeepAliveObject } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void KeepAlive_Null() { KeepAliveNullTest.Run(); @@ -353,7 +353,7 @@ public static void SuppressFinalizer_NullObject_ThrowsArgumentNullException() } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ReRegisterForFinalize() { ReRegisterForFinalizeTest.Run(); @@ -1098,7 +1098,7 @@ private static void AllocateArray() [Theory] [InlineData(-1)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] private static void AllocateArrayNegativeSize(int negValue) { Assert.Throws(() => GC.AllocateUninitializedArray(-1)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs index 9e45a91e70a5af..5ab4af309cb6a0 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs @@ -2454,7 +2454,7 @@ public static void op_UnaryPlusTest() [Theory] [MemberData(nameof(HalfTests.Parse_Valid_TestData), MemberType = typeof(HalfTests))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ParseValidStringTest(string value, NumberStyles style, IFormatProvider provider, Half expected) { bool isDefaultProvider = provider == null || provider == NumberFormatInfo.CurrentInfo; @@ -2529,7 +2529,7 @@ public static void ParseInvalidStringTest(string value, NumberStyles style, IFor [Theory] [MemberData(nameof(HalfTests.Parse_ValidWithOffsetCount_TestData), MemberType = typeof(HalfTests))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ParseValidSpanTest(string value, int offset, int count, NumberStyles style, IFormatProvider provider, Half expected) { bool isDefaultProvider = provider == null || provider == NumberFormatInfo.CurrentInfo; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs index 3b423a0c75c50b..314293f490fd50 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs @@ -894,7 +894,7 @@ public static void Parse_Span_Invalid(string value, NumberStyles style, IFormatP [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Utf8Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, float expectedFloat) { bool isDefaultProvider = provider == null || provider == NumberFormatInfo.CurrentInfo; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs index 41c5a4306a4063..8b079ab77026f9 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs @@ -324,7 +324,7 @@ public static IEnumerable Parse_Valid_TestData() [Theory] [MemberData(nameof(Parse_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Valid(string value, NumberStyles style, IFormatProvider provider, Int128 expected) { Int128 result; @@ -446,7 +446,7 @@ public static IEnumerable Parse_ValidWithOffsetCount_TestData() [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, Int128 expected) { Int128 result; @@ -488,7 +488,7 @@ public static void Parse_Span_Invalid(string value, NumberStyles style, IFormatP [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Utf8Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, Int128 expected) { Int128 result; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs index 32e1c77a994a18..5f096ae7d5cbb2 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs @@ -137,7 +137,7 @@ public void TotalOrderTestNFloat(NFloat x, NFloat y, int result) [Theory] [InlineData(-1)] [InlineData(int.MinValue)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void TotalOrderTestInvalidSignificand(int significandByteCount) { var comparer = new TotalOrderIeee754Comparer(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs index a8b11e8651ce8c..c6ad815ddc91d0 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs @@ -37,7 +37,7 @@ public static void MethodTakesRefStructAsArgWithDefaultValue_ThrowsNSE() // Moq heavily utilizes RefEmit, which does not work on most aot workloads [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("https://github.com/dotnet/runtime/issues/40738")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void MethodTakesRefToRefStructAsArg_ThrowsNSE() { // Use a Binder to trick the reflection stack into treating the returned null @@ -53,7 +53,7 @@ public static void MethodTakesRefToRefStructAsArg_ThrowsNSE() [Fact] [SkipOnPlatform(TestPlatforms.Browser, "https://github.com/dotnet/runtime/issues/40738")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void MethodTakesOutToRefStructAsArg_ThrowsNSE() { MethodInfo mi = GetMethod(nameof(TestClass.TakesOutToRefStructAsArg)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs index 643945f0d7fe4f..c74ef7f8893f80 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs @@ -81,7 +81,7 @@ public void CustomAttributes() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void FullyQualifiedName() { #if SINGLE_FILE_TEST_RUNNER @@ -100,7 +100,7 @@ public void FullyQualifiedName() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Name() { #if SINGLE_FILE_TEST_RUNNER diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs index e2cf5f72f92492..4120d99e80234d 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs @@ -40,7 +40,7 @@ public static void InvalidArgs_Throws() [InlineData(1, true)] [InlineData(100, false)] [InlineData(100, true)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Add(int numObjects, bool tryAdd) { // Isolated to ensure we drop all references even in debug builds where lifetime is extended by the JIT to the end of the method @@ -513,7 +513,7 @@ static WeakReference GetWeakCondTabRef(out ConditionalWeakTable } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void AddRemove_DropValue() { // Verify that the removed entry is not keeping the value alive @@ -545,7 +545,7 @@ static void GetWeakRefPair(out WeakReference key_out, out WeakReference< } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetOrCreateValue() { WeakReference wrValue; @@ -577,7 +577,7 @@ static void GetWeakRefValPair(out WeakReference key_out, out WeakReferen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetValue() { WeakReference wrValue; @@ -743,7 +743,7 @@ public static void GetEnumerator_AddedAndRemovedItems_AppropriatelyShowUpInEnume } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetEnumerator_CollectedItemsNotEnumerated() { var cwt = new ConditionalWeakTable(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs index 3422c04abfa569..ec03dd982e536f 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs @@ -32,7 +32,7 @@ public static void DynamicCode() [Fact] [SkipOnMono("IsDynamicCodeCompiled returns false in cases where mono doesn't support these features")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicCode_Jit() { if (PlatformDetection.IsNativeAot) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs index 6e3a8783ec533c..2e603467bcbf43 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs @@ -10,7 +10,7 @@ namespace System.Runtime.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public sealed class ControlledExecutionTests { private volatile bool _readyForCancellation; @@ -55,7 +55,7 @@ void Test() // Tests that an infinite loop may be aborted and that the ThreadAbortException is translated // to an OperationCanceledException. [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoRuntime), nameof(PlatformDetection.IsNotNativeAot))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void CancelOutsideOfTryCatchFinally() { var cts = new CancellationTokenSource(); @@ -162,7 +162,7 @@ void Test() // Tests that finally blocks are not aborted. The finally block throws an exception. [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoRuntime), nameof(PlatformDetection.IsNotNativeAot))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void CancelInFinallyThatSleepsAndThrows() { var cts = new CancellationTokenSource(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs index fda683efe76571..dbf27c44ef0e7e 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs @@ -100,7 +100,7 @@ public void GetSetDependent() } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void TargetKeepsDependentAlive() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -130,7 +130,7 @@ static DependentHandle Initialize(out object target, out WeakReference weakDepen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentDoesNotKeepTargetAlive() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -159,7 +159,7 @@ static DependentHandle Initialize(out WeakReference weakTarget, out object depen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentIsCollectedOnTargetNotReachable() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -187,7 +187,7 @@ static DependentHandle Initialize(out WeakReference weakTarget, out WeakReferenc } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentIsCollectedOnTargetNotReachable_EvenWithReferenceCycles() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -222,7 +222,7 @@ private sealed class ObjectWithReference } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentIsCollectedAfterTargetIsSetToNull() { [MethodImpl(MethodImplOptions.NoInlining)] diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs index 1945ddea5bd3c5..28477e47a9a431 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs @@ -106,7 +106,7 @@ public void JitInfoIsNotPopulated() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("Mono does not track thread specific JIT information")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void JitInfoCurrentThreadIsPopulated() { TimeSpan t1_beforeCompilationTime = TimeSpan.Zero; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs index b854bc79f2f298..ed2cbd82d77c6b 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs @@ -346,7 +346,7 @@ public static void op_InequalityTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerTest() { // Signed Values @@ -399,7 +399,7 @@ public static void ConvertToIntegerTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerNativeTest() { // Signed Values diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs index 1de86b2c75ba5b..d4ada28c64df35 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs @@ -1235,7 +1235,7 @@ public static void NonRandomizedGetHashCode_EquivalentForStringAndSpan(int charV [Theory] [MemberData(nameof(GetHashCode_NoSuchStringComparison_ThrowsArgumentException_Data))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetHashCode_NoSuchStringComparison_ThrowsArgumentException(StringComparison comparisonType) { AssertExtensions.Throws("comparisonType", () => "abc".GetHashCode(comparisonType)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs index 60b0f2106f5781..b259c0044b6f6d 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs @@ -7,7 +7,7 @@ namespace System.Threading.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public class PeriodicTimerTests { [Fact] @@ -83,7 +83,7 @@ public async Task Dispose_Idempotent() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task WaitForNextTickAsync_TimerFires_ReturnsTrue() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); @@ -120,7 +120,7 @@ public async Task WaitForNextTickAsync_ConcurrentDispose_ReturnsFalse() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task WaitForNextTickAsync_ConcurrentDisposeAfterTicks_EventuallyReturnsFalse() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); @@ -140,7 +140,7 @@ public async Task WaitForNextTickAsync_ConcurrentDisposeAfterTicks_EventuallyRet } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void PeriodicTimer_NoActiveOperations_TimerNotRooted() { WeakReference timer = Create(); @@ -153,7 +153,7 @@ static WeakReference Create() => } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task PeriodicTimer_ActiveOperations_TimerRooted() { // Step 1: Verify that if we have an active wait the timer does not get collected. @@ -243,7 +243,7 @@ public void WaitForNextTickAsync_CanceledAfterWait_CancelsOperation() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task WaitForNextTickAsync_CanceledWaitThenWaitAgain_Succeeds() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs index 5cafc142d91659..3fcdc4e41a87dc 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs @@ -253,7 +253,7 @@ public static IEnumerable Parse_Valid_TestData() [Theory] [MemberData(nameof(Parse_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Valid(string value, NumberStyles style, IFormatProvider provider, UInt128 expected) { UInt128 result; @@ -388,7 +388,7 @@ public static IEnumerable Parse_ValidWithOffsetCount_TestData() [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, UInt128 expected) { UInt128 result; @@ -430,7 +430,7 @@ public static void Parse_Span_Invalid(string value, NumberStyles style, IFormatP [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Utf8Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, UInt128 expected) { UInt128 result; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs index 8733beb5b6db99..847bdaf1ea144e 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs @@ -7,7 +7,7 @@ namespace System.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", TestPlatforms.Browser)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static unsafe class WeakReferenceTests { // From 09c73c215f2a9aea1b73fe2ae393fc02cb253a22 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Fri, 9 Jan 2026 10:23:51 +0100 Subject: [PATCH 06/15] Relese WBT --- .../common/templates/browser-wasm-coreclr-build-tests.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml b/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml index 991239809bf812..fc3838f838ba5c 100644 --- a/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml +++ b/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml @@ -15,7 +15,7 @@ jobs: parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - buildConfig: Debug + buildConfig: Release runtimeFlavor: CoreCLR platforms: - ${{ platform }} @@ -55,14 +55,14 @@ jobs: displayName: Download built nugets for singlethreaded runtime inputs: buildType: current - artifactName: 'BuildArtifacts_browser_wasm_$(_hostedOs)_Debug_AllSubsets_CoreCLR' + artifactName: 'BuildArtifacts_browser_wasm_$(_hostedOs)_Release_AllSubsets_CoreCLR' downloadType: single downloadPath: '$(Build.SourcesDirectory)/artifacts' - task: CopyFiles@2 displayName: Copy single threaded assets inputs: - SourceFolder: '$(Build.SourcesDirectory)/artifacts/BuildArtifacts_browser_wasm_$(_hostedOs)_Debug_AllSubsets_CoreCLR' + SourceFolder: '$(Build.SourcesDirectory)/artifacts/BuildArtifacts_browser_wasm_$(_hostedOs)_Release_AllSubsets_CoreCLR' TargetFolder: '$(Build.SourcesDirectory)/artifacts' CleanTargetFolder: false From 08817205474ae422db7fb0fe3b6770f093fe2b8f Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Fri, 9 Jan 2026 11:55:36 +0100 Subject: [PATCH 07/15] feedback --- .../vm/wasm/callhelpers-interp-to-managed.cpp | 124 +++++++++--------- .../System/DateTimeTests.cs | 2 +- .../coreclr/ManagedToNativeGenerator.cs | 14 ++ 3 files changed, 77 insertions(+), 63 deletions(-) diff --git a/src/coreclr/vm/wasm/callhelpers-interp-to-managed.cpp b/src/coreclr/vm/wasm/callhelpers-interp-to-managed.cpp index f1f53c5b9afa2a..2448766c1148d6 100644 --- a/src/coreclr/vm/wasm/callhelpers-interp-to-managed.cpp +++ b/src/coreclr/vm/wasm/callhelpers-interp-to-managed.cpp @@ -49,19 +49,19 @@ namespace *((double*)pRet) = (*fptr)(ARG_F64(0), ARG_I32(1)); } - static void CallFunc_I32_I32_RetF64(PCODE pcode, int8_t* pArgs, int8_t* pRet) - { - double (*fptr)(int32_t, int32_t) = (double (*)(int32_t, int32_t))pcode; - *((double*)pRet) = (*fptr)(ARG_I32(0), ARG_I32(1)); - } - static void CallFunc_I32_RetF64(PCODE pcode, int8_t* pArgs, int8_t* pRet) { double (*fptr)(int32_t) = (double (*)(int32_t))pcode; *((double*)pRet) = (*fptr)(ARG_I32(0)); } - static void CallFunc_RetF32(PCODE pcode, int8_t* pArgs, int8_t* pRet) + static void CallFunc_I32_I32_RetF64(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + double (*fptr)(int32_t, int32_t) = (double (*)(int32_t, int32_t))pcode; + *((double*)pRet) = (*fptr)(ARG_I32(0), ARG_I32(1)); + } + + static void CallFunc_Void_RetF32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { float (*fptr)() = (float (*)())pcode; *((float*)pRet) = (*fptr)(); @@ -97,16 +97,16 @@ namespace *((int32_t*)pRet) = (*fptr)(); } - static void CallFunc_F64_I32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) + static void CallFunc_F64_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { - int32_t (*fptr)(double, int32_t) = (int32_t (*)(double, int32_t))pcode; - *((int32_t*)pRet) = (*fptr)(ARG_F64(0), ARG_I32(1)); + int32_t (*fptr)(double) = (int32_t (*)(double))pcode; + *((int32_t*)pRet) = (*fptr)(ARG_F64(0)); } - static void CallFunc_F32_F32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) + static void CallFunc_F64_I32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { - int32_t (*fptr)(float, float) = (int32_t (*)(float, float))pcode; - *((int32_t*)pRet) = (*fptr)(ARG_F32(0), ARG_F32(1)); + int32_t (*fptr)(double, int32_t) = (int32_t (*)(double, int32_t))pcode; + *((int32_t*)pRet) = (*fptr)(ARG_F64(0), ARG_I32(1)); } static void CallFunc_F32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) @@ -115,6 +115,12 @@ namespace *((int32_t*)pRet) = (*fptr)(ARG_F32(0)); } + static void CallFunc_F32_F32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int32_t (*fptr)(float, float) = (int32_t (*)(float, float))pcode; + *((int32_t*)pRet) = (*fptr)(ARG_F32(0), ARG_F32(1)); + } + static void CallFunc_I32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int32_t (*fptr)(int32_t) = (int32_t (*)(int32_t))pcode; @@ -127,12 +133,6 @@ namespace *((int32_t*)pRet) = (*fptr)(ARG_I32(0), ARG_F64(1)); } - static void CallFunc_F64_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) - { - int32_t (*fptr)(double) = (int32_t (*)(double))pcode; - *((int32_t*)pRet) = (*fptr)(ARG_F64(0)); - } - static void CallFunc_I32_F32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int32_t (*fptr)(int32_t, float) = (int32_t (*)(int32_t, float))pcode; @@ -229,12 +229,6 @@ namespace *((int32_t*)pRet) = (*fptr)(ARG_I32(0), ARG_I64(1)); } - static void CallFunc_I64_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) - { - int32_t (*fptr)(int64_t) = (int32_t (*)(int64_t))pcode; - *((int32_t*)pRet) = (*fptr)(ARG_I64(0)); - } - static void CallFunc_I32_I64_I32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int32_t (*fptr)(int32_t, int64_t, int32_t) = (int32_t (*)(int32_t, int64_t, int32_t))pcode; @@ -289,6 +283,12 @@ namespace *((int32_t*)pRet) = (*fptr)(ARG_I32(0), ARG_IND(1), ARG_IND(2)); } + static void CallFunc_I64_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int32_t (*fptr)(int64_t) = (int32_t (*)(int64_t))pcode; + *((int32_t*)pRet) = (*fptr)(ARG_I64(0)); + } + static void CallFunc_I64_I32_I64_I32_RetI32(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int32_t (*fptr)(int64_t, int32_t, int64_t, int32_t) = (int32_t (*)(int64_t, int32_t, int64_t, int32_t))pcode; @@ -373,24 +373,12 @@ namespace *((int64_t*)pRet) = (*fptr)(ARG_I32(0)); } - static void CallFunc_I64_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) - { - int64_t (*fptr)(int64_t) = (int64_t (*)(int64_t))pcode; - *((int64_t*)pRet) = (*fptr)(ARG_I64(0)); - } - static void CallFunc_I32_I32_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int64_t (*fptr)(int32_t, int32_t) = (int64_t (*)(int32_t, int32_t))pcode; *((int64_t*)pRet) = (*fptr)(ARG_I32(0), ARG_I32(1)); } - static void CallFunc_I64_I32_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) - { - int64_t (*fptr)(int64_t, int32_t) = (int64_t (*)(int64_t, int32_t))pcode; - *((int64_t*)pRet) = (*fptr)(ARG_I64(0), ARG_I32(1)); - } - static void CallFunc_I32_I32_I32_I64_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int64_t (*fptr)(int32_t, int32_t, int32_t, int64_t) = (int64_t (*)(int32_t, int32_t, int32_t, int64_t))pcode; @@ -415,13 +403,25 @@ namespace *((int64_t*)pRet) = (*fptr)(ARG_I32(0), ARG_I64(1), ARG_I64(2)); } + static void CallFunc_I64_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int64_t (*fptr)(int64_t) = (int64_t (*)(int64_t))pcode; + *((int64_t*)pRet) = (*fptr)(ARG_I64(0)); + } + + static void CallFunc_I64_I32_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + int64_t (*fptr)(int64_t, int32_t) = (int64_t (*)(int64_t, int32_t))pcode; + *((int64_t*)pRet) = (*fptr)(ARG_I64(0), ARG_I32(1)); + } + static void CallFunc_I64_I64_RetI64(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int64_t (*fptr)(int64_t, int64_t) = (int64_t (*)(int64_t, int64_t))pcode; *((int64_t*)pRet) = (*fptr)(ARG_I64(0), ARG_I64(1)); } - static void CallFunc_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) + static void CallFunc_Void_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) { int32_t (*fptr)() = (int32_t (*)())pcode; PORTABILITY_ASSERT("Indirect struct return is not yet implemented."); @@ -442,18 +442,18 @@ namespace *((int32_t*)pRet) = (*fptr)(ARG_I32(0), ARG_I32(1)); } - static void CallFunc_IND_I32_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) + static void CallFunc_IND_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) { - int32_t (*fptr)(int32_t, int32_t) = (int32_t (*)(int32_t, int32_t))pcode; + int32_t (*fptr)(int32_t) = (int32_t (*)(int32_t))pcode; PORTABILITY_ASSERT("Indirect struct return is not yet implemented."); - *((int32_t*)pRet) = (*fptr)(ARG_IND(0), ARG_I32(1)); + *((int32_t*)pRet) = (*fptr)(ARG_IND(0)); } - static void CallFunc_IND_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) + static void CallFunc_IND_I32_RetIND(PCODE pcode, int8_t* pArgs, int8_t* pRet) { - int32_t (*fptr)(int32_t) = (int32_t (*)(int32_t))pcode; + int32_t (*fptr)(int32_t, int32_t) = (int32_t (*)(int32_t, int32_t))pcode; PORTABILITY_ASSERT("Indirect struct return is not yet implemented."); - *((int32_t*)pRet) = (*fptr)(ARG_IND(0)); + *((int32_t*)pRet) = (*fptr)(ARG_IND(0), ARG_I32(1)); } static void CallFunc_Void_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) @@ -462,22 +462,16 @@ namespace (*fptr)(); } - static void CallFunc_F64_I32_I32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) - { - void (*fptr)(double, int32_t, int32_t) = (void (*)(double, int32_t, int32_t))pcode; - (*fptr)(ARG_F64(0), ARG_I32(1), ARG_I32(2)); - } - static void CallFunc_F64_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) { void (*fptr)(double) = (void (*)(double))pcode; (*fptr)(ARG_F64(0)); } - static void CallFunc_F32_I32_I32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) + static void CallFunc_F64_I32_I32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) { - void (*fptr)(float, int32_t, int32_t) = (void (*)(float, int32_t, int32_t))pcode; - (*fptr)(ARG_F32(0), ARG_I32(1), ARG_I32(2)); + void (*fptr)(double, int32_t, int32_t) = (void (*)(double, int32_t, int32_t))pcode; + (*fptr)(ARG_F64(0), ARG_I32(1), ARG_I32(2)); } static void CallFunc_F32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) @@ -486,6 +480,12 @@ namespace (*fptr)(ARG_F32(0)); } + static void CallFunc_F32_I32_I32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) + { + void (*fptr)(float, int32_t, int32_t) = (void (*)(float, int32_t, int32_t))pcode; + (*fptr)(ARG_F32(0), ARG_I32(1), ARG_I32(2)); + } + static void CallFunc_I32_RetVoid(PCODE pcode, int8_t* pArgs, int8_t* pRet) { void (*fptr)(int32_t) = (void (*)(int32_t))pcode; @@ -651,18 +651,18 @@ const StringToWasmSigThunk g_wasmThunks[] = { { "ddi", (void*)&CallFunc_F64_I32_RetF64 }, { "di", (void*)&CallFunc_I32_RetF64 }, { "dii", (void*)&CallFunc_I32_I32_RetF64 }, - { "f", (void*)&CallFunc_RetF32 }, + { "f", (void*)&CallFunc_Void_RetF32 }, { "ff", (void*)&CallFunc_F32_RetF32 }, { "fff", (void*)&CallFunc_F32_F32_RetF32 }, { "ffff", (void*)&CallFunc_F32_F32_F32_RetF32 }, { "ffi", (void*)&CallFunc_F32_I32_RetF32 }, { "i", (void*)&CallFunc_Void_RetI32 }, + { "id", (void*)&CallFunc_F64_RetI32 }, { "idi", (void*)&CallFunc_F64_I32_RetI32 }, - { "iff", (void*)&CallFunc_F32_F32_RetI32 }, { "if", (void*)&CallFunc_F32_RetI32 }, + { "iff", (void*)&CallFunc_F32_F32_RetI32 }, { "ii", (void*)&CallFunc_I32_RetI32 }, { "iid", (void*)&CallFunc_I32_F64_RetI32 }, - { "id", (void*)&CallFunc_F64_RetI32 }, { "iif", (void*)&CallFunc_I32_F32_RetI32 }, { "iifiif", (void*)&CallFunc_I32_F32_I32_I32_F32_RetI32 }, { "iii", (void*)&CallFunc_I32_I32_RetI32 }, @@ -679,7 +679,6 @@ const StringToWasmSigThunk g_wasmThunks[] = { { "iiinii", (void*)&CallFunc_I32_I32_IND_I32_I32_RetI32 }, { "iiiniin", (void*)&CallFunc_I32_I32_IND_I32_I32_IND_RetI32 }, { "iil", (void*)&CallFunc_I32_I64_RetI32 }, - { "il", (void*)&CallFunc_I64_RetI32 }, { "iili", (void*)&CallFunc_I32_I64_I32_RetI32 }, { "iiliiil", (void*)&CallFunc_I32_I64_I32_I32_I32_I64_RetI32 }, { "iill", (void*)&CallFunc_I32_I64_I64_RetI32 }, @@ -689,6 +688,7 @@ const StringToWasmSigThunk g_wasmThunks[] = { { "iiniii", (void*)&CallFunc_I32_IND_I32_I32_I32_RetI32 }, { "iinini", (void*)&CallFunc_I32_IND_I32_IND_I32_RetI32 }, { "iinn", (void*)&CallFunc_I32_IND_IND_RetI32 }, + { "il", (void*)&CallFunc_I64_RetI32 }, { "ilili", (void*)&CallFunc_I64_I32_I64_I32_RetI32 }, { "in", (void*)&CallFunc_IND_RetI32 }, { "ini", (void*)&CallFunc_IND_I32_RetI32 }, @@ -703,24 +703,24 @@ const StringToWasmSigThunk g_wasmThunks[] = { { "innin", (void*)&CallFunc_IND_IND_I32_IND_RetI32 }, { "l", (void*)&CallFunc_Void_RetI64 }, { "li", (void*)&CallFunc_I32_RetI64 }, - { "ll", (void*)&CallFunc_I64_RetI64 }, { "lii", (void*)&CallFunc_I32_I32_RetI64 }, - { "lli", (void*)&CallFunc_I64_I32_RetI64 }, { "liiil", (void*)&CallFunc_I32_I32_I32_I64_RetI64 }, { "lil", (void*)&CallFunc_I32_I64_RetI64 }, { "lili", (void*)&CallFunc_I32_I64_I32_RetI64 }, { "lill", (void*)&CallFunc_I32_I64_I64_RetI64 }, + { "ll", (void*)&CallFunc_I64_RetI64 }, + { "lli", (void*)&CallFunc_I64_I32_RetI64 }, { "lll", (void*)&CallFunc_I64_I64_RetI64 }, - { "n", (void*)&CallFunc_RetIND }, + { "n", (void*)&CallFunc_Void_RetIND }, { "ni", (void*)&CallFunc_I32_RetIND }, + { "nii", (void*)&CallFunc_I32_I32_RetIND }, { "nn", (void*)&CallFunc_IND_RetIND }, { "nni", (void*)&CallFunc_IND_I32_RetIND }, - { "nii", (void*)&CallFunc_I32_I32_RetIND }, { "v", (void*)&CallFunc_Void_RetVoid }, { "vd", (void*)&CallFunc_F64_RetVoid }, { "vdii", (void*)&CallFunc_F64_I32_I32_RetVoid }, - { "vfii", (void*)&CallFunc_F32_I32_I32_RetVoid }, { "vf", (void*)&CallFunc_F32_RetVoid }, + { "vfii", (void*)&CallFunc_F32_I32_I32_RetVoid }, { "vi", (void*)&CallFunc_I32_RetVoid }, { "vii", (void*)&CallFunc_I32_I32_RetVoid }, { "viii", (void*)&CallFunc_I32_I32_I32_RetVoid }, diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs index fc7600f68199a0..6f5cf2f0be7dfb 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DateTimeTests.cs @@ -2702,7 +2702,7 @@ public void ToType_DateTime_ReturnsExpected() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void GetObjectData_Invoke_ReturnsExpected() { ISerializable serializable = new DateTime(10, DateTimeKind.Utc); diff --git a/src/tasks/WasmAppBuilder/coreclr/ManagedToNativeGenerator.cs b/src/tasks/WasmAppBuilder/coreclr/ManagedToNativeGenerator.cs index eee06a7eaeecce..cf6ab46a7d4675 100644 --- a/src/tasks/WasmAppBuilder/coreclr/ManagedToNativeGenerator.cs +++ b/src/tasks/WasmAppBuilder/coreclr/ManagedToNativeGenerator.cs @@ -72,17 +72,31 @@ public override bool Execute() private static readonly string[] missingCookies = [ "d", + "dii", + "f", + "id", "idi", + "if", "iff", "iid", "iif", "iifiif", "iiiiiiiiiiiiiiiiii", "iin", + "iinini", "iinn", + "il", "lii", + "ll", + "lli", + "n", "ni", "nii", + "nn", + "nni", + "vd", + "vf", + "viiiiiii", "viin", "vin", "vinni", From 333276683540d2a20620c871d9a73ed149fc192d Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Fri, 9 Jan 2026 11:56:03 +0100 Subject: [PATCH 08/15] rollup for debug on CI --- src/native/rollup.config.defines.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/native/rollup.config.defines.js b/src/native/rollup.config.defines.js index b4bc4f859b4348..af36b8eb99be63 100644 --- a/src/native/rollup.config.defines.js +++ b/src/native/rollup.config.defines.js @@ -36,7 +36,7 @@ export const reserved = [ export const externalDependencies = ["module", "process", "perf_hooks", "node:crypto"]; export const artifactsObjDir = "../../artifacts/obj"; -export const isDebug = process.env.Configuration !== "Release" && !isContinuousIntegrationBuild; +export const isDebug = process.env.Configuration !== "Release"; export let gitHash; try { From 29d32759e2c4923883333aa348f8fc207bc0e4c7 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Fri, 9 Jan 2026 13:40:13 +0100 Subject: [PATCH 09/15] disable trimming --- eng/testing/tests.browser.targets | 9 +++++++++ src/mono/browser/build/WasmApp.InTree.props | 1 + .../WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj | 9 +++++++++ 3 files changed, 19 insertions(+) diff --git a/eng/testing/tests.browser.targets b/eng/testing/tests.browser.targets index 12d85af8a7f710..ee88952c271c2c 100644 --- a/eng/testing/tests.browser.targets +++ b/eng/testing/tests.browser.targets @@ -59,6 +59,15 @@ true + + + false + false + + false + false + + diff --git a/src/mono/browser/build/WasmApp.InTree.props b/src/mono/browser/build/WasmApp.InTree.props index 33a54b83c15236..55866365d8c82f 100644 --- a/src/mono/browser/build/WasmApp.InTree.props +++ b/src/mono/browser/build/WasmApp.InTree.props @@ -18,6 +18,7 @@ false false + false false diff --git a/src/mono/wasm/testassets/WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj b/src/mono/wasm/testassets/WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj index 9951d602d915af..6f31a0f7e52bcc 100644 --- a/src/mono/wasm/testassets/WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj +++ b/src/mono/wasm/testassets/WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj @@ -5,6 +5,15 @@ true + + + false + false + + false + false + + From eb4fa876ba046f6506cc675dfd0a00b56e8c5761 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Fri, 9 Jan 2026 14:11:56 +0100 Subject: [PATCH 10/15] whitespace --- .../System.Runtime.Tests/System/Attributes.cs | 2 +- .../System/DecimalTests.cs | 18 ++++----- .../System/DelegateTests.cs | 38 +++++++++---------- .../System/DoubleTests.GenericMath.cs | 4 +- .../System/DoubleTests.cs | 2 +- .../System.Runtime.Tests/System/GCTests.cs | 10 ++--- .../System/HalfTests.GenericMath.cs | 4 +- .../System.Runtime.Tests/System/HalfTests.cs | 2 +- .../System/Int128Tests.cs | 6 +-- .../TotalOrderIeee754ComparerTests.cs | 2 +- .../Reflection/InvokeWithRefLikeArgs.cs | 4 +- .../System/Reflection/ModuleTests.cs | 4 +- .../ConditionalWeakTableTests.cs | 10 ++--- .../CompilerServices/RuntimeFeatureTests.cs | 2 +- .../Runtime/ControlledExecutionTests.cs | 4 +- .../System/Runtime/DependentHandleTests.cs | 10 ++--- .../System/Runtime/JitInfoTests.cs | 2 +- .../System/SingleTests.GenericMath.cs | 4 +- .../System/StringTests.cs | 2 +- .../System/Threading/PeriodicTimerTests.cs | 10 ++--- .../System/UInt128Tests.cs | 6 +-- 21 files changed, 73 insertions(+), 73 deletions(-) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs index 8de6bf976531b1..e0597f9f91c1ea 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs @@ -224,7 +224,7 @@ public static void GetCustomAttributes_Interface() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("Mono does not support getting DynamicMethod attributes via Attribute.GetCustomAttributes()")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetCustomAttributes_DynamicMethod() { var dynamicMethod = new DynamicMethod("test", typeof(void), Type.EmptyTypes); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs index 661a5f52a89e96..cd0adfc60fc8a2 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs @@ -135,7 +135,7 @@ public static IEnumerable Ctor_IntArray_TestData() [Theory] [MemberData(nameof(Ctor_IntArray_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Ctor_IntArray(int[] value, decimal expected) { Assert.Equal(expected, new decimal(value)); @@ -143,7 +143,7 @@ public void Ctor_IntArray(int[] value, decimal expected) [Theory] [MemberData(nameof(Ctor_IntArray_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Ctor_IntSpan(int[] value, decimal expected) { Assert.Equal(expected, new decimal(value.AsSpan())); @@ -249,7 +249,7 @@ public static IEnumerable Ctor_Int_Int_Int_Bool_Byte_TestData() [Theory] [MemberData(nameof(Ctor_Int_Int_Int_Bool_Byte_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Ctor_Int_Int_Int_Bool_Byte(int lo, int mid, int hi, bool isNegative, byte scale, decimal expected) { Assert.Equal(expected, new decimal(lo, mid, hi, isNegative, scale)); @@ -333,7 +333,7 @@ public static IEnumerable Add_Overflows_TestData() [Theory] [MemberData(nameof(Add_Overflows_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Add_Overflows_ThrowsOverflowException(decimal d1, decimal d2) { Assert.Throws(() => d1 + d2); @@ -1121,7 +1121,7 @@ public static IEnumerable Remainder_Valid_TestData() [Theory] [MemberData(nameof(Remainder_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Remainder(decimal d1, decimal d2, decimal expected) { Assert.Equal(expected, d1 % d2); @@ -1203,7 +1203,7 @@ public static IEnumerable Round_Digit_Valid_TestData() [Theory] [MemberData(nameof(Round_Digit_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Round_Digits_ReturnsExpected(decimal d, int digits, decimal expected) { Assert.Equal(expected, decimal.Round(d, digits)); @@ -1237,7 +1237,7 @@ public static IEnumerable Round_Digit_Mid_Valid_TestData() [Theory] [MemberData(nameof(Round_Digit_Mid_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Round_DigitsMode_ReturnsExpected(decimal d, int digits, MidpointRounding mode, decimal expected) { Assert.Equal(expected, decimal.Round(d, digits, mode)); @@ -1308,7 +1308,7 @@ public static IEnumerable Subtract_Valid_TestData() [Theory] [MemberData(nameof(Subtract_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Subtract(decimal d1, decimal d2, decimal expected) { Assert.Equal(expected, d1 - d2); @@ -1327,7 +1327,7 @@ public static IEnumerable Subtract_Invalid_TestData() [Theory] [MemberData(nameof(Subtract_Invalid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Subtract_Invalid(decimal d1, decimal d2) { Assert.Throws(() => decimal.Subtract(d1, d2)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs index 2644e8ac622de5..c4409c271120aa 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs @@ -276,7 +276,7 @@ public static void DynamicInvoke_DefaultParameter_AllPrimitiveParametersWithSome } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_StringParameterWithMissingValue() { Assert.Equal @@ -285,7 +285,7 @@ public static void DynamicInvoke_DefaultParameter_StringParameterWithMissingValu } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_StringParameterWithExplicitValue() { Assert.Equal( @@ -294,14 +294,14 @@ public static void DynamicInvoke_DefaultParameter_StringParameterWithExplicitVal } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithMissingValue() { Assert.Null((new ReferenceWithDefaultValue(ReferenceMethod)).DynamicInvoke(new object[] { Type.Missing })); } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithExplicitValue() { CustomReferenceType referenceInstance = new CustomReferenceType(); @@ -311,7 +311,7 @@ public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithExpl } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithMissingValue() { Assert.Equal( @@ -320,7 +320,7 @@ public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithMissingV } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithExplicitValue() { Assert.Equal( @@ -329,7 +329,7 @@ public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithExplicit } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -338,7 +338,7 @@ public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithMissingVa } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DateTimeAndCustomConstantAttribute_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -347,7 +347,7 @@ public static void DynamicInvoke_DateTimeAndCustomConstantAttribute_DateTimePara } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_CustomConstantAndDateTimeAttribute_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -356,7 +356,7 @@ public static void DynamicInvoke_CustomConstantAndDateTimeAttribute_DateTimePara } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_CustomConstantAttribute_DateTimeParameterWithMissingValue() { Assert.Equal( @@ -365,7 +365,7 @@ public static void DynamicInvoke_CustomConstantAttribute_DateTimeParameterWithMi } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithExplicitValue() { Assert.Equal( @@ -374,7 +374,7 @@ public static void DynamicInvoke_DefaultParameter_DateTimeParameterWithExplicitV } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -383,7 +383,7 @@ public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeA } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DecimalAndCustomConstantAttribute_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -392,7 +392,7 @@ public static void DynamicInvoke_DecimalAndCustomConstantAttribute_DecimalParame } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_CustomConstantAndDecimalAttribute_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -401,7 +401,7 @@ public static void DynamicInvoke_CustomConstantAndDecimalAttribute_DecimalParame } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_CustomConstantAttribute_DecimalParameterWithAttributeAndMissingValue() { Assert.Equal( @@ -410,7 +410,7 @@ public static void DynamicInvoke_CustomConstantAttribute_DecimalParameterWithAtt } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeAndExplicitValue() { Assert.Equal( @@ -419,7 +419,7 @@ public static void DynamicInvoke_DefaultParameter_DecimalParameterWithAttributeA } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithMissingValue() { Assert.Equal( @@ -428,7 +428,7 @@ public static void DynamicInvoke_DefaultParameter_DecimalParameterWithMissingVal } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_DecimalParameterWithExplicitValue() { Assert.Equal( @@ -443,7 +443,7 @@ public static void DynamicInvoke_DefaultParameter_NullableIntWithMissingValue() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_NullableIntWithExplicitValue() { Assert.Equal( diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs index cbee6c0c939bb8..58f74f0612ef00 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.GenericMath.cs @@ -346,7 +346,7 @@ public static void op_InequalityTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerTest() { // Signed Values @@ -399,7 +399,7 @@ public static void ConvertToIntegerTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerNativeTest() { // Signed Values diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs index 05cf79986cd83c..b6bee01c802a15 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs @@ -834,7 +834,7 @@ public static void ToString_InvalidFormat_ThrowsFormatException() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.Is64BitProcess))] // Requires a lot of memory [OuterLoop("Takes a long time, allocates a lot of memory")] [SkipOnMono("Frequently throws OOM on Mono")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ToString_ValidLargeFormat() { double d = 123.0; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs index 67e2214eb71961..c18ee6bc2c3328 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs @@ -82,7 +82,7 @@ public static void Collection_InvalidCollectionMode_ThrowsArgumentOutOfRangeExce } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Collect_CallsFinalizer() { FinalizerTest.Run(); @@ -140,7 +140,7 @@ private class ObjectWithExpensiveFinalizer } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void KeepAlive() { KeepAliveTest.Run(); @@ -191,7 +191,7 @@ private class DoNotKeepAliveObject } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void KeepAlive_Null() { KeepAliveNullTest.Run(); @@ -353,7 +353,7 @@ public static void SuppressFinalizer_NullObject_ThrowsArgumentNullException() } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ReRegisterForFinalize() { ReRegisterForFinalizeTest.Run(); @@ -1098,7 +1098,7 @@ private static void AllocateArray() [Theory] [InlineData(-1)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] private static void AllocateArrayNegativeSize(int negValue) { Assert.Throws(() => GC.AllocateUninitializedArray(-1)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs index 5ab4af309cb6a0..9c8eaa864a9398 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.GenericMath.cs @@ -2454,7 +2454,7 @@ public static void op_UnaryPlusTest() [Theory] [MemberData(nameof(HalfTests.Parse_Valid_TestData), MemberType = typeof(HalfTests))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ParseValidStringTest(string value, NumberStyles style, IFormatProvider provider, Half expected) { bool isDefaultProvider = provider == null || provider == NumberFormatInfo.CurrentInfo; @@ -2529,7 +2529,7 @@ public static void ParseInvalidStringTest(string value, NumberStyles style, IFor [Theory] [MemberData(nameof(HalfTests.Parse_ValidWithOffsetCount_TestData), MemberType = typeof(HalfTests))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ParseValidSpanTest(string value, int offset, int count, NumberStyles style, IFormatProvider provider, Half expected) { bool isDefaultProvider = provider == null || provider == NumberFormatInfo.CurrentInfo; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs index 314293f490fd50..4127a0321d3b6e 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/HalfTests.cs @@ -894,7 +894,7 @@ public static void Parse_Span_Invalid(string value, NumberStyles style, IFormatP [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Utf8Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, float expectedFloat) { bool isDefaultProvider = provider == null || provider == NumberFormatInfo.CurrentInfo; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs index 8b079ab77026f9..f871fee994b860 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Int128Tests.cs @@ -324,7 +324,7 @@ public static IEnumerable Parse_Valid_TestData() [Theory] [MemberData(nameof(Parse_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Valid(string value, NumberStyles style, IFormatProvider provider, Int128 expected) { Int128 result; @@ -446,7 +446,7 @@ public static IEnumerable Parse_ValidWithOffsetCount_TestData() [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, Int128 expected) { Int128 result; @@ -488,7 +488,7 @@ public static void Parse_Span_Invalid(string value, NumberStyles style, IFormatP [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Utf8Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, Int128 expected) { Int128 result; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs index 5f096ae7d5cbb2..a8e33859f6f699 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Numerics/TotalOrderIeee754ComparerTests.cs @@ -137,7 +137,7 @@ public void TotalOrderTestNFloat(NFloat x, NFloat y, int result) [Theory] [InlineData(-1)] [InlineData(int.MinValue)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void TotalOrderTestInvalidSignificand(int significandByteCount) { var comparer = new TotalOrderIeee754Comparer(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs index c6ad815ddc91d0..00fd8ada74c6ef 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs @@ -37,7 +37,7 @@ public static void MethodTakesRefStructAsArgWithDefaultValue_ThrowsNSE() // Moq heavily utilizes RefEmit, which does not work on most aot workloads [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("https://github.com/dotnet/runtime/issues/40738")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void MethodTakesRefToRefStructAsArg_ThrowsNSE() { // Use a Binder to trick the reflection stack into treating the returned null @@ -53,7 +53,7 @@ public static void MethodTakesRefToRefStructAsArg_ThrowsNSE() [Fact] [SkipOnPlatform(TestPlatforms.Browser, "https://github.com/dotnet/runtime/issues/40738")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void MethodTakesOutToRefStructAsArg_ThrowsNSE() { MethodInfo mi = GetMethod(nameof(TestClass.TakesOutToRefStructAsArg)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs index c74ef7f8893f80..be54c889ef34cf 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/ModuleTests.cs @@ -81,7 +81,7 @@ public void CustomAttributes() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void FullyQualifiedName() { #if SINGLE_FILE_TEST_RUNNER @@ -100,7 +100,7 @@ public void FullyQualifiedName() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void Name() { #if SINGLE_FILE_TEST_RUNNER diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs index 4120d99e80234d..36b789cf591577 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs @@ -40,7 +40,7 @@ public static void InvalidArgs_Throws() [InlineData(1, true)] [InlineData(100, false)] [InlineData(100, true)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Add(int numObjects, bool tryAdd) { // Isolated to ensure we drop all references even in debug builds where lifetime is extended by the JIT to the end of the method @@ -513,7 +513,7 @@ static WeakReference GetWeakCondTabRef(out ConditionalWeakTable } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void AddRemove_DropValue() { // Verify that the removed entry is not keeping the value alive @@ -545,7 +545,7 @@ static void GetWeakRefPair(out WeakReference key_out, out WeakReference< } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetOrCreateValue() { WeakReference wrValue; @@ -577,7 +577,7 @@ static void GetWeakRefValPair(out WeakReference key_out, out WeakReferen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetValue() { WeakReference wrValue; @@ -743,7 +743,7 @@ public static void GetEnumerator_AddedAndRemovedItems_AppropriatelyShowUpInEnume } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetEnumerator_CollectedItemsNotEnumerated() { var cwt = new ConditionalWeakTable(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs index ec03dd982e536f..63f4eb15db5955 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/RuntimeFeatureTests.cs @@ -32,7 +32,7 @@ public static void DynamicCode() [Fact] [SkipOnMono("IsDynamicCodeCompiled returns false in cases where mono doesn't support these features")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicCode_Jit() { if (PlatformDetection.IsNativeAot) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs index 2e603467bcbf43..1110fd24e10d4b 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs @@ -55,7 +55,7 @@ void Test() // Tests that an infinite loop may be aborted and that the ThreadAbortException is translated // to an OperationCanceledException. [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoRuntime), nameof(PlatformDetection.IsNotNativeAot))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void CancelOutsideOfTryCatchFinally() { var cts = new CancellationTokenSource(); @@ -162,7 +162,7 @@ void Test() // Tests that finally blocks are not aborted. The finally block throws an exception. [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoRuntime), nameof(PlatformDetection.IsNotNativeAot))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void CancelInFinallyThatSleepsAndThrows() { var cts = new CancellationTokenSource(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs index dbf27c44ef0e7e..37431b6cdeab65 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs @@ -100,7 +100,7 @@ public void GetSetDependent() } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void TargetKeepsDependentAlive() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -130,7 +130,7 @@ static DependentHandle Initialize(out object target, out WeakReference weakDepen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentDoesNotKeepTargetAlive() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -159,7 +159,7 @@ static DependentHandle Initialize(out WeakReference weakTarget, out object depen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentIsCollectedOnTargetNotReachable() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -187,7 +187,7 @@ static DependentHandle Initialize(out WeakReference weakTarget, out WeakReferenc } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentIsCollectedOnTargetNotReachable_EvenWithReferenceCycles() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -222,7 +222,7 @@ private sealed class ObjectWithReference } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentIsCollectedAfterTargetIsSetToNull() { [MethodImpl(MethodImplOptions.NoInlining)] diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs index 28477e47a9a431..e4243b4ab4d422 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/JitInfoTests.cs @@ -106,7 +106,7 @@ public void JitInfoIsNotPopulated() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("Mono does not track thread specific JIT information")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void JitInfoCurrentThreadIsPopulated() { TimeSpan t1_beforeCompilationTime = TimeSpan.Zero; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs index ed2cbd82d77c6b..8f933956060c30 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/SingleTests.GenericMath.cs @@ -346,7 +346,7 @@ public static void op_InequalityTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerTest() { // Signed Values @@ -399,7 +399,7 @@ public static void ConvertToIntegerTest() [Fact] [SkipOnMono("https://github.com/dotnet/runtime/issues/100368")] [ActiveIssue("https://github.com/dotnet/runtime/issues/120055", typeof(PlatformDetection), nameof(PlatformDetection.IsAppleMobile), nameof(PlatformDetection.IsX64Process), nameof(PlatformDetection.IsCoreCLR))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ConvertToIntegerNativeTest() { // Signed Values diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs index d4ada28c64df35..459d20854ef16b 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/StringTests.cs @@ -1235,7 +1235,7 @@ public static void NonRandomizedGetHashCode_EquivalentForStringAndSpan(int charV [Theory] [MemberData(nameof(GetHashCode_NoSuchStringComparison_ThrowsArgumentException_Data))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetHashCode_NoSuchStringComparison_ThrowsArgumentException(StringComparison comparisonType) { AssertExtensions.Throws("comparisonType", () => "abc".GetHashCode(comparisonType)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs index b259c0044b6f6d..b6c064104407d0 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs @@ -83,7 +83,7 @@ public async Task Dispose_Idempotent() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task WaitForNextTickAsync_TimerFires_ReturnsTrue() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); @@ -120,7 +120,7 @@ public async Task WaitForNextTickAsync_ConcurrentDispose_ReturnsFalse() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task WaitForNextTickAsync_ConcurrentDisposeAfterTicks_EventuallyReturnsFalse() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); @@ -140,7 +140,7 @@ public async Task WaitForNextTickAsync_ConcurrentDisposeAfterTicks_EventuallyRet } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void PeriodicTimer_NoActiveOperations_TimerNotRooted() { WeakReference timer = Create(); @@ -153,7 +153,7 @@ static WeakReference Create() => } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task PeriodicTimer_ActiveOperations_TimerRooted() { // Step 1: Verify that if we have an active wait the timer does not get collected. @@ -243,7 +243,7 @@ public void WaitForNextTickAsync_CanceledAfterWait_CancelsOperation() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task WaitForNextTickAsync_CanceledWaitThenWaitAgain_Succeeds() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs index 3fcdc4e41a87dc..2f7701c4c0b9a3 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/UInt128Tests.cs @@ -253,7 +253,7 @@ public static IEnumerable Parse_Valid_TestData() [Theory] [MemberData(nameof(Parse_Valid_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Valid(string value, NumberStyles style, IFormatProvider provider, UInt128 expected) { UInt128 result; @@ -388,7 +388,7 @@ public static IEnumerable Parse_ValidWithOffsetCount_TestData() [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, UInt128 expected) { UInt128 result; @@ -430,7 +430,7 @@ public static void Parse_Span_Invalid(string value, NumberStyles style, IFormatP [Theory] [MemberData(nameof(Parse_ValidWithOffsetCount_TestData))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Parse_Utf8Span_Valid(string value, int offset, int count, NumberStyles style, IFormatProvider provider, UInt128 expected) { UInt128 result; From 1956f53c8d4864ff0c3ec1ca8b27e017e1c12049 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Fri, 9 Jan 2026 14:15:25 +0100 Subject: [PATCH 11/15] whitespace --- .../System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs | 2 +- .../System/Runtime/ControlledExecutionTests.cs | 2 +- .../System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs | 2 +- .../tests/System.Runtime.Tests/System/WeakReferenceTests.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs index c18ee6bc2c3328..c90bf1095bddfa 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs @@ -14,7 +14,7 @@ namespace System.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static class GCTests { private static bool s_is32Bits = IntPtr.Size == 4; // Skip IntPtr tests on 32-bit platforms diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs index 1110fd24e10d4b..b71671ec89ecbd 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs @@ -10,7 +10,7 @@ namespace System.Runtime.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public sealed class ControlledExecutionTests { private volatile bool _readyForCancellation; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs index b6c064104407d0..d120efa486d9df 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs @@ -7,7 +7,7 @@ namespace System.Threading.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public class PeriodicTimerTests { [Fact] diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs index 847bdaf1ea144e..6141711023376f 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs @@ -7,7 +7,7 @@ namespace System.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static unsafe class WeakReferenceTests { // From 9c90e7c6ddccd8fed6b4043734a21f1c1a3a5c35 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Mon, 12 Jan 2026 12:34:37 +0100 Subject: [PATCH 12/15] reduce active issues --- .../tests/System.Runtime.Tests/System/Attributes.cs | 1 - .../tests/System.Runtime.Tests/System/DecimalTests.cs | 1 + .../tests/System.Runtime.Tests/System/DelegateTests.cs | 5 ----- .../tests/System.Runtime.Tests/System/DoubleTests.cs | 1 - .../tests/System.Runtime.Tests/System/GCTests.cs | 1 - .../System/Reflection/InvokeWithRefLikeArgs.cs | 3 +-- .../Runtime/CompilerServices/ConditionalWeakTableTests.cs | 5 ----- .../System/Runtime/ControlledExecutionTests.cs | 2 -- .../System/Runtime/DependentHandleTests.cs | 5 ----- .../System/Threading/PeriodicTimerTests.cs | 4 +--- .../tests/System.Runtime.Tests/System/WeakReferenceTests.cs | 1 - 11 files changed, 3 insertions(+), 26 deletions(-) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs index e0597f9f91c1ea..3784d52cfcaa0b 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Attributes.cs @@ -224,7 +224,6 @@ public static void GetCustomAttributes_Interface() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("Mono does not support getting DynamicMethod attributes via Attribute.GetCustomAttributes()")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetCustomAttributes_DynamicMethod() { var dynamicMethod = new DynamicMethod("test", typeof(void), Type.EmptyTypes); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs index cd0adfc60fc8a2..6363e20f02e313 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DecimalTests.cs @@ -1714,6 +1714,7 @@ public static void DecrementOperator(decimal d, decimal expected) Assert.Equal(expected, --d); } + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] // too slow public static class BigIntegerCompare { [Fact] diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs index c4409c271120aa..39d3800be714a8 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DelegateTests.cs @@ -276,7 +276,6 @@ public static void DynamicInvoke_DefaultParameter_AllPrimitiveParametersWithSome } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_StringParameterWithMissingValue() { Assert.Equal @@ -285,7 +284,6 @@ public static void DynamicInvoke_DefaultParameter_StringParameterWithMissingValu } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_StringParameterWithExplicitValue() { Assert.Equal( @@ -294,14 +292,12 @@ public static void DynamicInvoke_DefaultParameter_StringParameterWithExplicitVal } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithMissingValue() { Assert.Null((new ReferenceWithDefaultValue(ReferenceMethod)).DynamicInvoke(new object[] { Type.Missing })); } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithExplicitValue() { CustomReferenceType referenceInstance = new CustomReferenceType(); @@ -311,7 +307,6 @@ public static void DynamicInvoke_DefaultParameter_ReferenceTypeParameterWithExpl } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void DynamicInvoke_DefaultParameter_ValueTypeParameterWithMissingValue() { Assert.Equal( diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs index b6bee01c802a15..ac1bf4abf4e863 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/DoubleTests.cs @@ -834,7 +834,6 @@ public static void ToString_InvalidFormat_ThrowsFormatException() [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.Is64BitProcess))] // Requires a lot of memory [OuterLoop("Takes a long time, allocates a lot of memory")] [SkipOnMono("Frequently throws OOM on Mono")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void ToString_ValidLargeFormat() { double d = 123.0; diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs index c90bf1095bddfa..f49d3879d4b2d2 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/GCTests.cs @@ -14,7 +14,6 @@ namespace System.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static class GCTests { private static bool s_is32Bits = IntPtr.Size == 4; // Skip IntPtr tests on 32-bit platforms diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs index 00fd8ada74c6ef..a23bb19eb68389 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Reflection/InvokeWithRefLikeArgs.cs @@ -37,7 +37,6 @@ public static void MethodTakesRefStructAsArgWithDefaultValue_ThrowsNSE() // Moq heavily utilizes RefEmit, which does not work on most aot workloads [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] [SkipOnMono("https://github.com/dotnet/runtime/issues/40738")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void MethodTakesRefToRefStructAsArg_ThrowsNSE() { // Use a Binder to trick the reflection stack into treating the returned null @@ -52,8 +51,8 @@ public static void MethodTakesRefToRefStructAsArg_ThrowsNSE() } [Fact] + [SkipOnMono("https://github.com/dotnet/runtime/issues/40738")] [SkipOnPlatform(TestPlatforms.Browser, "https://github.com/dotnet/runtime/issues/40738")] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void MethodTakesOutToRefStructAsArg_ThrowsNSE() { MethodInfo mi = GetMethod(nameof(TestClass.TakesOutToRefStructAsArg)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs index 36b789cf591577..06487e90aec3e8 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/CompilerServices/ConditionalWeakTableTests.cs @@ -40,7 +40,6 @@ public static void InvalidArgs_Throws() [InlineData(1, true)] [InlineData(100, false)] [InlineData(100, true)] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void Add(int numObjects, bool tryAdd) { // Isolated to ensure we drop all references even in debug builds where lifetime is extended by the JIT to the end of the method @@ -513,7 +512,6 @@ static WeakReference GetWeakCondTabRef(out ConditionalWeakTable } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void AddRemove_DropValue() { // Verify that the removed entry is not keeping the value alive @@ -545,7 +543,6 @@ static void GetWeakRefPair(out WeakReference key_out, out WeakReference< } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetOrCreateValue() { WeakReference wrValue; @@ -577,7 +574,6 @@ static void GetWeakRefValPair(out WeakReference key_out, out WeakReferen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetValue() { WeakReference wrValue; @@ -743,7 +739,6 @@ public static void GetEnumerator_AddedAndRemovedItems_AppropriatelyShowUpInEnume } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static void GetEnumerator_CollectedItemsNotEnumerated() { var cwt = new ConditionalWeakTable(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs index b71671ec89ecbd..7e71e6c1d06e6d 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/ControlledExecutionTests.cs @@ -55,7 +55,6 @@ void Test() // Tests that an infinite loop may be aborted and that the ThreadAbortException is translated // to an OperationCanceledException. [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoRuntime), nameof(PlatformDetection.IsNotNativeAot))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void CancelOutsideOfTryCatchFinally() { var cts = new CancellationTokenSource(); @@ -162,7 +161,6 @@ void Test() // Tests that finally blocks are not aborted. The finally block throws an exception. [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotMonoRuntime), nameof(PlatformDetection.IsNotNativeAot))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void CancelInFinallyThatSleepsAndThrows() { var cts = new CancellationTokenSource(); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs index 37431b6cdeab65..3c798557d321cb 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Runtime/DependentHandleTests.cs @@ -100,7 +100,6 @@ public void GetSetDependent() } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void TargetKeepsDependentAlive() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -130,7 +129,6 @@ static DependentHandle Initialize(out object target, out WeakReference weakDepen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentDoesNotKeepTargetAlive() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -159,7 +157,6 @@ static DependentHandle Initialize(out WeakReference weakTarget, out object depen } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentIsCollectedOnTargetNotReachable() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -187,7 +184,6 @@ static DependentHandle Initialize(out WeakReference weakTarget, out WeakReferenc } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentIsCollectedOnTargetNotReachable_EvenWithReferenceCycles() { [MethodImpl(MethodImplOptions.NoInlining)] @@ -222,7 +218,6 @@ private sealed class ObjectWithReference } [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsPreciseGcSupported))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public void DependentIsCollectedAfterTargetIsSetToNull() { [MethodImpl(MethodImplOptions.NoInlining)] diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs index d120efa486d9df..13a981ddd9a5e0 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/Threading/PeriodicTimerTests.cs @@ -7,7 +7,6 @@ namespace System.Threading.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public class PeriodicTimerTests { [Fact] @@ -66,6 +65,7 @@ public async Task Period_AffectsPendingWaits() } [Fact] + [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task Dispose_Idempotent() { var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); @@ -83,7 +83,6 @@ public async Task Dispose_Idempotent() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task WaitForNextTickAsync_TimerFires_ReturnsTrue() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); @@ -243,7 +242,6 @@ public void WaitForNextTickAsync_CanceledAfterWait_CancelsOperation() } [Fact] - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public async Task WaitForNextTickAsync_CanceledWaitThenWaitAgain_Succeeds() { using var timer = new PeriodicTimer(TimeSpan.FromMilliseconds(1)); diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs index 6141711023376f..60bb05efe8e822 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Tests/System/WeakReferenceTests.cs @@ -7,7 +7,6 @@ namespace System.Tests { - [ActiveIssue("https://github.com/dotnet/runtime/issues/123011", typeof(PlatformDetection), nameof(PlatformDetection.IsBrowser), nameof(PlatformDetection.IsCoreCLR))] public static unsafe class WeakReferenceTests { // From 856bca6b20fe52c4d99673167f9b8b811622df49 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Mon, 12 Jan 2026 12:35:05 +0100 Subject: [PATCH 13/15] switch back WBT to debug because of trimming issues --- .../common/templates/browser-wasm-coreclr-build-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml b/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml index fc3838f838ba5c..c7c3e4b103bbb7 100644 --- a/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml +++ b/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml @@ -15,7 +15,7 @@ jobs: parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - buildConfig: Release + buildConfig: Debug runtimeFlavor: CoreCLR platforms: - ${{ platform }} From 709b47c5cafb786dfef3d03d37970178cb88f4ad Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Mon, 12 Jan 2026 16:37:55 +0100 Subject: [PATCH 14/15] fix trimming ? --- .../templates/browser-wasm-coreclr-build-tests.yml | 2 +- eng/testing/tests.browser.targets | 3 --- src/coreclr/vm/corelib.h | 3 +++ .../Common/tests/WasmTestRunner/WasmTestRunner.cs | 2 +- src/mono/browser/build/WasmApp.InTree.props | 3 --- .../WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj | 9 --------- 6 files changed, 5 insertions(+), 17 deletions(-) diff --git a/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml b/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml index c7c3e4b103bbb7..fc3838f838ba5c 100644 --- a/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml +++ b/eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml @@ -15,7 +15,7 @@ jobs: parameters: jobTemplate: /eng/pipelines/common/global-build-job.yml helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml - buildConfig: Debug + buildConfig: Release runtimeFlavor: CoreCLR platforms: - ${{ platform }} diff --git a/eng/testing/tests.browser.targets b/eng/testing/tests.browser.targets index ee88952c271c2c..8fd7c65c59d926 100644 --- a/eng/testing/tests.browser.targets +++ b/eng/testing/tests.browser.targets @@ -63,9 +63,6 @@ false false - - false - false diff --git a/src/coreclr/vm/corelib.h b/src/coreclr/vm/corelib.h index bde859d72dca8d..d243c3a46b54b0 100644 --- a/src/coreclr/vm/corelib.h +++ b/src/coreclr/vm/corelib.h @@ -993,6 +993,9 @@ DEFINE_CLASS(THREAD, Threading, Thread) DEFINE_METHOD(THREAD, START_CALLBACK, StartCallback, IM_RetVoid) DEFINE_METHOD(THREAD, POLLGC, PollGC, NoSig) DEFINE_METHOD(THREAD, ON_THREAD_EXITING, OnThreadExiting, IM_RetVoid) +#ifdef FOR_ILLINK +DEFINE_METHOD(THREAD, CTOR, .ctor, IM_RetVoid) +#endif // FOR_ILLINK #ifdef FEATURE_OBJCMARSHAL DEFINE_CLASS(AUTORELEASEPOOL, Threading, AutoreleasePool) diff --git a/src/libraries/Common/tests/WasmTestRunner/WasmTestRunner.cs b/src/libraries/Common/tests/WasmTestRunner/WasmTestRunner.cs index c62a7473d9ed8f..005c736e936594 100644 --- a/src/libraries/Common/tests/WasmTestRunner/WasmTestRunner.cs +++ b/src/libraries/Common/tests/WasmTestRunner/WasmTestRunner.cs @@ -33,7 +33,7 @@ public static Task Main(string[] args) } #endif - // workaround for https://github.com/dotnet/runtime/issues/122972 + // WASM-TODO: workaround for https://github.com/dotnet/runtime/issues/122972 protected override IEnumerable GetTestAssemblies() { AssemblyName an = new AssemblyName(Path.GetFileNameWithoutExtension(TestAssembly)); diff --git a/src/mono/browser/build/WasmApp.InTree.props b/src/mono/browser/build/WasmApp.InTree.props index 55866365d8c82f..b83e9994dc24f8 100644 --- a/src/mono/browser/build/WasmApp.InTree.props +++ b/src/mono/browser/build/WasmApp.InTree.props @@ -18,9 +18,6 @@ false false - - false - false diff --git a/src/mono/wasm/testassets/WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj b/src/mono/wasm/testassets/WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj index 6f31a0f7e52bcc..9951d602d915af 100644 --- a/src/mono/wasm/testassets/WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj +++ b/src/mono/wasm/testassets/WasmBrowserRunMainOnly/WasmBrowserRunMainOnly.csproj @@ -5,15 +5,6 @@ true - - - false - false - - false - false - - From d6d7455e65564bf7f0ff6cda197749cccc2ffbc9 Mon Sep 17 00:00:00 2001 From: pavelsavara Date: Mon, 12 Jan 2026 19:22:17 +0100 Subject: [PATCH 15/15] also release WBT --- .../wasm/Wasm.Build.Tests/WasmBrowserRunMainOnly.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmBrowserRunMainOnly.cs b/src/mono/wasm/Wasm.Build.Tests/WasmBrowserRunMainOnly.cs index bc4799a9bf3bb3..5f49a85154d9d6 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmBrowserRunMainOnly.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmBrowserRunMainOnly.cs @@ -7,12 +7,13 @@ namespace Wasm.Build.Tests; public class WasmBrowserRunMainOnly(ITestOutputHelper output, SharedBuildPerTestClassFixture buildContext) : WasmTemplateTestsBase(output, buildContext) { - [Fact, TestCategory("coreclr")] - public async Task RunMainOnly() + [TestCategory("coreclr")] + [Theory] + [BuildAndRun(config: Configuration.Release)] + [BuildAndRun(config: Configuration.Debug)] + public async Task RunMainOnly(Configuration config, bool aot) { - Configuration config = Configuration.Debug; - - ProjectInfo info = CopyTestAsset(config, false, TestAsset.WasmBrowserRunMainOnly, $"WasmBrowserRunMainOnly"); + ProjectInfo info = CopyTestAsset(config, aot, TestAsset.WasmBrowserRunMainOnly, $"WasmBrowserRunMainOnly"); var (_, buildOutput) = PublishProject(info, config, new PublishOptions(AssertAppBundle: false, EnableDiagnostics: true)); // ** MicrosoftNetCoreAppRuntimePackDir : '....microsoft.netcore.app.runtime.browser-wasm\11.0.0-dev'