diff --git a/eng/pipelines/common/platform-matrix.yml b/eng/pipelines/common/platform-matrix.yml
index 15529c28b36f3d..91e757fcaf7c43 100644
--- a/eng/pipelines/common/platform-matrix.yml
+++ b/eng/pipelines/common/platform-matrix.yml
@@ -24,406 +24,6 @@ parameters:
jobs:
-# Linux arm
-- ${{ if or(containsValue(parameters.platforms, 'linux_arm'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: arm
- targetRid: linux-arm
- platform: linux_arm
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_arm
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux armv6
-- ${{ if containsValue(parameters.platforms, 'linux_armv6') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: armv6
- targetRid: linux-armv6
- platform: linux_armv6
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_armv6
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux arm64
-
-- ${{ if or(containsValue(parameters.platforms, 'linux_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: arm64
- targetRid: linux-arm64
- platform: linux_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- ${{ if eq(parameters.container, '') }}:
- container: linux_arm64
- ${{ if ne(parameters.container, '') }}:
- container:
- image: ${{ parameters.container }}
- registry: mcr
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux musl x64
-
-- ${{ if or(containsValue(parameters.platforms, 'linux_musl_x64'), eq(parameters.platformGroup, 'all')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- osSubgroup: _musl
- archType: x64
- targetRid: linux-musl-x64
- platform: linux_musl_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_musl_x64
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux musl arm
-
-- ${{ if or(containsValue(parameters.platforms, 'linux_musl_arm'), eq(parameters.platformGroup, 'all')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- osSubgroup: _musl
- archType: arm
- targetRid: linux-musl-arm
- platform: linux_musl_arm
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_musl_arm
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux musl arm64
-
-- ${{ if or(containsValue(parameters.platforms, 'linux_musl_arm64'), eq(parameters.platformGroup, 'all')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- osSubgroup: _musl
- archType: arm64
- targetRid: linux-musl-arm64
- platform: linux_musl_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_musl_arm64
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux Bionic arm64
-
-- ${{ if containsValue(parameters.platforms, 'linux_bionic_arm64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- osSubgroup: _bionic
- archType: arm64
- targetRid: linux-bionic-arm64
- platform: linux_bionic_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_bionic
- jobParameters:
- runtimeFlavor: mono
- # We build on Linux, but the test queue runs Windows, so
- # we need to override the test script generation
- runScriptWindowsCmd: true
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux Bionic x64
-
-- ${{ if containsValue(parameters.platforms, 'linux_bionic_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- osSubgroup: _bionic
- archType: x64
- targetRid: linux-bionic-x64
- platform: linux_bionic_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_bionic
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux x64
-
-- ${{ if or(containsValue(parameters.platforms, 'linux_x64'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: x64
- targetRid: linux-x64
- platform: linux_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- ${{ if eq(parameters.container, '') }}:
- container: linux_x64
- ${{ if ne(parameters.container, '') }}:
- container:
- image: ${{ parameters.container }}
- registry: mcr
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux x86
-
-- ${{ if containsValue(parameters.platforms, 'linux_x86') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: x86
- targetRid: linux-x86
- platform: linux_x86
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_x86
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- disableClrTest: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Centos 7 x64 Source Build
-
-- ${{ if containsValue(parameters.platforms, 'SourceBuild_centos7_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: x64
- targetRid: centos.7-x64
- platform: centos7_linux_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: centos-7-source-build
- registry: mcr
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- isSourceBuild: true
- isNonPortableSourceBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Non-existent RID Source Build
-
-- ${{ if containsValue(parameters.platforms, 'SourceBuild_banana24_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: x64
- targetRid: banana.24-x64
- platform: banana24_linux_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container:
- image: centos-7-source-build-20210714125450-5d87b80
- registry: mcr
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- isSourceBuild: true
- isNonPortableSourceBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Portable Linux x64 Source Build
-
-- ${{ if containsValue(parameters.platforms, 'SourceBuild_linux_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: x64
- targetRid: linux-x64
- platform: linux_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: SourceBuild_linux_x64
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- isSourceBuild: true
- isNonPortableSourceBuild: false
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# GCC Linux x64 Build
-
-- ${{ if containsValue(parameters.platforms, 'gcc_linux_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: x64
- targetRid: linux-x64
- platform: linux_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: debian-11-gcc12-amd64
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- compilerName: gcc
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Mono LLVMAot test build
-
-- ${{ if containsValue(parameters.platforms, 'linux_x64_llvmaot') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: x64
- targetRid: linux-x64
- platform: linux_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_x64_llvmaot
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux s390x
-
-- ${{ if containsValue(parameters.platforms, 'linux_s390x') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: s390x
- targetRid: linux-s390x
- platform: linux_s390x
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_s390x
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux PPC64le
-
-- ${{ if containsValue(parameters.platforms, 'linux_ppc64le') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: ppc64le
- targetRid: linux-ppc64le
- platform: linux_ppc64le
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_ppc64le
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Linux RISCV64
-
-- ${{ if containsValue(parameters.platforms, 'linux_riscv64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: linux
- archType: riscv64
- targetRid: linux-riscv64
- platform: linux_riscv64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_riscv64
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- disableClrTest: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
# WASI WebAssembly
- ${{ if containsValue(parameters.platforms, 'wasi_wasm') }}:
@@ -464,450 +64,3 @@ jobs:
stagedBuild: ${{ parameters.stagedBuild }}
buildConfig: ${{ parameters.buildConfig }}
${{ insert }}: ${{ parameters.jobParameters }}
-
-# Browser WebAssembly
-
-- ${{ if containsValue(parameters.platforms, 'browser_wasm') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: browser
- archType: wasm
- targetRid: browser-wasm
- platform: browser_wasm
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: browser_wasm
- jobParameters:
- hostedOs: linux
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Browser WebAssembly Linux Firefox
-
-- ${{ if containsValue(parameters.platforms, 'browser_wasm_firefox') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: browser
- archType: wasm
- targetRid: browser-wasm
- platform: browser_wasm_firefox
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: browser_wasm
- jobParameters:
- hostedOs: linux
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Browser WebAssembly on Windows
-
-- ${{ if containsValue(parameters.platforms, 'browser_wasm_win') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: browser
- archType: wasm
- targetRid: browser-wasm
- platform: browser_wasm_win
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- hostedOs: windows
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# FreeBSD
-- ${{ if containsValue(parameters.platforms, 'freebsd_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: freebsd
- archType: x64
- targetRid: freebsd-x64
- platform: freebsd_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: freebsd_x64
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Android x64
-
-- ${{ if containsValue(parameters.platforms, 'android_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: android
- archType: x64
- targetRid: android-x64
- platform: android_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_bionic
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Android x86
-
-- ${{ if containsValue(parameters.platforms, 'android_x86') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: android
- archType: x86
- targetRid: android-x86
- platform: android_x86
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_bionic
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Android arm
-
-- ${{ if containsValue(parameters.platforms, 'android_arm') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: android
- archType: arm
- targetRid: android-arm
- platform: android_arm
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_bionic
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Android arm64
-
-- ${{ if containsValue(parameters.platforms, 'android_arm64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: android
- archType: arm64
- targetRid: android-arm64
- platform: android_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: linux_bionic
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Mac Catalyst x64
-
-- ${{ if containsValue(parameters.platforms, 'maccatalyst_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: maccatalyst
- archType: x64
- targetRid: maccatalyst-x64
- platform: maccatalyst_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Mac Catalyst arm64
-
-- ${{ if containsValue(parameters.platforms, 'maccatalyst_arm64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: maccatalyst
- archType: arm64
- targetRid: maccatalyst-arm64
- platform: maccatalyst_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# tvOS arm64
-
-- ${{ if containsValue(parameters.platforms, 'tvos_arm64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: tvos
- archType: arm64
- targetRid: tvos-arm64
- platform: tvos_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# tvOS Simulator x64
-
-- ${{ if containsValue(parameters.platforms, 'tvossimulator_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: tvossimulator
- archType: x64
- targetRid: tvossimulator-x64
- platform: tvossimulator_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# tvOS Simulator arm64
-
-- ${{ if containsValue(parameters.platforms, 'tvossimulator_arm64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: tvossimulator
- archType: arm64
- targetRid: tvossimulator-arm64
- platform: tvossimulator_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# iOS arm64
-
-- ${{ if containsValue(parameters.platforms, 'ios_arm64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: ios
- archType: arm64
- targetRid: ios-arm64
- platform: ios_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# iOS Simulator x64
-
-- ${{ if containsValue(parameters.platforms, 'iossimulator_x64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: iossimulator
- archType: x64
- targetRid: iossimulator-x64
- platform: iossimulator_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# iOS Simulator arm64
-
-- ${{ if containsValue(parameters.platforms, 'iossimulator_arm64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: iossimulator
- archType: arm64
- targetRid: iossimulator-arm64
- platform: iossimulator_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: mono
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# macOS arm64
-
-- ${{ if containsValue(parameters.platforms, 'osx_arm64') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: osx
- archType: arm64
- targetRid: osx-arm64
- platform: osx_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# macOS x64
-
-- ${{ if or(containsValue(parameters.platforms, 'osx_x64'), eq(parameters.platformGroup, 'all')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: osx
- archType: x64
- targetRid: osx-x64
- platform: osx_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Tizen armel
-
-- ${{ if containsValue(parameters.platforms, 'tizen_armel') }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: tizen
- archType: armel
- targetRid: tizen-armel
- platform: tizen_armel
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- container: tizen_armel
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- crossBuild: true
- disableClrTest: true
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Windows x64
-
-- ${{ if or(containsValue(parameters.platforms, 'windows_x64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: windows
- archType: x64
- targetRid: win-x64
- platform: windows_x64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Windows x86
-
-- ${{ if or(containsValue(parameters.platforms, 'windows_x86'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: windows
- archType: x86
- targetRid: win-x86
- platform: windows_x86
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Windows arm
-- ${{ if or(containsValue(parameters.platforms, 'windows_arm'), eq(parameters.platformGroup, 'all')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: windows
- archType: arm
- targetRid: win-arm
- platform: windows_arm
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
-
-# Windows arm64
-
-- ${{ if or(containsValue(parameters.platforms, 'windows_arm64'), in(parameters.platformGroup, 'all', 'gcstress')) }}:
- - template: xplat-setup.yml
- parameters:
- jobTemplate: ${{ parameters.jobTemplate }}
- helixQueuesTemplate: ${{ parameters.helixQueuesTemplate }}
- variables: ${{ parameters.variables }}
- osGroup: windows
- archType: arm64
- targetRid: win-arm64
- platform: windows_arm64
- shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
- jobParameters:
- runtimeFlavor: ${{ parameters.runtimeFlavor }}
- buildConfig: ${{ parameters.buildConfig }}
- helixQueueGroup: ${{ parameters.helixQueueGroup }}
- ${{ insert }}: ${{ parameters.jobParameters }}
diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml
index 4ad81e6c23d7bd..72b858f5b53e2d 100644
--- a/eng/pipelines/runtime.yml
+++ b/eng/pipelines/runtime.yml
@@ -499,25 +499,34 @@ extends:
# WASI/WASM
+ #- template: /eng/pipelines/common/templates/wasm-library-tests.yml
+ #parameters:
+ #platforms:
+ #- wasi_wasm
+ #- wasi_wasm_win
+ #nameSuffix: _Relinking
+ #extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true
+ #alwaysRun: true
+ #scenarios:
+ #- normal
+
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- wasi_wasm
- wasi_wasm_win
- nameSuffix: '_Smoke'
- extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true
- shouldContinueOnError: true
- shouldRunSmokeOnly: true
- alwaysRun: ${{ variables.isRollingBuild }}
+ extraBuildArgs: /p:RunWasmSamples=true
+ shouldContinueOnError: false
+ alwaysRun: true
scenarios:
- normal
- - template: /eng/pipelines/common/templates/wasm-build-tests.yml
- parameters:
- platforms:
- - wasi_wasm
- - wasi_wasm_win
- alwaysRun: ${{ variables.isRollingBuild }}
+ #- template: /eng/pipelines/common/templates/wasm-build-tests.yml
+ #parameters:
+ #platforms:
+ #- wasi_wasm
+ #- wasi_wasm_win
+ #alwaysRun: ${{ variables.isRollingBuild }}
#
# iOS/tvOS devices - Full AOT + AggressiveTrimming to reduce size
diff --git a/src/libraries/Common/tests/System/Security/Cryptography/SP800108HmacCounterKdfTests.ThreadSafety.cs b/src/libraries/Common/tests/System/Security/Cryptography/SP800108HmacCounterKdfTests.ThreadSafety.cs
index cf1339eb4daf76..785bf53686a96b 100644
--- a/src/libraries/Common/tests/System/Security/Cryptography/SP800108HmacCounterKdfTests.ThreadSafety.cs
+++ b/src/libraries/Common/tests/System/Security/Cryptography/SP800108HmacCounterKdfTests.ThreadSafety.cs
@@ -10,6 +10,7 @@ public static partial class SP800108HmacCounterKdfTests
{
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/68162", TestPlatforms.Browser)] // wasm threading support
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/82561", TestPlatforms.Wasi)] // wasm threading support
public static void Race_ReusingOneInstance_Allocating()
{
using (SP800108HmacCounterKdf kdf = new("kdf"u8, HashAlgorithmName.SHA256))
@@ -55,6 +56,7 @@ public static void Race_ReusingOneInstance_Allocating()
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/68162", TestPlatforms.Browser)] // wasm threading support
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/82561", TestPlatforms.Wasi)] // wasm threading support
public static void Race_ReusingOneInstance_Buffering()
{
using (SP800108HmacCounterKdf kdf = new("kdf"u8, HashAlgorithmName.SHA256))
@@ -128,6 +130,7 @@ public static void Race_ReusingOneInstance_Buffering()
[Fact]
[ActiveIssue("https://github.com/dotnet/runtime/issues/68162", TestPlatforms.Browser)] // wasm threading support
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/82561", TestPlatforms.Wasi)] // wasm threading support
public static void Race_UseAndDisposeOneInstance_Allocating()
{
SP800108HmacCounterKdf kdf;
diff --git a/src/libraries/Microsoft.Extensions.Configuration.Xml/ref/Microsoft.Extensions.Configuration.Xml.cs b/src/libraries/Microsoft.Extensions.Configuration.Xml/ref/Microsoft.Extensions.Configuration.Xml.cs
index 889044c1071661..78707190c18282 100644
--- a/src/libraries/Microsoft.Extensions.Configuration.Xml/ref/Microsoft.Extensions.Configuration.Xml.cs
+++ b/src/libraries/Microsoft.Extensions.Configuration.Xml/ref/Microsoft.Extensions.Configuration.Xml.cs
@@ -54,6 +54,7 @@ protected XmlDocumentDecryptor() { }
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml which may contain XSLTs in the xml. XSLTs require dynamic code.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml. If you use encrypted XML files, your application might not have the algorithm implementations it needs. To avoid this problem, one option you can use is a DynamicDependency attribute to keep the algorithm implementations in your application.")]
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("browser")]
+ [System.Runtime.Versioning.UnsupportedOSPlatform("wasi")]
protected virtual System.Xml.XmlReader DecryptDocumentAndCreateXmlReader(System.Xml.XmlDocument document) { throw null; }
}
[System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute("Microsoft.Extensions.Configuration.Xml can use EncryptedXml which may contain XSLTs in the xml. XSLTs require dynamic code.")]
diff --git a/src/libraries/Microsoft.Extensions.Configuration.Xml/src/XmlDocumentDecryptor.cs b/src/libraries/Microsoft.Extensions.Configuration.Xml/src/XmlDocumentDecryptor.cs
index 51bfb352228a83..57c2c42cc542b1 100644
--- a/src/libraries/Microsoft.Extensions.Configuration.Xml/src/XmlDocumentDecryptor.cs
+++ b/src/libraries/Microsoft.Extensions.Configuration.Xml/src/XmlDocumentDecryptor.cs
@@ -98,6 +98,7 @@ public XmlReader CreateDecryptingXmlReader(Stream input, XmlReaderSettings? sett
/// The document.
/// An XmlReader which can read the document.
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[RequiresDynamicCode(RequiresDynamicCodeMessage)]
[RequiresUnreferencedCode(RequiresUnreferencedCodeMessage)]
protected virtual XmlReader DecryptDocumentAndCreateXmlReader(XmlDocument document)
diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/PhysicalFileProvider.cs b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/PhysicalFileProvider.cs
index fb2306d56e9f9d..8cb45c48a8d8b7 100644
--- a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/PhysicalFileProvider.cs
+++ b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/PhysicalFileProvider.cs
@@ -164,7 +164,7 @@ internal PhysicalFilesWatcher CreateFileWatcher()
FileSystemWatcher? watcher;
#if NETCOREAPP
// For browser/iOS/tvOS we will proactively fallback to polling since FileSystemWatcher is not supported.
- if (OperatingSystem.IsBrowser() || (OperatingSystem.IsIOS() && !OperatingSystem.IsMacCatalyst()) || OperatingSystem.IsTvOS())
+ if (OperatingSystem.IsBrowser() || OperatingSystem.IsWasi() || (OperatingSystem.IsIOS() && !OperatingSystem.IsMacCatalyst()) || OperatingSystem.IsTvOS())
{
UsePollingFileWatcher = true;
UseActivePolling = true;
diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/PhysicalFilesWatcher.cs b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/PhysicalFilesWatcher.cs
index 905dd855cd016a..3fe8e5588818e5 100644
--- a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/PhysicalFilesWatcher.cs
+++ b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/PhysicalFilesWatcher.cs
@@ -89,7 +89,7 @@ public PhysicalFilesWatcher(
if (fileSystemWatcher != null)
{
#if NETCOREAPP
- if (OperatingSystem.IsBrowser() || (OperatingSystem.IsIOS() && !OperatingSystem.IsMacCatalyst()) || OperatingSystem.IsTvOS())
+ if (OperatingSystem.IsBrowser() || OperatingSystem.IsWasi() || (OperatingSystem.IsIOS() && !OperatingSystem.IsMacCatalyst()) || OperatingSystem.IsTvOS())
{
throw new PlatformNotSupportedException(SR.Format(SR.FileSystemWatcher_PlatformNotSupported, typeof(FileSystemWatcher)));
}
@@ -272,6 +272,7 @@ protected virtual void Dispose(bool disposing)
}
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[UnsupportedOSPlatform("ios")]
[UnsupportedOSPlatform("tvos")]
[SupportedOSPlatform("maccatalyst")]
@@ -308,6 +309,7 @@ ex is DirectoryNotFoundException ||
}
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[UnsupportedOSPlatform("ios")]
[UnsupportedOSPlatform("tvos")]
[SupportedOSPlatform("maccatalyst")]
@@ -317,6 +319,7 @@ private void OnChanged(object sender, FileSystemEventArgs e)
}
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[UnsupportedOSPlatform("ios")]
[UnsupportedOSPlatform("tvos")]
[SupportedOSPlatform("maccatalyst")]
@@ -330,6 +333,7 @@ private void OnError(object sender, ErrorEventArgs e)
}
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[UnsupportedOSPlatform("ios")]
[UnsupportedOSPlatform("tvos")]
[SupportedOSPlatform("maccatalyst")]
@@ -356,6 +360,7 @@ ex is SecurityException ||
}
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[UnsupportedOSPlatform("ios")]
[UnsupportedOSPlatform("tvos")]
[SupportedOSPlatform("maccatalyst")]
@@ -396,6 +401,7 @@ private void ReportChangeForMatchedEntries(string path)
}
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[UnsupportedOSPlatform("ios")]
[UnsupportedOSPlatform("tvos")]
[SupportedOSPlatform("maccatalyst")]
@@ -417,6 +423,7 @@ private void TryDisableFileSystemWatcher()
}
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[UnsupportedOSPlatform("ios")]
[UnsupportedOSPlatform("tvos")]
[SupportedOSPlatform("maccatalyst")]
diff --git a/src/libraries/Microsoft.Extensions.Hosting.Systemd/ref/Microsoft.Extensions.Hosting.Systemd.cs b/src/libraries/Microsoft.Extensions.Hosting.Systemd/ref/Microsoft.Extensions.Hosting.Systemd.cs
index 7d1462aba00056..acb55c93c8658f 100644
--- a/src/libraries/Microsoft.Extensions.Hosting.Systemd/ref/Microsoft.Extensions.Hosting.Systemd.cs
+++ b/src/libraries/Microsoft.Extensions.Hosting.Systemd/ref/Microsoft.Extensions.Hosting.Systemd.cs
@@ -34,6 +34,7 @@ public static partial class SystemdHelpers
}
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("android")]
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("browser")]
+ [System.Runtime.Versioning.UnsupportedOSPlatformAttribute("wasi")]
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("tvos")]
@@ -45,6 +46,7 @@ public void Dispose() { }
public System.Threading.Tasks.Task WaitForStartAsync(System.Threading.CancellationToken cancellationToken) { throw null; }
}
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("browser")]
+ [System.Runtime.Versioning.UnsupportedOSPlatformAttribute("wasi")]
public partial class SystemdNotifier : Microsoft.Extensions.Hosting.Systemd.ISystemdNotifier
{
public SystemdNotifier() { }
diff --git a/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/SystemdLifetime.cs b/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/SystemdLifetime.cs
index e1b196fb2a6f5d..b63f2bcccced8a 100644
--- a/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/SystemdLifetime.cs
+++ b/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/SystemdLifetime.cs
@@ -14,6 +14,7 @@ namespace Microsoft.Extensions.Hosting.Systemd
///
[UnsupportedOSPlatform("android")]
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[UnsupportedOSPlatform("ios")]
[UnsupportedOSPlatform("maccatalyst")]
[UnsupportedOSPlatform("tvos")]
diff --git a/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/SystemdNotifier.cs b/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/SystemdNotifier.cs
index bfde5fe73df6a5..19a279e1b4663b 100644
--- a/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/SystemdNotifier.cs
+++ b/src/libraries/Microsoft.Extensions.Hosting.Systemd/src/SystemdNotifier.cs
@@ -8,6 +8,7 @@
namespace Microsoft.Extensions.Hosting.Systemd
{
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
public class SystemdNotifier : ISystemdNotifier
{
private const string NOTIFY_SOCKET = "NOTIFY_SOCKET";
diff --git a/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj b/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj
index 2b4f8c334fd5a7..1bb3147d3a3bac 100644
--- a/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj
+++ b/src/libraries/Microsoft.Extensions.Http/src/Microsoft.Extensions.Http.csproj
@@ -8,6 +8,7 @@
Commonly Used Types:
System.Net.Http.IHttpClientFactory
+ wasi
diff --git a/src/libraries/Microsoft.NETCore.Platforms/tests/AssemblyInfo.cs b/src/libraries/Microsoft.NETCore.Platforms/tests/AssemblyInfo.cs
index f5a33895866d57..eb5229f0807afa 100644
--- a/src/libraries/Microsoft.NETCore.Platforms/tests/AssemblyInfo.cs
+++ b/src/libraries/Microsoft.NETCore.Platforms/tests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "MSBuild is not supported on Browser")]
\ No newline at end of file
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "MSBuild is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.CodeDom/Directory.Build.props b/src/libraries/System.CodeDom/Directory.Build.props
index 72712f3351c120..f67a0aa8ec2e4e 100644
--- a/src/libraries/System.CodeDom/Directory.Build.props
+++ b/src/libraries/System.CodeDom/Directory.Build.props
@@ -2,6 +2,6 @@
true
- browser;ios;tvos;maccatalyst
+ browser;wasi;ios;tvos;maccatalyst
-
\ No newline at end of file
+
diff --git a/src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs b/src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs
index a558073df75981..51c204b177814a 100644
--- a/src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs
+++ b/src/libraries/System.ComponentModel.TypeConverter/ref/System.ComponentModel.TypeConverter.cs
@@ -2361,6 +2361,7 @@ public partial class ExtendedProtectionPolicyTypeConverter : System.ComponentMod
public ExtendedProtectionPolicyTypeConverter() { }
public override bool CanConvertTo(System.ComponentModel.ITypeDescriptorContext? context, [System.Diagnostics.CodeAnalysis.NotNullWhen(true)] System.Type? destinationType) { throw null; }
[System.Runtime.Versioning.UnsupportedOSPlatformAttribute("browser")]
+ [System.Runtime.Versioning.UnsupportedOSPlatformAttribute("wasi")]
public override object? ConvertTo(System.ComponentModel.ITypeDescriptorContext? context, System.Globalization.CultureInfo? culture, object? value, System.Type destinationType) { throw null; }
}
}
diff --git a/src/libraries/System.ComponentModel.TypeConverter/src/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTypeConverter.cs b/src/libraries/System.ComponentModel.TypeConverter/src/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTypeConverter.cs
index c918ac07258d00..d14abe42d3be7e 100644
--- a/src/libraries/System.ComponentModel.TypeConverter/src/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTypeConverter.cs
+++ b/src/libraries/System.ComponentModel.TypeConverter/src/System/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTypeConverter.cs
@@ -19,6 +19,7 @@ public override bool CanConvertTo(ITypeDescriptorContext? context, [NotNullWhen(
}
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType)
{
if (destinationType == typeof(InstanceDescriptor))
diff --git a/src/libraries/System.ComponentModel.TypeConverter/tests/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTypeConverterTests.cs b/src/libraries/System.ComponentModel.TypeConverter/tests/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTypeConverterTests.cs
index 82676a7f3f6e89..46e7f11f5904ab 100644
--- a/src/libraries/System.ComponentModel.TypeConverter/tests/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTypeConverterTests.cs
+++ b/src/libraries/System.ComponentModel.TypeConverter/tests/Security/Authentication/ExtendedProtection/ExtendedProtectionPolicyTypeConverterTests.cs
@@ -30,14 +30,14 @@ public void CanConvertTo_PositiveTests()
}
[Fact]
- [SkipOnPlatform(TestPlatforms.Browser, "System.Net.Security is not supported on this platform.")]
+ [SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.Security is not supported on this platform.")]
public void ConvertTo_NullTypeTests()
{
Assert.Throws(() => converter.ConvertTo(null, CultureInfo.InvariantCulture, new ExtendedProtectionPolicy(PolicyEnforcement.Never), null));
}
[Fact]
- [SkipOnPlatform(TestPlatforms.Browser, "System.Net.Security is not supported on this platform.")]
+ [SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.Security is not supported on this platform.")]
public void ConvertTo_PositiveTests()
{
ExtendedProtectionPolicy policy = new ExtendedProtectionPolicy(PolicyEnforcement.Never);
@@ -57,7 +57,7 @@ public void ConvertTo_PositiveTests()
}
[Theory]
- [SkipOnPlatform(TestPlatforms.Browser, "System.Net.Security is not supported on this platform.")]
+ [SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.Security is not supported on this platform.")]
[InlineData(typeof(int))]
[InlineData(typeof(ExtendedProtectionPolicy))]
[InlineData(typeof(bool))]
diff --git a/src/libraries/System.Configuration.ConfigurationManager/Directory.Build.props b/src/libraries/System.Configuration.ConfigurationManager/Directory.Build.props
index c843a6347ce61c..d13e60dc1f0132 100644
--- a/src/libraries/System.Configuration.ConfigurationManager/Directory.Build.props
+++ b/src/libraries/System.Configuration.ConfigurationManager/Directory.Build.props
@@ -2,6 +2,6 @@
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Configuration.ConfigurationManager/tests/AssemblyInfo.cs b/src/libraries/System.Configuration.ConfigurationManager/tests/AssemblyInfo.cs
index 466b1c19ece27f..0f19f107894c67 100644
--- a/src/libraries/System.Configuration.ConfigurationManager/tests/AssemblyInfo.cs
+++ b/src/libraries/System.Configuration.ConfigurationManager/tests/AssemblyInfo.cs
@@ -6,4 +6,4 @@
[assembly: CollectionBehavior(DisableTestParallelization = true, MaxParallelThreads = 1)]
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Configuration.ConfigurationManager is not supported on Browser")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Configuration.ConfigurationManager is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.Data.Common/tests/System/Data/Common/DbProviderFactoriesTests.cs b/src/libraries/System.Data.Common/tests/System/Data/Common/DbProviderFactoriesTests.cs
index b758b3967c62ee..b367448275e60c 100644
--- a/src/libraries/System.Data.Common/tests/System/Data/Common/DbProviderFactoriesTests.cs
+++ b/src/libraries/System.Data.Common/tests/System/Data/Common/DbProviderFactoriesTests.cs
@@ -15,7 +15,7 @@ public sealed class TestProviderFactory : DbProviderFactory
private TestProviderFactory() { }
}
- [SkipOnPlatform(TestPlatforms.Browser, "Not supported on Browser.")]
+ [SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "Not supported on Browser/Wasi.")]
public class DbProviderFactoriesTests
{
[Fact]
diff --git a/src/libraries/System.Data.Common/tests/System/Data/Common/DbProviderFactoryTest.cs b/src/libraries/System.Data.Common/tests/System/Data/Common/DbProviderFactoryTest.cs
index 92f2cb69b0bfae..2486f74255f11a 100644
--- a/src/libraries/System.Data.Common/tests/System/Data/Common/DbProviderFactoryTest.cs
+++ b/src/libraries/System.Data.Common/tests/System/Data/Common/DbProviderFactoryTest.cs
@@ -6,7 +6,7 @@
namespace System.Data.Tests.Common
{
- [SkipOnPlatform(TestPlatforms.Browser, "Not supported on Browser.")]
+ [SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "Not supported on Browser/Wasi.")]
public class DbProviderFactoryTest
{
[Fact]
diff --git a/src/libraries/System.Data.Common/tests/System/Data/DataTableExtensionsTest.cs b/src/libraries/System.Data.Common/tests/System/Data/DataTableExtensionsTest.cs
index 9d73511e9b07a9..84f453abed5251 100644
--- a/src/libraries/System.Data.Common/tests/System/Data/DataTableExtensionsTest.cs
+++ b/src/libraries/System.Data.Common/tests/System/Data/DataTableExtensionsTest.cs
@@ -5,7 +5,7 @@
namespace System.Data.Tests
{
- [SkipOnPlatform(TestPlatforms.Browser, "Not supported on Browser.")]
+ [SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "Not supported on Browser/Wasi.")]
public class DataTableExtensionsTest
{
private DataTable _dt;
diff --git a/src/libraries/System.Data.Common/tests/System/Data/FacadeTest.cs b/src/libraries/System.Data.Common/tests/System/Data/FacadeTest.cs
index de9ce64a4c1ade..c9f07bce8cba5b 100644
--- a/src/libraries/System.Data.Common/tests/System/Data/FacadeTest.cs
+++ b/src/libraries/System.Data.Common/tests/System/Data/FacadeTest.cs
@@ -10,7 +10,7 @@ public class FacadeTest
[Theory]
[InlineData("Microsoft.SqlServer.Server.SqlMetaData")] // Type from System.Data.SqlClient
[InlineData("System.Data.SqlTypes.SqlBytes")] // Type from System.Data.Common
- [SkipOnPlatform(TestPlatforms.Browser, "Not supported on Browser.")]
+ [SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "Not supported on Browser/Wasi.")]
public void TestSystemData(string typeName)
{
// Verify that the type can be loaded via .NET Framework compat facade
diff --git a/src/libraries/System.Data.Odbc/Directory.Build.props b/src/libraries/System.Data.Odbc/Directory.Build.props
index c843a6347ce61c..d13e60dc1f0132 100644
--- a/src/libraries/System.Data.Odbc/Directory.Build.props
+++ b/src/libraries/System.Data.Odbc/Directory.Build.props
@@ -2,6 +2,6 @@
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Diagnostics.FileVersionInfo/Directory.Build.props b/src/libraries/System.Diagnostics.FileVersionInfo/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Diagnostics.FileVersionInfo/Directory.Build.props
+++ b/src/libraries/System.Diagnostics.FileVersionInfo/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/AssemblyInfo.cs b/src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/AssemblyInfo.cs
index d96dcc30ef2bbe..5505a2a6252488 100644
--- a/src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/AssemblyInfo.cs
+++ b/src/libraries/System.Diagnostics.FileVersionInfo/tests/System.Diagnostics.FileVersionInfo.Tests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Diagnostics.FileVersionInfo is not supported on Browser.")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Diagnostics.FileVersionInfo is not supported on Browser/Wasi.")]
diff --git a/src/libraries/System.Diagnostics.Process/Directory.Build.props b/src/libraries/System.Diagnostics.Process/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Diagnostics.Process/Directory.Build.props
+++ b/src/libraries/System.Diagnostics.Process/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Diagnostics.Process/tests/AssemblyInfo.cs b/src/libraries/System.Diagnostics.Process/tests/AssemblyInfo.cs
index 80471364814581..0cbf2a35d71a64 100644
--- a/src/libraries/System.Diagnostics.Process/tests/AssemblyInfo.cs
+++ b/src/libraries/System.Diagnostics.Process/tests/AssemblyInfo.cs
@@ -7,4 +7,4 @@
// like the console code page and environment variables
[assembly: CollectionBehavior(CollectionBehavior.CollectionPerAssembly)]
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Diagnostics.Process is not supported on Browser.")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Diagnostics.Process is not supported on Browser/Wasi.")]
diff --git a/src/libraries/System.Diagnostics.TextWriterTraceListener/src/System/Diagnostics/XmlWriterTraceListener.cs b/src/libraries/System.Diagnostics.TextWriterTraceListener/src/System/Diagnostics/XmlWriterTraceListener.cs
index a513b8aa86159c..8c31895345bcbb 100644
--- a/src/libraries/System.Diagnostics.TextWriterTraceListener/src/System/Diagnostics/XmlWriterTraceListener.cs
+++ b/src/libraries/System.Diagnostics.TextWriterTraceListener/src/System/Diagnostics/XmlWriterTraceListener.cs
@@ -250,7 +250,7 @@ private void WriteEndHeader()
string? processName = s_processName;
if (processName is null)
{
- if (OperatingSystem.IsBrowser()) // Process isn't supported on Browser
+ if (OperatingSystem.IsBrowser() || OperatingSystem.IsWasi()) // Process isn't supported on Browser, or Wasi
{
s_processName = processName = string.Empty;
}
diff --git a/src/libraries/System.DirectoryServices.Protocols/Directory.Build.props b/src/libraries/System.DirectoryServices.Protocols/Directory.Build.props
index 831e8089e2459c..056dba98ee771d 100644
--- a/src/libraries/System.DirectoryServices.Protocols/Directory.Build.props
+++ b/src/libraries/System.DirectoryServices.Protocols/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser;android;ios;tvos
+ browser;wasi;android;ios;tvos
diff --git a/src/libraries/System.Drawing.Common/tests/AssemblyInfo.cs b/src/libraries/System.Drawing.Common/tests/AssemblyInfo.cs
new file mode 100644
index 00000000000000..579b509faae2b3
--- /dev/null
+++ b/src/libraries/System.Drawing.Common/tests/AssemblyInfo.cs
@@ -0,0 +1,8 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System;
+using Xunit;
+
+[assembly: ActiveIssue("https://github.com/dotnet/runtime/issues/35917", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoInterpreter))]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Drawing.Common is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.Formats.Asn1/tests/Reader/ReadNamedBitList.cs b/src/libraries/System.Formats.Asn1/tests/Reader/ReadNamedBitList.cs
index fab9b17f28ab61..bed447a0865906 100644
--- a/src/libraries/System.Formats.Asn1/tests/Reader/ReadNamedBitList.cs
+++ b/src/libraries/System.Formats.Asn1/tests/Reader/ReadNamedBitList.cs
@@ -465,6 +465,7 @@ public static void ReadNamedBitList_BitArray_7993Bits(AsnEncodingRules ruleSet)
[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/37669", TestPlatforms.Browser)]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/82561", TestPlatforms.Wasi)]
[InlineData(AsnEncodingRules.BER)]
[InlineData(AsnEncodingRules.CER)]
[InlineData(AsnEncodingRules.DER)]
@@ -497,6 +498,7 @@ public static void VerifyReadNamedBitList_KeyUsage_OneByte(AsnEncodingRules rule
[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/37669", TestPlatforms.Browser)]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/82561", TestPlatforms.Wasi)]
[InlineData(AsnEncodingRules.BER)]
[InlineData(AsnEncodingRules.CER)]
[InlineData(AsnEncodingRules.DER)]
diff --git a/src/libraries/System.Formats.Asn1/tests/Writer/WriteNamedBitList.cs b/src/libraries/System.Formats.Asn1/tests/Writer/WriteNamedBitList.cs
index 5e0a9fbfb2b7c9..12fff663576c17 100644
--- a/src/libraries/System.Formats.Asn1/tests/Writer/WriteNamedBitList.cs
+++ b/src/libraries/System.Formats.Asn1/tests/Writer/WriteNamedBitList.cs
@@ -330,6 +330,7 @@ public static void VerifyWriteNamedBitList_BitArray_7993Bits(AsnEncodingRules ru
[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/37669", TestPlatforms.Browser)]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/82561", TestPlatforms.Wasi)]
[InlineData(AsnEncodingRules.BER)]
[InlineData(AsnEncodingRules.CER)]
[InlineData(AsnEncodingRules.DER)]
@@ -362,6 +363,7 @@ public static void VerifyWriteNamedBitList_KeyUsage_OneByte(AsnEncodingRules rul
[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/37669", TestPlatforms.Browser)]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/82561", TestPlatforms.Wasi)]
[InlineData(AsnEncodingRules.BER)]
[InlineData(AsnEncodingRules.CER)]
[InlineData(AsnEncodingRules.DER)]
diff --git a/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs b/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs
index f8ef68829cce37..8632361b562766 100644
--- a/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs
+++ b/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs
@@ -232,6 +232,7 @@ public static void ReadEncodedValue_InvalidConformance_ConformanceCheckDisabled_
[Theory]
[ActiveIssue("https://github.com/dotnet/runtime/issues/37669", TestPlatforms.Browser)]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/82561", TestPlatforms.Wasi)]
[InlineData("a501020326200121582065eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d2258201e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c",
"65eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d",
"1e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c",
diff --git a/src/libraries/System.IO.Compression.Brotli/Directory.Build.props b/src/libraries/System.IO.Compression.Brotli/Directory.Build.props
index f3f5769f936163..2a34f3542e3248 100644
--- a/src/libraries/System.IO.Compression.Brotli/Directory.Build.props
+++ b/src/libraries/System.IO.Compression.Brotli/Directory.Build.props
@@ -3,6 +3,6 @@
ECMA
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.IO.Compression.Brotli/tests/AssemblyInfo.cs b/src/libraries/System.IO.Compression.Brotli/tests/AssemblyInfo.cs
index 7f8b8095c28136..33ce844b6f1640 100644
--- a/src/libraries/System.IO.Compression.Brotli/tests/AssemblyInfo.cs
+++ b/src/libraries/System.IO.Compression.Brotli/tests/AssemblyInfo.cs
@@ -4,4 +4,4 @@
using System;
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.IO.Compression.Brotli is not supported on Browser")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.IO.Compression.Brotli is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.IO.FileSystem.Watcher/Directory.Build.props b/src/libraries/System.IO.FileSystem.Watcher/Directory.Build.props
index c581a9ef9e5a84..f5d6e28adaad44 100644
--- a/src/libraries/System.IO.FileSystem.Watcher/Directory.Build.props
+++ b/src/libraries/System.IO.FileSystem.Watcher/Directory.Build.props
@@ -3,7 +3,7 @@
Microsoft
true
- browser;ios;tvos
+ browser;wasi;ios;tvos
maccatalyst
-
\ No newline at end of file
+
diff --git a/src/libraries/System.IO.FileSystem.Watcher/src/System.IO.FileSystem.Watcher.csproj b/src/libraries/System.IO.FileSystem.Watcher/src/System.IO.FileSystem.Watcher.csproj
index f865fd51da017d..fb2ca655318ea6 100644
--- a/src/libraries/System.IO.FileSystem.Watcher/src/System.IO.FileSystem.Watcher.csproj
+++ b/src/libraries/System.IO.FileSystem.Watcher/src/System.IO.FileSystem.Watcher.csproj
@@ -2,6 +2,7 @@
true
$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-linux;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-maccatalyst;$(NetCoreAppCurrent)-freebsd;$(NetCoreAppCurrent)
+ wasi
diff --git a/src/libraries/System.IO.FileSystem.Watcher/tests/AssemblyInfo.cs b/src/libraries/System.IO.FileSystem.Watcher/tests/AssemblyInfo.cs
index d3aede3cb97cf6..db13d74c5ac43a 100644
--- a/src/libraries/System.IO.FileSystem.Watcher/tests/AssemblyInfo.cs
+++ b/src/libraries/System.IO.FileSystem.Watcher/tests/AssemblyInfo.cs
@@ -4,4 +4,4 @@
using System;
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi | TestPlatforms.iOS | TestPlatforms.tvOS, "System.IO.FileSystem.Watcher is not supported on Browser/iOS/tvOS")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi | TestPlatforms.iOS | TestPlatforms.tvOS, "System.IO.FileSystem.Watcher is not supported on Browser/Wasi/iOS/tvOS")]
diff --git a/src/libraries/System.IO.IsolatedStorage/Directory.Build.props b/src/libraries/System.IO.IsolatedStorage/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.IO.IsolatedStorage/Directory.Build.props
+++ b/src/libraries/System.IO.IsolatedStorage/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.IO.IsolatedStorage/tests/AssemblyInfo.cs b/src/libraries/System.IO.IsolatedStorage/tests/AssemblyInfo.cs
index bd236b298bce91..21477a207d2a96 100644
--- a/src/libraries/System.IO.IsolatedStorage/tests/AssemblyInfo.cs
+++ b/src/libraries/System.IO.IsolatedStorage/tests/AssemblyInfo.cs
@@ -8,4 +8,4 @@
// create unique identities for every test to allow every test to have
// it's own store.
[assembly: CollectionBehavior(CollectionBehavior.CollectionPerAssembly, DisableTestParallelization = true)]
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.IO.IsolatedStorage is not supported on Browser")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.IO.IsolatedStorage is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.IO.Pipes/Directory.Build.props b/src/libraries/System.IO.Pipes/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.IO.Pipes/Directory.Build.props
+++ b/src/libraries/System.IO.Pipes/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.IO.Pipes/tests/AssemblyInfo.cs b/src/libraries/System.IO.Pipes/tests/AssemblyInfo.cs
index 8106929fe18971..3e4394148299d7 100644
--- a/src/libraries/System.IO.Pipes/tests/AssemblyInfo.cs
+++ b/src/libraries/System.IO.Pipes/tests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.IO.Pipes is not supported on Browser")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.IO.Pipes is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.IO.Ports/Directory.Build.props b/src/libraries/System.IO.Ports/Directory.Build.props
index 42ef4884cef5d3..a93b4c306837b5 100644
--- a/src/libraries/System.IO.Ports/Directory.Build.props
+++ b/src/libraries/System.IO.Ports/Directory.Build.props
@@ -2,6 +2,6 @@
true
- browser;android;ios;tvos
+ browser;wasi;android;ios;tvos
diff --git a/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj b/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj
index 34f94be7e01092..aa3d4a4764a30d 100644
--- a/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj
+++ b/src/libraries/System.Net.Http.Json/src/System.Net.Http.Json.csproj
@@ -8,6 +8,7 @@ Commonly Used Types:
System.Net.Http.Json.HttpClientJsonExtensions
System.Net.Http.Json.HttpContentJsonExtensions
System.Net.Http.Json.JsonContent
+ wasi
diff --git a/src/libraries/System.Net.Http/Directory.Build.props b/src/libraries/System.Net.Http/Directory.Build.props
index d68d22c1b917f8..84c3682e1d6de0 100644
--- a/src/libraries/System.Net.Http/Directory.Build.props
+++ b/src/libraries/System.Net.Http/Directory.Build.props
@@ -3,5 +3,6 @@
Microsoft
true
+ wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Net.Http/src/System.Net.Http.csproj b/src/libraries/System.Net.Http/src/System.Net.Http.csproj
index d16acb0e77196b..497bb2bc849268 100644
--- a/src/libraries/System.Net.Http/src/System.Net.Http.csproj
+++ b/src/libraries/System.Net.Http/src/System.Net.Http.csproj
@@ -1,6 +1,6 @@
- $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-linux;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-freebsd;$(NetCoreAppCurrent)-maccatalyst;$(NetCoreAppCurrent)-ios;$(NetCoreAppCurrent)-tvos;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-wasi;$(NetCoreAppCurrent)-illumos;$(NetCoreAppCurrent)-solaris;$(NetCoreAppCurrent)-android;$(NetCoreAppCurrent)
+ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-linux;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-freebsd;$(NetCoreAppCurrent)-maccatalyst;$(NetCoreAppCurrent)-ios;$(NetCoreAppCurrent)-tvos;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-illumos;$(NetCoreAppCurrent)-solaris;$(NetCoreAppCurrent)-android;$(NetCoreAppCurrent)
true
$(DefineConstants);HTTP_DLL
true
@@ -19,10 +19,11 @@
$(DefineConstants);TARGET_WASI
-
+
+
-
-
+
+
diff --git a/src/libraries/System.Net.HttpListener/Directory.Build.props b/src/libraries/System.Net.HttpListener/Directory.Build.props
index c843a6347ce61c..d13e60dc1f0132 100644
--- a/src/libraries/System.Net.HttpListener/Directory.Build.props
+++ b/src/libraries/System.Net.HttpListener/Directory.Build.props
@@ -2,6 +2,6 @@
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Net.HttpListener/tests/AssemblyInfo.cs b/src/libraries/System.Net.HttpListener/tests/AssemblyInfo.cs
index 2c4b07bdf7aa87..c498de418897b9 100644
--- a/src/libraries/System.Net.HttpListener/tests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.HttpListener/tests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.HttpListener is not supported on Browser")]
\ No newline at end of file
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.HttpListener is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.Net.NameResolution/Directory.Build.props b/src/libraries/System.Net.NameResolution/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Net.NameResolution/Directory.Build.props
+++ b/src/libraries/System.Net.NameResolution/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Net.NameResolution/tests/FunctionalTests/AssemblyInfo.cs b/src/libraries/System.Net.NameResolution/tests/FunctionalTests/AssemblyInfo.cs
index c057237191b8a9..ba31644bb4f72e 100644
--- a/src/libraries/System.Net.NameResolution/tests/FunctionalTests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.NameResolution/tests/FunctionalTests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.NameResolution is not supported on Browser.")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.NameResolution is not supported on Browser/Wasi.")]
diff --git a/src/libraries/System.Net.NameResolution/tests/PalTests/AssemblyInfo.cs b/src/libraries/System.Net.NameResolution/tests/PalTests/AssemblyInfo.cs
index c057237191b8a9..ba31644bb4f72e 100644
--- a/src/libraries/System.Net.NameResolution/tests/PalTests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.NameResolution/tests/PalTests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.NameResolution is not supported on Browser.")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.NameResolution is not supported on Browser/Wasi.")]
diff --git a/src/libraries/System.Net.NetworkInformation/Directory.Build.props b/src/libraries/System.Net.NetworkInformation/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Net.NetworkInformation/Directory.Build.props
+++ b/src/libraries/System.Net.NetworkInformation/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Net.NetworkInformation/tests/FunctionalTests/AssemblyInfo.cs b/src/libraries/System.Net.NetworkInformation/tests/FunctionalTests/AssemblyInfo.cs
index 94698a9536f2f9..1d1ab22a0496f7 100644
--- a/src/libraries/System.Net.NetworkInformation/tests/FunctionalTests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.NetworkInformation/tests/FunctionalTests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.NetworkInformation is not supported on Browser")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.NetworkInformation is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.Net.Ping/Directory.Build.props b/src/libraries/System.Net.Ping/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Net.Ping/Directory.Build.props
+++ b/src/libraries/System.Net.Ping/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Net.Ping/tests/FunctionalTests/AssemblyInfo.cs b/src/libraries/System.Net.Ping/tests/FunctionalTests/AssemblyInfo.cs
index da717221f60416..59692d0211e220 100644
--- a/src/libraries/System.Net.Ping/tests/FunctionalTests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.Ping/tests/FunctionalTests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.Ping is not supported on Browser")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.Ping is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.Net.Requests/Directory.Build.props b/src/libraries/System.Net.Requests/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Net.Requests/Directory.Build.props
+++ b/src/libraries/System.Net.Requests/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Net.Requests/tests/AssemblyInfo.cs b/src/libraries/System.Net.Requests/tests/AssemblyInfo.cs
index ef5fa4660024d7..83ea7dc56e8e2e 100644
--- a/src/libraries/System.Net.Requests/tests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.Requests/tests/AssemblyInfo.cs
@@ -4,4 +4,4 @@
using System;
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.Requests is not supported on Browser.")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.Requests is not supported on Browser/Wasi.")]
diff --git a/src/libraries/System.Net.Requests/tests/System.Net.Requests.Tests.csproj b/src/libraries/System.Net.Requests/tests/System.Net.Requests.Tests.csproj
index 1a2818addac82b..cec704c5ffdcc0 100644
--- a/src/libraries/System.Net.Requests/tests/System.Net.Requests.Tests.csproj
+++ b/src/libraries/System.Net.Requests/tests/System.Net.Requests.Tests.csproj
@@ -4,7 +4,7 @@
true
$(NetCoreAppCurrent)
$(DefineConstants);NETSTANDARD
- true
+ true
$(NoWarn);SYSLIB0014
true
diff --git a/src/libraries/System.Net.Security/Directory.Build.props b/src/libraries/System.Net.Security/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Net.Security/Directory.Build.props
+++ b/src/libraries/System.Net.Security/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Net.Security/tests/FunctionalTests/AssemblyInfo.cs b/src/libraries/System.Net.Security/tests/FunctionalTests/AssemblyInfo.cs
index b80edd16806be5..eda129c0b29d0d 100644
--- a/src/libraries/System.Net.Security/tests/FunctionalTests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.Security/tests/FunctionalTests/AssemblyInfo.cs
@@ -4,4 +4,4 @@
using System;
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.Security is not supported on Browser")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.Security is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.Net.Security/tests/UnitTests/AssemblyInfo.cs b/src/libraries/System.Net.Security/tests/UnitTests/AssemblyInfo.cs
index ea25dc5f7ade53..082cfaad2ece83 100644
--- a/src/libraries/System.Net.Security/tests/UnitTests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.Security/tests/UnitTests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.Security is not supported on Browser")]
\ No newline at end of file
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.Security is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.Net.ServicePoint/ref/System.Net.ServicePoint.cs b/src/libraries/System.Net.ServicePoint/ref/System.Net.ServicePoint.cs
index a8282e9d3cc246..c9809f25e7a8b5 100644
--- a/src/libraries/System.Net.ServicePoint/ref/System.Net.ServicePoint.cs
+++ b/src/libraries/System.Net.ServicePoint/ref/System.Net.ServicePoint.cs
@@ -49,6 +49,7 @@ internal ServicePointManager() { }
public static int DnsRefreshTimeout { get { throw null; } set { } }
public static bool EnableDnsRoundRobin { get { throw null; } set { } }
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
+ [System.Runtime.Versioning.UnsupportedOSPlatform("wasi")]
public static System.Net.Security.EncryptionPolicy EncryptionPolicy { get { throw null; } }
public static bool Expect100Continue { get { throw null; } set { } }
public static int MaxServicePointIdleTime { get { throw null; } set { } }
diff --git a/src/libraries/System.Net.ServicePoint/src/System/Net/ServicePointManager.cs b/src/libraries/System.Net.ServicePoint/src/System/Net/ServicePointManager.cs
index fc25568015f92a..8ec35a5d413e23 100644
--- a/src/libraries/System.Net.ServicePoint/src/System/Net/ServicePointManager.cs
+++ b/src/libraries/System.Net.ServicePoint/src/System/Net/ServicePointManager.cs
@@ -95,6 +95,7 @@ public static int DnsRefreshTimeout
public static bool CheckCertificateRevocationList { get; set; }
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
public static EncryptionPolicy EncryptionPolicy { get; } = EncryptionPolicy.RequireEncryption;
[Obsolete(Obsoletions.WebRequestMessage, DiagnosticId = Obsoletions.WebRequestDiagId, UrlFormat = Obsoletions.SharedUrlFormat)]
diff --git a/src/libraries/System.Net.Sockets/Directory.Build.props b/src/libraries/System.Net.Sockets/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Net.Sockets/Directory.Build.props
+++ b/src/libraries/System.Net.Sockets/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Net.Sockets/tests/FunctionalTests/AssemblyInfo.cs b/src/libraries/System.Net.Sockets/tests/FunctionalTests/AssemblyInfo.cs
index 09a34bb9c412c3..a7d4bc928bd7f8 100644
--- a/src/libraries/System.Net.Sockets/tests/FunctionalTests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.Sockets/tests/FunctionalTests/AssemblyInfo.cs
@@ -4,4 +4,4 @@
using Xunit;
[assembly: SkipOnCoreClr("System.Net.Tests are flaky and/or long running: https://github.com/dotnet/runtime/issues/131", ~RuntimeConfiguration.Release)]
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.Sockets is not supported on Browser")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.Sockets is not supported on Browser/Wasi")]
diff --git a/src/libraries/System.Net.WebClient/Directory.Build.props b/src/libraries/System.Net.WebClient/Directory.Build.props
index c843a6347ce61c..d13e60dc1f0132 100644
--- a/src/libraries/System.Net.WebClient/Directory.Build.props
+++ b/src/libraries/System.Net.WebClient/Directory.Build.props
@@ -2,6 +2,6 @@
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Net.WebClient/tests/AssemblyInfo.cs b/src/libraries/System.Net.WebClient/tests/AssemblyInfo.cs
index 3b64820724cc76..cd256db5e062de 100644
--- a/src/libraries/System.Net.WebClient/tests/AssemblyInfo.cs
+++ b/src/libraries/System.Net.WebClient/tests/AssemblyInfo.cs
@@ -3,4 +3,4 @@
using Xunit;
-[assembly: SkipOnPlatform(TestPlatforms.Browser, "System.Net.WebClient is not recommended for new development and not supported on Browser")]
+[assembly: SkipOnPlatform(TestPlatforms.Browser | TestPlatforms.Wasi, "System.Net.WebClient is not recommended for new development and not supported on Browser/Wasi")]
diff --git a/src/libraries/System.Net.WebProxy/src/System.Net.WebProxy.csproj b/src/libraries/System.Net.WebProxy/src/System.Net.WebProxy.csproj
index 9becff3118f39b..0723da2da3ba3c 100644
--- a/src/libraries/System.Net.WebProxy/src/System.Net.WebProxy.csproj
+++ b/src/libraries/System.Net.WebProxy/src/System.Net.WebProxy.csproj
@@ -2,6 +2,7 @@
true
$(NetCoreAppCurrent);$(NetCoreAppCurrent)-browser
+ wasi
diff --git a/src/libraries/System.Net.WebSockets.Client/Directory.Build.props b/src/libraries/System.Net.WebSockets.Client/Directory.Build.props
index d68d22c1b917f8..84c3682e1d6de0 100644
--- a/src/libraries/System.Net.WebSockets.Client/Directory.Build.props
+++ b/src/libraries/System.Net.WebSockets.Client/Directory.Build.props
@@ -3,5 +3,6 @@
Microsoft
true
+ wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Private.CoreLib/src/System/IO/Directory.Unix.cs b/src/libraries/System.Private.CoreLib/src/System/IO/Directory.Unix.cs
index 26116cd19e4f78..e5a5ceec27c8e6 100644
--- a/src/libraries/System.Private.CoreLib/src/System/IO/Directory.Unix.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/IO/Directory.Unix.cs
@@ -26,6 +26,9 @@ private static DirectoryInfo CreateDirectoryCore(string path, UnixFileMode unixC
private static unsafe string CreateTempSubdirectoryCore(string? prefix)
{
+ if (OperatingSystem.IsWasi())
+ throw new PlatformNotSupportedException();
+
// mkdtemp takes a char* and overwrites the XXXXXX with six characters
// that'll result in a unique directory name.
string tempPath = Path.GetTempPath();
diff --git a/src/libraries/System.Private.CoreLib/src/System/IO/Path.Unix.cs b/src/libraries/System.Private.CoreLib/src/System/IO/Path.Unix.cs
index e7b21263a8be1f..6b28ceccb51efc 100644
--- a/src/libraries/System.Private.CoreLib/src/System/IO/Path.Unix.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/IO/Path.Unix.cs
@@ -94,6 +94,9 @@ public static string GetTempPath()
public static unsafe string GetTempFileName()
{
+ if (OperatingSystem.IsWasi())
+ throw new PlatformNotSupportedException();
+
const int SuffixByteLength = 4; // ".tmp"
ReadOnlySpan fileTemplate = "tmpXXXXXX.tmp"u8;
diff --git a/src/libraries/System.Private.Xml/src/System/Xml/XmlDownloadManagerAsync.cs b/src/libraries/System.Private.Xml/src/System/Xml/XmlDownloadManagerAsync.cs
index c2d774d0f40067..ef702ac4859ce6 100644
--- a/src/libraries/System.Private.Xml/src/System/Xml/XmlDownloadManagerAsync.cs
+++ b/src/libraries/System.Private.Xml/src/System/Xml/XmlDownloadManagerAsync.cs
@@ -26,6 +26,9 @@ internal static Task GetStreamAsync(Uri uri, ICredentials? credentials,
private static async Task GetNonFileStreamAsync(Uri uri, ICredentials? credentials, IWebProxy? proxy)
{
+ if (OperatingSystem.IsWasi())
+ throw new XmlException(SR.Xml_UnsupportedClass, string.Empty);
+
var handler = new HttpClientHandler();
using (var client = new HttpClient(handler))
{
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/CachingSectionGroup.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/CachingSectionGroup.cs
index 327dd53ba40735..e200dd6ee35625 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/CachingSectionGroup.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/CachingSectionGroup.cs
@@ -9,6 +9,7 @@ namespace System.Runtime.Caching.Configuration
{
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
#endif
internal sealed class CachingSectionGroup : ConfigurationSectionGroup
{
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheElement.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheElement.cs
index 9fcfd59126aa40..b3fe7332ad33a2 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheElement.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheElement.cs
@@ -10,6 +10,7 @@ namespace System.Runtime.Caching.Configuration
{
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
#endif
internal sealed class MemoryCacheElement : ConfigurationElement
{
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheSection.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheSection.cs
index 05e0387374ec8d..54983c2c224d8a 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheSection.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheSection.cs
@@ -23,6 +23,7 @@ namespace System.Runtime.Caching.Configuration
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
#endif
internal sealed class MemoryCacheSection : ConfigurationSection
{
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheSettingsCollection.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheSettingsCollection.cs
index e3c1a5bd3eb1da..7242350e3368db 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheSettingsCollection.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Configuration/MemoryCacheSettingsCollection.cs
@@ -9,6 +9,7 @@ namespace System.Runtime.Caching.Configuration
{
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
#endif
[ConfigurationCollection(typeof(MemoryCacheElement),
CollectionType = ConfigurationElementCollectionType.AddRemoveClearMap)]
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Counters.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Counters.cs
index 8d3f7237d27afa..539aa9d7d606ae 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Counters.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/Counters.cs
@@ -11,6 +11,7 @@ namespace System.Runtime.Caching
{
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
#endif
internal sealed class Counters : EventSource
{
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/FileChangeNotificationSystem.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/FileChangeNotificationSystem.cs
index 22595a4bd5845a..bd69cb824f86ba 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/FileChangeNotificationSystem.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/FileChangeNotificationSystem.cs
@@ -13,6 +13,7 @@ namespace System.Runtime.Caching
{
#if NETCOREAPP
[UnsupportedOSPlatform("browser")]
+ [UnsupportedOSPlatform("wasi")]
[UnsupportedOSPlatform("ios")]
[UnsupportedOSPlatform("tvos")]
[SupportedOSPlatform("maccatalyst")]
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/HostFileChangeMonitor.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/HostFileChangeMonitor.cs
index 85730638cd743e..0fc80878ed3b94 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/HostFileChangeMonitor.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/HostFileChangeMonitor.cs
@@ -99,7 +99,7 @@ private static void InitFCN()
if (fcn == null)
{
#if NETCOREAPP
- if (OperatingSystem.IsBrowser() || (OperatingSystem.IsIOS() && !OperatingSystem.IsMacCatalyst()) || OperatingSystem.IsTvOS())
+ if (OperatingSystem.IsBrowser() || OperatingSystem.IsWasi() || (OperatingSystem.IsIOS() && !OperatingSystem.IsMacCatalyst()) || OperatingSystem.IsTvOS())
{
throw new PlatformNotSupportedException();
}
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCache.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCache.cs
index e740eed69ed514..68b7d177698aec 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCache.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCache.cs
@@ -42,7 +42,8 @@ public class MemoryCache : ObjectCache, IEnumerable, IDisposable
private UnhandledExceptionEventHandler _onUnhandledException;
#if NETCOREAPP
[UnsupportedOSPlatformGuard("browser")]
- private static bool _countersSupported => !OperatingSystem.IsBrowser();
+ [UnsupportedOSPlatformGuard("wasi")]
+ private static bool _countersSupported => !OperatingSystem.IsBrowser() && !OperatingSystem.IsWasi();
#else
private static bool _countersSupported => true;
#endif
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCacheStatistics.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCacheStatistics.cs
index 96cfc3bda655bd..3017a3ba4f977f 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCacheStatistics.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCacheStatistics.cs
@@ -39,7 +39,8 @@ internal sealed class MemoryCacheStatistics : IDisposable
private readonly PhysicalMemoryMonitor _physicalMemoryMonitor;
#if NETCOREAPP
[UnsupportedOSPlatformGuard("browser")]
- private static bool _configSupported => !OperatingSystem.IsBrowser();
+ [UnsupportedOSPlatformGuard("wasi")]
+ private static bool _configSupported => !OperatingSystem.IsBrowser() && !OperatingSystem.IsWasi();
#else
private static bool _configSupported => true;
#endif
diff --git a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCacheStore.cs b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCacheStore.cs
index 343f3beb4a8456..254c62d8107a61 100644
--- a/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCacheStore.cs
+++ b/src/libraries/System.Runtime.Caching/src/System/Runtime/Caching/MemoryCacheStore.cs
@@ -28,7 +28,8 @@ internal sealed class MemoryCacheStore : IDisposable
private readonly Counters _perfCounters;
#if NETCOREAPP
[UnsupportedOSPlatformGuard("browser")]
- private static bool _countersSupported => !OperatingSystem.IsBrowser();
+ [UnsupportedOSPlatformGuard("wasi")]
+ private static bool _countersSupported => !OperatingSystem.IsBrowser() && !OperatingSystem.IsWasi();
#else
private static bool _countersSupported => true;
#endif
diff --git a/src/libraries/System.Runtime.Serialization.Schema/Directory.Build.props b/src/libraries/System.Runtime.Serialization.Schema/Directory.Build.props
index e7d357018da7bf..7d407028f6632b 100644
--- a/src/libraries/System.Runtime.Serialization.Schema/Directory.Build.props
+++ b/src/libraries/System.Runtime.Serialization.Schema/Directory.Build.props
@@ -4,6 +4,6 @@
Microsoft
true
- browser;ios;tvos;maccatalyst
+ browser;wasi;ios;tvos;maccatalyst
diff --git a/src/libraries/System.Security.Cryptography.Cose/Directory.Build.props b/src/libraries/System.Security.Cryptography.Cose/Directory.Build.props
index c4db04cc6c252f..d13e60dc1f0132 100644
--- a/src/libraries/System.Security.Cryptography.Cose/Directory.Build.props
+++ b/src/libraries/System.Security.Cryptography.Cose/Directory.Build.props
@@ -2,6 +2,6 @@
true
- browser
+ browser;wasi
diff --git a/src/libraries/System.Security.Cryptography.Csp/Directory.Build.props b/src/libraries/System.Security.Cryptography.Csp/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Security.Cryptography.Csp/Directory.Build.props
+++ b/src/libraries/System.Security.Cryptography.Csp/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Security.Cryptography.Encoding/Directory.Build.props b/src/libraries/System.Security.Cryptography.Encoding/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Security.Cryptography.Encoding/Directory.Build.props
+++ b/src/libraries/System.Security.Cryptography.Encoding/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Security.Cryptography.OpenSsl/Directory.Build.props b/src/libraries/System.Security.Cryptography.OpenSsl/Directory.Build.props
index 1e1390709dcc5b..4342451c25a834 100644
--- a/src/libraries/System.Security.Cryptography.OpenSsl/Directory.Build.props
+++ b/src/libraries/System.Security.Cryptography.OpenSsl/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- windows;browser;android;ios;tvos
+ windows;browser;wasi;android;ios;tvos
diff --git a/src/libraries/System.Security.Cryptography.Pkcs/Directory.Build.props b/src/libraries/System.Security.Cryptography.Pkcs/Directory.Build.props
index 1f799d605feb93..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Security.Cryptography.Pkcs/Directory.Build.props
+++ b/src/libraries/System.Security.Cryptography.Pkcs/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/Directory.Build.props b/src/libraries/System.Security.Cryptography.X509Certificates/Directory.Build.props
index ce244cbea56199..e3cd1bcddea8ee 100644
--- a/src/libraries/System.Security.Cryptography.X509Certificates/Directory.Build.props
+++ b/src/libraries/System.Security.Cryptography.X509Certificates/Directory.Build.props
@@ -3,6 +3,6 @@
Microsoft
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Security.Cryptography.Xml/Directory.Build.props b/src/libraries/System.Security.Cryptography.Xml/Directory.Build.props
index c843a6347ce61c..d13e60dc1f0132 100644
--- a/src/libraries/System.Security.Cryptography.Xml/Directory.Build.props
+++ b/src/libraries/System.Security.Cryptography.Xml/Directory.Build.props
@@ -2,6 +2,6 @@
true
- browser
+ browser;wasi
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Security.Cryptography/src/System.Security.Cryptography.csproj b/src/libraries/System.Security.Cryptography/src/System.Security.Cryptography.csproj
index 197dba5072bf5d..2f4766f3a79b53 100644
--- a/src/libraries/System.Security.Cryptography/src/System.Security.Cryptography.csproj
+++ b/src/libraries/System.Security.Cryptography/src/System.Security.Cryptography.csproj
@@ -2,7 +2,7 @@
true
$(DefineConstants);INTERNAL_ASYMMETRIC_IMPLEMENTATIONS
- $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-android;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-ios;$(NetCoreAppCurrent)-tvos;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)
+ $(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-android;$(NetCoreAppCurrent)-osx;$(NetCoreAppCurrent)-ios;$(NetCoreAppCurrent)-tvos;$(NetCoreAppCurrent)-browser;$(NetCoreAppCurrent)-wasi;$(NetCoreAppCurrent)
$(NoWarn);CA5350;CA5351;CA5379;CA5384;SYSLIB0026
$(NoWarn);CS0809
@@ -553,7 +553,7 @@
System\Security\Cryptography\X509Certificates\Asn1\PolicyInformationAsn.xml
-
+
@@ -1863,7 +1863,7 @@
-
+
diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj
index ec83814b18d8ef..308e279589b4ea 100644
--- a/src/libraries/tests.proj
+++ b/src/libraries/tests.proj
@@ -341,11 +341,23 @@
https://github.com/mono/mono/issues/16417 -->
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
@@ -398,6 +410,12 @@
+
+
+
+
+
+
diff --git a/src/native/libs/System.Native/pal_io.c b/src/native/libs/System.Native/pal_io.c
index 7551b426d0b844..975b0eb5a3e489 100644
--- a/src/native/libs/System.Native/pal_io.c
+++ b/src/native/libs/System.Native/pal_io.c
@@ -892,10 +892,11 @@ intptr_t SystemNative_MksTemps(char* pathTemplate, int32_t suffixLength)
#elif TARGET_WASI
assert_msg(false, "Not supported on WASI", 0);
result = -1;
+ errno = ENOTSUP;
#else
#error "Cannot find mkstemps nor mkstemp on this platform"
#endif
- return result;
+ return result;
}
static int32_t ConvertMMapProtection(int32_t protection)