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 EncodedValueBadInputs => CborReaderTests.InvalidCborValues.Select(x => new[] { x }); [Theory] + [ActiveIssue("https://github.com/dotnet/runtime/issues/37669", TestPlatforms.Browser)] [InlineData("a501020326200121582065eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d2258201e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c", "65eda5a12577c2bae829437fe338701a10aaa375e1bb5b5de108de439c08551d", "1e52ed75701163f7f9e40ddf9f341b3dc9ba860af7e0ca7ca7e9eecd0084d19c", diff --git a/src/libraries/sendtohelix.proj b/src/libraries/sendtohelix.proj index 908921f63e9f34..018d18976c86a6 100644 --- a/src/libraries/sendtohelix.proj +++ b/src/libraries/sendtohelix.proj @@ -144,7 +144,7 @@ + Condition="'$(BuildAllConfigurations)' != 'true' and '$(TargetsMobile)' != 'true'"> @@ -153,7 +153,6 @@ - diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj index fd47a715e8bda1..3a7681941ea960 100644 --- a/src/libraries/sendtohelixhelp.proj +++ b/src/libraries/sendtohelixhelp.proj @@ -62,6 +62,11 @@ test/functional/packaging/ + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +