Discover VSTest and MSTest using VSWhere #2843
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fake.DotNet.Testing.VSTest and Fake.DotNet.Testing.MSTest currently search for VSTest and MSTest respectively using hard-coded lists of possible paths. These paths are simply different versions of Visual Studio.
@robertpi previously did work to update these paths and partially move them to a VSWhere for locating Visual Studio installs.
The work was not merged. #2542
This PR rebases #2542 and further migrates VSTest discovery to use VSWhere.
This should reduce effort to keep Fake.DotNet.Testing.VSTest and Fake.DotNet.Testing.MSTest up to date as new versions of Visual Studio are released.
This PR will also fix the current issue where Fake.DotNet.Testing.VSTest cannot automatically discover VSTest with recent versions of Visual Studio.
Note that VSWhere only works for VisualStudio 2017+. We'll want to re-add hard-coded pre-2017 paths if we want to continue supporting those older versions of Visual Studio
@xperiandri