-
Notifications
You must be signed in to change notification settings - Fork 339
Set dotnet_root_<arch> always #15266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
note for me: tested on wsl with rc1 release , patched with the newly built testruntime provider. |
src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
Show resolved
Hide resolved
src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
Show resolved
Hide resolved
src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
Show resolved
Hide resolved
src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Diff is kinda hard to follow with, but reading the overall logic, LGTM.
Updated [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.14.1 to 18.0.0. <details> <summary>Release notes</summary> _Sourced from [Microsoft.NET.Test.Sdk's releases](https://github.com/microsoft/vstest/releases)._ ## 18.0.0 ## What's Changed * Update reporting formatting by @martincostello in microsoft/vstest#15082 * Fix stack trace for Trace.Fail and Debug.Fail by @nohwnd in microsoft/vstest#15103 * Add documentation of environment variables by @Copilot in microsoft/vstest#15095 * IFrameworkHandle.LaunchProcessWithDebuggerAttached allows null for workingDirectory in signature but throws by @Copilot in microsoft/vstest#15091 * Add Dependabot configuration for .NET SDK updates by @JamieMagee in microsoft/vstest#15114 * Handle dotnet_root in testhost version aware way by @nohwnd in microsoft/vstest#15184 * Add magic bytes validation for Mach-O binaries in DotnetHostHelper by @Copilot in microsoft/vstest#15230 * using globbing pattern doesn't work on windows with forward slashes by @Copilot in microsoft/vstest#15088 * Remove tpv0 by @nohwnd in microsoft/vstest#15247 * Cache AssemblyName in ManagedNameHelper by @Youssef1313 in microsoft/vstest#15259 * Add ARM64 support to GetArchitectureForSource methods by @Copilot in microsoft/vstest#15278 ### Internal fixes and updates * Fix formatting in two files by @ViktorHofer in microsoft/vstest#15047 * Build TestPlatform packages in VMR by @ViktorHofer in microsoft/vstest#15055 * Condition property on .NET FX MSBuild by @jaredpar in microsoft/vstest#15054 * Migrate to awesome assertions by @nohwnd in microsoft/vstest#15056 * Revert "Build TestPlatform packages in VMR" by @ViktorHofer in microsoft/vstest#15057 * Update package Category by @ViktorHofer in microsoft/vstest#15058 * Revert "Write props of tests into trx" by @nohwnd in microsoft/vstest#15080 * Error on unsupported tfms (#15072) by @nohwnd in microsoft/vstest#15073 * Use policies from testfx to align by @nohwnd in microsoft/vstest#15085 * Update enable-auto-merge.yml by @nohwnd in microsoft/vstest#15102 * Revert ignoring environment test by @Copilot in microsoft/vstest#15094 * unignore tests by @Copilot in microsoft/vstest#15093 * Update MSTest by @Youssef1313 in microsoft/vstest#15108 * Bump dotnet-sdk from 9.0.106 to 9.0.301 by @dependabot[bot] in microsoft/vstest#15179 * Use Assert.Equals by @nohwnd in microsoft/vstest#15181 * Run VSTest tests with MTP by @Youssef1313 in microsoft/vstest#15079 * Use the standard sdk for architecture switch test by @nohwnd in microsoft/vstest#15188 * Remove CUIT (Coded UI Test) from NuGet packages and test projects by @Copilot in microsoft/vstest#15177 * dump-logs? by @nohwnd in microsoft/vstest#15187 * Moving to version 18 by @nohwnd in microsoft/vstest#15209 * Update fakes version by @drognanar in microsoft/vstest#15227 * Microsoft.Intellitrace.Core should be taken from nuget by @nohwnd in microsoft/vstest#15229 * Remove MSTest.Assert.Extensions by @Youssef1313 in microsoft/vstest#15178 * Sourcebuild fix by @nohwnd in microsoft/vstest#15239 * Set dotnet_root_<arch> only when the architecture of dotnet in the path is the same by @nohwnd in microsoft/vstest#15250 * Remove fakes v1 from FakesUtilities by @drognanar in microsoft/vstest#15251 * Update fakes dependencies by @drognanar in microsoft/vstest#15254 * Do half the work in GetManagedName by @Youssef1313 in microsoft/vstest#15255 * check Vsix only when produced by @nohwnd in microsoft/vstest#15261 * Set dotnet_root_<arch> always by @nohwnd in microsoft/vstest#15266 * Don't hardcode old vswhere version in global.json by @akoeplinger in microsoft/vstest#15267 * Revert dowgrade of fakes by @nohwnd in microsoft/vstest#15263 * Update VSSDK to version with code flow guard by @nohwnd in microsoft/vstest#15279 * Update Fakes to version with code flow guard by @nohwnd in microsoft/vstest#15273 ... (truncated) Commits viewable in [compare view](microsoft/vstest@v17.14.1...v18.0.0). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Description
Always set DOTNET_ROOT_ (e.g. DOTNET_ROOT_X64) when running under dotnet test, to make sure that the location of dotnet".exe", propagates to the testhost and child processes when we are on windows, linux and macos. This allows local installations of dotnet to be used to run tests that run child executables. On Windows this is alread in place for a long time when testhost.exe is found, so it can resolve correctly dotnet that is not in program files.
On Linux and MacOS it will be used to run xunit v3 tests.
There is a feature flag to disable this new behavior:
VSTEST_DISABLE_DOTNET_ROOT_ON_NONWINDOWS=1Related issue
Will fix dotnet/sdk#50331 once merged and flown.
Working:
Reverting to broken behavior with the feature flag: