* Add doc on OS onboarding
* Update docs/project/os-onboarding.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update docs/project/os-onboarding.md
* Apply suggestions from code review
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Expand scope of doc per feedback
* Update raw links
* Apply suggestions from code review
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Adding "Environments" as a new section
* Update Xcode casing
* Update docs/design/datacontracts/Exception.md
* Improve intro
* Fix typo
* Update docs/project/os-onboarding.md
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Fix Markdown links that broke after the workflow documentation reconsolidation.
* Fixed two other links that broke outside the workflow documents.
* Changed 'Debian/Ubuntu' to 'Debian and Ubuntu' in the Linux requirements doc because otherwise, I couldn't get the table of contents link to work correctly.
* Update dotnet10 feeds
* Update hardcoded old TFM values
* More hardcode updates and TFM checks
* Updates and delete duplicate file in Bcl.Numerics
* Linker stays on net9.0
* Fix .NET SDK max supported version
* Update apicompat sfx apicompat baseline file
* Update Microsoft.NET.WebAssembly.Threading APICompat settings
* Fix DiagnosticSource build
* Update SDK to RC1 for needed GetAlternateLookup API
to be able to build System.Text.Json on net9.0.
* Fix APICompat runtime regex pattern
* Suppress Bcl.Memory compatibility error for dropped framework
* Fix BinaryFormatter tests regex pattern for version subsitution
* Update BinaryFormatterTests.cs
* Pin SdkVersionForWorkloadTesting to the version in global.json
* Treat net9 and net10 as current for now
* Bump MicrosoftDotNetILCompilerVersion
* Update BinaryFormatterTests.cs
* Update System.Resources.Extensions
* Update AutoImports as well
* Fix ImporterTests.cs
* Block failing SignalRClientTests
* Update XmlSerialzation Schema Import tests.
* Update Versions.props
* Update CompatibilitySuppressions.xml for System.Numerics.Tensors
* Don't set EnableDefaultCompileItems, it doesn't work since we set EnableDefaultItems=false higher up
* Update regex in legacy BinaryFormatterTests.cs too
* Hardcode BinaryFormatter test assembly version to 9.0
This allows us to not change the majority of the tests
* Fix typo
* Fix issue in Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest.pkgproj
* Replace ForceNet8Current in a few more places
* Fix wasi workload
* Fix TreatAsCurrent for 10.0
* Add net9 workload manifests
* Update PackageId in icrosoft.NET.Runtime.WebAssembly.Templates.csproj
* Update ApiCompatBaseline.NetCoreAppLatestStable.xml
Changes from https://github.com/dotnet/runtime/pull/107758
* Remove duplicate dotnet10 feeds from nuget.config
* Update Versions.props
* Fake SDK band version for now
* Update Versions.props
* Update the SDK band versions for real
* Update the dotnet/sdk dependencies
* Update emsdk to net10 workloads
* Install a 9.0 runtime for workload tests too
* Update the compat tasks
* Merge in changes from net10-manifests
* Tmp: Trying out @am11's branch.
* Tmp2: Trying out @am11's branch.
* Tmp3: Replace the last usage of main in clone action.
* Update eng/pipelines/coreclr/templates/build-perf-bdn-app.yml
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Update eng/pipelines/coreclr/templates/perf-job.yml
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Update eng/pipelines/runtime-wasm-perf.yml
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
---------
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: Jackson Schuster <36744439+jtschuster@users.noreply.github.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Ilona Tomkowicz <itomkowicz@microsoft.com>
Co-authored-by: Steve Molloy <smolloy@microsoft.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
- Only create one .NET install layout to be shared by all host tests
- Add `pretest.proj` for `host.pretest` subset that builds all test project assets and creates the single .NET install layout
- Fix `NativeHostApis` tests that were editing the .NET install layout directly (instead of creating a copy to edit)
- Remove some unnecessary copying/creating of SDKs and frameworks by sharing the fixture across tests
- Update host testing doc with simpler setup instructions and more details around investigating test failures
- Delete build infrastructure around test project asset restore
- Remove requirement that packs must be built before running host tests
- Building packs was only necessary to support directing the restore/build for the test project assets to the built packs
* Allow using VS to run host tests when libraries use different config
When building the host tests from VS, there are dependencies on projects from the libraries subset. If the libraries are prebuilt with different configuration (typically `Release`) the build in VS breaks because it can't find the project's output.
This change modifies the import of generators (which are the problematic projects) to let them override the configuration of the referenced projects.
It then adds the ability to set environment based on the `-lc` parameter to the build script when starting VS.
Also updates the doc to describe how to use this.
* Update eng/build.ps1
Co-authored-by: Elinor Fung <elfung@microsoft.com>
* Update eng/generators.targets
* Move ShouldUnsetParentConfigurationAndPlatform to repo's Directory.Build.props
---------
Co-authored-by: Elinor Fung <elfung@microsoft.com>
* Skip methods in test-merging if they use the named argument 'Skip'
* Use ActiveIssueAttribute instead of FactAttribute with Skip. Add documentation about FactAttribute and Skip.
* Added the documentation regarding the new libraries test modes.
* Enable the fundamentals behind libraries tests compiled via crossgen2.
* Fixed a typo with SINGLE_FILE_TEST_RUNNER.
* Addressed review comments.
* Restored an accidentally deleted comment.
* Fixed wrong Crossgen2 path and added comment with link to an important tracking SDK bug.
* Draft.
* DevTools as IDE instructions.
* VS Code as IDE instructions.
* Correction: `WebRoot` is not required.
* Added: expect long wait & new pic without webRoot
* Renamed as suggested by @pavelsavara.
* The first bp is not automatic, user has to set it on their own.
* Set target SDK version
* Update Android docs
* Disable tests that do not pass with target API 31
* Check if the installed Android SDK is up-to-date
* Update skip explanation
* Use latest SDK
* Disable failing System.Net.Security test
Follow-up on #32451
Follow-up on #80074
In #43651, the "Windows" OS name was lowercased to achieve target frameworks with RIDs in them. At that time, the original plan was to lowercase all TargetOS values but that had to be cut because of resources. This PR finishes that and updates build systems, YML, markdowns and managed components.
To not break existing developer workflows, the passed-in -os value is automatically lower-cased in the script entry points and validated in the msbuild entry point.
These fixes were built for PR #74886; however, as that PR is so utterly large and unreviewable, I've pulled out the test infra changes for separate review
Changes
- Increase the number of trampolines in the llvm aot compilation process to 20,000 from 10,000 (This avoids running out of them in some of the hardware intrinsics tests
- Add a concept of striping tests when running under GC stress
- To use this new feature, specify <NumberOfStripesToUseInStress>N</NumberOfStripesToUseInStress> within the merged test assembly. If this value is set, then the tests within that merged test assembly will be run across N different work items instead of 1 when running under any form of GC stress based scenario. At this moment the largest supported value of N is 99
- Emit the testresults.xml file as a file which is exported from the tests. This is useful for debugging testresult.xml parsing failures
- Fix the testresults summary generator to never emit an empty CDATA string. If one is present the parser may fail the parse.
- In the XUnitWrapperGenerator fix the implementation of the Outerloop and ActiveIssue when used with a conditional member.
- Add PlatformDetection.IsMonoLLVMAOT, PlatformDetection.IsMonoLLVMFULLAOT, and PlatformDetection.IsMonoInterpreter boolean properties to the PlatformDetection type for use with the ActiveIssue attribute
- Add some documentation about project files for coreclr tests, as well as some documentation on the command line parameters for merged test runner assemblies
* 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>
* Add test
* Add CHECKs
* Build scripts and test settings
* COMPlus -> DOTNET
* Fix filenames
* Missing >
* Missing quotes
* use %scriptPath%
* Rework properties, start two examples
* Arch demo
* Cleanup
* Remove tab
* Easier environment variables. Undo precommand changes.
* undo blank line
* clean CHECKs
* Draft of bash
* Bash, conditionals
* More variables, start on run.cmd/sh/py
* another output
* Support in cmd/bash for RunningDisasmChecks
* copy, factor, formatting
* Initial work to include FileCheck. Added SuperFileCheck.
* Able to build SuperFileCheck
* Do not DisasmCheck TypeEquality_r for now. Update some FileChecks to follow SuperFileCheck rules.
* Partially wiring up SuperFileCheck to tests
* Piping list of method names from SuperFileCheck to JitDisasm
* Handling bash a little bit
* Moving SuperFileCheck to tests/Common
* Few tweaks
* Building SuperFileCheck as part of the test build
* Tweaking a few things
* Fixed a bug
* Moving SuperFileCheck back to src\coreclr\tools. Removed checks from TypeEquality_r.
* Restore original logic in Runtime_73681
* Trying to add CI leg for disasmchecks
* Use x64 package if x86 platform detected for JIT tools package
* Remove innerloop for disasmchecks
* Trying to fix build. Only run in Windows for now.
* Update Runtime_73681.cs
Trying to fail test
* Trying to fix build
* Update Runtime_73681.cs
* Update Runtime_73681.cs
* Fixing a few issues
* Trying to run disasmchecks as part of CI
* Trying to run disasmchecks
* Trying to run disasmchecks
* Trying to run disasmchecks
* Revert a change
* Trying to run disasmchecks
* Trying to run disasmchecks
* build SuperFileCheck on non-windows
* few tweaks
* Trying to fix CI
* Including SuperFileCheck for tests
* Cleanup
* More cleanup
* Cleanup
* Changed SuperFileCheck to not publish everything. Changed SuperFileCheck's lookup for FileCheck.
* Invoking SuperFileCheck using dotnet
* Making the test pass
* Only run disasm checks for coreclr and not mono
* Using HasBatchDisasmCheck and HasBashDisasmCheck to determine to run the check
* Enabling filecheck on linux and osx
* Added more comments
* Added ARM64 specific test. Do not run SuperFileCheck if no methods were found.
* Added documentation. Changed disasm-output.
* Minor doc tweak
* Minor doc tweak
* Minor doc tweak
* Minor doc tweak
* Minor doc tweak
* Cleanup. Trying to fix linux
* Fixing test
* Add information on additional functionality
* cleanup
* Add FileCheck snippet
* Undo environment variable changes
* Feedback from Mark
* Cleanup
* Trying to fix linux test run
* Trying to fix linux test run
* A few missing changes from the original branch
* Enable OSX for disasm checks
* cleanup / comment
* Force test failure
* Update Runtime_73681.cs
* Set env vars after errorlevel check
* Reverting back on setting environment variables in test. Added new FileCheck test for mod optimization
* Force a failure by changing the register
* Ignore native binaries for superpmi collect
* Update Runtime_34937.cs
* Force the correct failure
* Update Runtime_34937.cs
* Update Runtime_34937.cs
* Adding specific OS check prefixes. Changed dump-input context amount
* Added getting fully qualified method names with wildcards for SuperFileCheck
* More tests. Fixed a few issues with generics.
* Disabling generic support
* Error if it cannot find enclosing type declaration
* Fixing build
* Remove namespac
* Bring generics back, but in a limited form
Co-authored-by: Mark Plesko <markples@microsoft.com>
- This will help simplifying the path subsets in
`eng/pipelines/common/evaluate-default-paths.yml`, which would then help
to avoid a lot of unrelated non-wasm builds on PRs
* [wasm] Modify workload to pick threading runtime packs
This change adds the 2 wasm threading runtime packs to the wasm workload. In order for a threading runtime pack to be chosen, WorkloadManifest.targets is also modified to override the runtime pack name when the following props are set:
WasmEnableThreads - full threading support and will load Microsoft.NETCore.App.Runtime.multithread.Mono.browser-wasm
WasmEnablePerfTrace - runtime only threading support and will load Microsoft.NETCore.App.Runtime.perftrace.Mono.browser-wasm
* Add error condition when both WasmEnableThreading and WasmEnablePerfTrace are true
* [wasm] Set default value for MonoWasmBuildVariant, for runtime pack nuget
* [wasm] Wasm.Build.Tests: build runtime pack nugets with different names
- The earlier approach of simply making copies of the existing runtime
pack nuget with different names doesn't work, and `dotnet workload
install` rejects it.
```
Installing pack Microsoft.NETCore.App.Runtime.Mono.multithread.browser-wasm version 7.0.0-ci...
Workload installation failed. Rolling back installed packs...
```
Instead, now we build the missing nugets from the project with different
values for `$(MonoWasmBuildVariant)`.
- this handles local builds, and incremental builds also
- To skip building the missing nugets, for example, when you have all of
them available, then set `WasmSkipMissingRuntimePackBuild=true`.
* fix comment
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
* Add document describing how to disable tests
Update libraries "filtering tests" doc with information and examples for
using `SkipOnCoreClrAttribute`
* Update for feedback
Added SkipOnMonoAttribute, CollectionAttribute, an example
of using multiple SkipOnCoreClrAttribute, and how the xunit
attributes for test disabling apply to the "converted"
src/tests tree.