1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-08 11:37:04 +09:00
Satori/docs/workflow/testing/testing-workloads.md
Ivan Diaz Sanchez 6811cc4dcb
Improvements to CoreCLR Building, Debugging, and Testing Documentation (#75569)
* Quality Week 2022: The First Step to a Better Documentation.

* Removed the Markdown Extension's additional development tags.

* Removed redundant stuff.

* Removed redundant stuff.

* Removed guide testing versions to avoid confusion that they would be the only supported versions.

* Addressed some Powershell comments, added a pointer to a yaml with links to other .NET sibling repos, and did a couple mini-corrections. Still got a few comments to address...

* Fixed a ';:' with Powershell's syntax.

* Addressed review comments: Redaction improvements, localization url's, improved code snippets, added info on individual subsets building configurations, changed COMPlus for DOTNET, and other misc improvements.

* Addressed remaining comments.

* Addressed some last comments regarding corerun, and the subset flags in the build scripts.

Co-authored-by: Ivan Diaz <bluehorizon186@gmail.com>
2022-10-10 13:39:22 -07:00

1.8 KiB

Testing Workloads

Workloads based on packages in artifacts can be installed, and used for testing.

  • This is done by installing a specified SDK version ($(SdkVersionForWorkloadTesting)) in artifacts/bin/dotnet-workload.
  • Then the manifest for the workload in @(WorkloadIdForTesting) is installed
  • Then workload packs are installed
  • Packs or manifests not generated by runtime, are restored from nuget
  • The SDK is installed by ProvisionSdkForWorkloadTesting target and the workload is installed by InstallWorkloadUsingArtifacts target, using the InstallWorkloadFromArtifacts task @(WorkloadIdForTesting):

Example for wasm:

<WorkloadIdForTesting Include="wasm-tools"
                      Name="microsoft.net.workload.mono.toolchain"
                      ManifestName="Microsoft.NET.Workload.Mono.ToolChain"
                      Version="$(PackageVersion)"
                      VersionBand="$(SdkBandVersion)" />

Currently, this is used only by src/tests/BuildWasmApps/Wasm.Build.Tests

Multiple runtime packs

The workload depends on three runtime packs - single threaded, multithreaded, and for perf tracing. If you have a local runtime build, for say multithreaded, then the workload install will fail because of missing runtime pack nugets for the other two variants.

For non-CI builds, we build the same runtime pack nuget but with the different expected names. So, essentially you get all the expected nugets, but they are all the same except for the name.

If you have all the nugets available, and want to avoid the above behavior then set WasmSkipMissingRuntimeBuild=true.

Limitations

The cross compiler package is built manually from the InstallWorkloadUsingArtifacts target.