diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index cab6a4e4f71974..79e1ddb51f8f4e 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -178,5 +178,9 @@
https://github.com/dotnet/xharness
19aa97963aa11b4818f3e3487b913244efa4ff0f
+
+ https://github.com/dotnet/xharness
+ 19aa97963aa11b4818f3e3487b913244efa4ff0f
+
diff --git a/eng/Versions.props b/eng/Versions.props
index 18bb16cf5906a6..9de793e6ebf398 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -106,6 +106,7 @@
16.7.0-release-20200612-02
1.0.0-prerelease.20322.1
+ 1.0.0-prerelease.20322.1
2.4.1
2.4.2
1.3.0
diff --git a/eng/pipelines/common/global-build-job.yml b/eng/pipelines/common/global-build-job.yml
index b5b8b47b66fb60..d55570b29400fb 100644
--- a/eng/pipelines/common/global-build-job.yml
+++ b/eng/pipelines/common/global-build-job.yml
@@ -12,6 +12,8 @@ parameters:
pool: ''
condition: true
isOfficialBuild: false
+ runtimeFlavor: 'coreclr'
+ helixQueues: ''
extraStepsTemplate: ''
extraStepsParameters: {}
@@ -81,6 +83,8 @@ jobs:
osSubgroup: ${{ parameters.osSubgroup }}
archType: ${{ parameters.archType }}
buildConfig: ${{ parameters.buildConfig }}
+ runtimeFlavor: ${{ parameters.runtimeFlavor }}
+ helixQueues: ${{ parameters.helixQueues }}
${{ insert }}: ${{ parameters.extraStepsParameters }}
- task: PublishBuildArtifacts@1
diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml
index f33f413f457eef..e3200bd3f2a0e7 100644
--- a/eng/pipelines/libraries/build-job.yml
+++ b/eng/pipelines/libraries/build-job.yml
@@ -174,14 +174,11 @@ jobs:
- ${{ if eq(parameters.runTests, true) }}:
- template: /eng/pipelines/libraries/helix.yml
parameters:
- targetOS: ${{ parameters.osGroup }}
- archGroup: ${{ parameters.archType }}
- configuration: ${{ parameters.buildConfig }}
- helixQueues: ${{ join('+', parameters.helixQueues) }}
- msbuildScript: $(_msbuildCommand)
- framework: ${{ parameters.framework }}
+ osGroup: ${{ parameters.osGroup }}
+ archType: ${{ parameters.archType }}
+ buildConfig: ${{ parameters.buildConfig }}
+ helixQueues: ${{ parameters.helixQueues }}
testScope: ${{ parameters.testScope }}
creator: dotnet-bot
- helixToken: ''
testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix)
extraHelixArguments: $(_extraHelixArguments)
diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml
index 3e10708044e2bd..d0aeedc29bd324 100644
--- a/eng/pipelines/libraries/helix-queues-setup.yml
+++ b/eng/pipelines/libraries/helix-queues-setup.yml
@@ -144,4 +144,8 @@ jobs:
- ${{ if eq(parameters.platform, 'Windows_NT_arm64') }}:
- Windows.10.Arm64.Open
+ # WebAssembly
+ - ${{ if eq(parameters.platform, 'Browser_wasm') }}:
+ - Ubuntu.2004.Amd64.Open
+
${{ insert }}: ${{ parameters.jobParameters }}
diff --git a/eng/pipelines/libraries/helix.yml b/eng/pipelines/libraries/helix.yml
index af5bdeab9e7106..c0c5873d297d60 100644
--- a/eng/pipelines/libraries/helix.yml
+++ b/eng/pipelines/libraries/helix.yml
@@ -1,12 +1,10 @@
parameters:
runtimeFlavor: ''
- archGroup: ''
- configuration: ''
+ archType: ''
+ buildConfig: ''
creator: ''
- framework: ''
helixQueues: ''
- msbuildScript: ''
- targetOS: ''
+ osGroup: ''
testRunNamePrefixSuffix: ''
testScope: 'innerloop' # innerloop | outerloop | all
interpreter: ''
@@ -15,12 +13,12 @@ parameters:
scenarios: ''
steps:
- - script: ${{ parameters.msbuildScript }}
+ - script: $(_msbuildCommand)
$(Build.SourcesDirectory)/src/libraries/sendtohelix.proj
/p:RuntimeFlavor=${{ parameters.runtimeFlavor }}
- /p:TargetArchitecture=${{ parameters.archGroup }}
- /p:Configuration=${{ parameters.configuration }}
- /p:TargetOS=${{ parameters.targetOS }}
+ /p:TargetArchitecture=${{ parameters.archType }}
+ /p:Configuration=${{ parameters.buildConfig }}
+ /p:TargetOS=${{ parameters.osGroup }}
/p:MonoEnableInterpreter=${{ parameters.interpreter }}
/p:TestScope=${{ parameters.testScope }}
/p:TestRunNamePrefixSuffix=${{ parameters.testRunNamePrefixSuffix }}
@@ -32,5 +30,5 @@ steps:
condition: and(succeeded(), ${{ parameters.condition }})
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken) # We need to set this env var to publish helix results to Azure Dev Ops
- HelixTargetQueues: ${{ parameters.helixQueues }} # Pass queues to MSBuild as env var to avoid need of escaping them
+ HelixTargetQueues: ${{ join('+', parameters.helixQueues) }} # Pass queues to MSBuild as env var to avoid need of escaping them
_Scenarios: ${{ join(',', parameters.scenarios) }} # Pass scenarios to MSBuild as env var to avoid need of escaping comma separated list
diff --git a/eng/pipelines/libraries/run-test-job.yml b/eng/pipelines/libraries/run-test-job.yml
index ee446ac7e95b52..28de672b22bc4b 100644
--- a/eng/pipelines/libraries/run-test-job.yml
+++ b/eng/pipelines/libraries/run-test-job.yml
@@ -92,16 +92,13 @@ jobs:
- template: /eng/pipelines/libraries/helix.yml
parameters:
runtimeFlavor: ${{ parameters.runtimeFlavor }}
- targetOS: ${{ parameters.osGroup }}
- archGroup: ${{ parameters.archType }}
- configuration: ${{ parameters.buildConfig }}
- helixQueues: ${{ join('+', parameters.helixQueues) }}
- msbuildScript: $(_msbuildCommand)
- framework: ${{ parameters.framework }}
+ osGroup: ${{ parameters.osGroup }}
+ archType: ${{ parameters.archType }}
+ buildConfig: ${{ parameters.buildConfig }}
+ helixQueues: ${{ parameters.helixQueues }}
testScope: ${{ parameters.testScope }}
interpreter: ${{ parameters.interpreter }}
creator: dotnet-bot
- helixToken: ''
testRunNamePrefixSuffix: $(_testRunNamePrefixSuffix)
extraHelixArguments: $(_extraHelixArguments)
diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml
index e94c1469ad80da..fa5b2d38a57955 100644
--- a/eng/pipelines/runtime.yml
+++ b/eng/pipelines/runtime.yml
@@ -247,7 +247,6 @@ jobs:
- tvOS_x64
- iOS_arm64
- iOS_x86
- - Browser_wasm
- Linux_arm
jobParameters:
testGroup: innerloop
@@ -283,6 +282,33 @@ jobs:
eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true),
eq(variables['isFullMatrix'], true))
+#
+# Build the whole product using Mono and run tests
+#
+- template: /eng/pipelines/common/platform-matrix.yml
+ parameters:
+ jobTemplate: /eng/pipelines/common/global-build-job.yml
+ helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml
+ buildConfig: Release
+ runtimeFlavor: mono
+ platforms:
+ - Browser_wasm
+ jobParameters:
+ testGroup: innerloop
+ nameSuffix: AllSubsets_Mono
+ buildArgs: -s mono+libs+installer+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true
+ timeoutInMinutes: 120
+ extraStepsTemplate: /eng/pipelines/libraries/helix.yml
+ extraStepsParameters:
+ creator: dotnet-bot
+ testRunNamePrefixSuffix: Mono_$(_BuildConfig)
+ condition: >-
+ or(
+ eq(dependencies.checkout.outputs['SetPathVars_libraries.containsChange'], true),
+ eq(dependencies.checkout.outputs['SetPathVars_mono.containsChange'], true),
+ eq(dependencies.checkout.outputs['SetPathVars_installer.containsChange'], true),
+ eq(variables['isFullMatrix'], true))
+
#
# Build Mono and Installer on LLVMJIT mode
#
diff --git a/eng/testing/WasmRunnerTemplate.sh b/eng/testing/WasmRunnerTemplate.sh
index 9ec16d23dcebf4..6bba445186fc43 100644
--- a/eng/testing/WasmRunnerTemplate.sh
+++ b/eng/testing/WasmRunnerTemplate.sh
@@ -1,16 +1,17 @@
#!/usr/bin/env bash
EXECUTION_DIR=$(dirname $0)
-JAVASCRIPT_ENGINE=$1
cd $EXECUTION_DIR
XHARNESS_OUT="$EXECUTION_DIR/xharness-output"
-dotnet xharness wasm test --engine=$JAVASCRIPT_ENGINE \
- --js-file=runtime.js -v \
- --output-directory=$XHARNESS_OUT \
- -- --enable-gc --run WasmTestRunner.dll ${@:2}
+if [ ! -x "$(command -v xharness)" ]; then
+ HARNESS_RUNNER="dotnet"
+fi
+
+# RunCommands defined in tests.mobile.targets
+[[RunCommands]]
_exitCode=$?
diff --git a/eng/testing/tests.mobile.targets b/eng/testing/tests.mobile.targets
index d6074a49300485..fb2f41568a0e6d 100644
--- a/eng/testing/tests.mobile.targets
+++ b/eng/testing/tests.mobile.targets
@@ -7,6 +7,15 @@
V8
+
+
+
+
+
+
+ $HARNESS_RUNNER xharness wasm test --engine=$(JSEngine) --js-file=runtime.js -v --output-directory=$XHARNESS_OUT -- --enable-gc --run WasmTestRunner.dll $(AssemblyName).dll
+
+
+ DependsOnTargets="UpdateRuntimePack;Publish;BundleTestAppleApp;BundleTestAndroidApp;BundleTestWasmApp;ArchiveTests" />
diff --git a/eng/testing/tests.targets b/eng/testing/tests.targets
index 5e44a3070192dd..1534c3aa0dadd9 100644
--- a/eng/testing/tests.targets
+++ b/eng/testing/tests.targets
@@ -24,15 +24,30 @@
+
+ PrepareForRun
+
+
+
+
+
+
+ $([MSBuild]::NormalizeDirectory('$(OutDir)', 'AppBundle'))
+ <_ZipSourceDirectory>$(OutDir)
+ <_ZipSourceDirectory Condition="'$(TargetOS)' == 'Browser'">$(BundleDir)
+
+
-
diff --git a/eng/testing/xunit/xunit.console.targets b/eng/testing/xunit/xunit.console.targets
index 2824bd84107806..837b432a99eb7d 100644
--- a/eng/testing/xunit/xunit.console.targets
+++ b/eng/testing/xunit/xunit.console.targets
@@ -4,7 +4,7 @@
testResults.xml
-
+
<_depsFileArgument Condition="'$(GenerateDependencyFile)' == 'true'">--depsfile $(AssemblyName).deps.json
"$(RunScriptHost)" exec --runtimeconfig $(AssemblyName).runtimeconfig.json $(_depsFileArgument) xunit.console.dll
xunit.console.exe
@@ -13,13 +13,15 @@
$(RunScriptCommand) -xml $(TestResultsName)
$(RunScriptCommand) -nologo
$(RunScriptCommand) -nocolor
+ $(RunScriptCommand) -noappdomain
+ $(RunScriptCommand) -maxthreads 1
+ $(RunScriptCommand) -verbose
+
+
- $(RunScriptCommand) -maxthreads 1
$(RunScriptCommand) -method $(XUnitMethodName)
$(RunScriptCommand) -class $(XUnitClassName)
- $(RunScriptCommand) -verbose
- $(RunScriptCommand) -noappdomain
$(RunScriptCommand)$(_withCategories.Replace(';', ' -trait category='))
diff --git a/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs b/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs
index 85996cd51dbf72..bb58b96fa1bfc6 100644
--- a/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs
+++ b/src/libraries/System.Formats.Cbor/tests/Reader/CborReaderTests.cs
@@ -233,6 +233,7 @@ public static void ReadEncodedValue_InvalidConformance_ConformanceCheckDisabled_
}
[Theory]
+ [ActiveIssue("https://github.com/dotnet/runtime/issues/37669", TestPlatforms.Browser)]
[InlineData("a501020326200121582065eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d2258201e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c",
"65eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d",
"1e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c",
diff --git a/src/libraries/System.Formats.Cbor/tests/Writer/CborWriterTests.cs b/src/libraries/System.Formats.Cbor/tests/Writer/CborWriterTests.cs
index 13438ab3e8578e..d36786bb305727 100644
--- a/src/libraries/System.Formats.Cbor/tests/Writer/CborWriterTests.cs
+++ b/src/libraries/System.Formats.Cbor/tests/Writer/CborWriterTests.cs
@@ -342,6 +342,7 @@ public static void InvalidConformanceMode_ShouldThrowArgumentOutOfRangeException
public static IEnumerable
+
+ true
+ true
+
+
@@ -147,7 +152,7 @@
-
+
<_WorkItem Include="$(WorkItemArchiveWildCard)" Exclude="$(HelixCorrelationPayload)" />
diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj
index cb272c94f4840f..1137b8b2d55b36 100644
--- a/src/libraries/tests.proj
+++ b/src/libraries/tests.proj
@@ -20,6 +20,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+