From 04f764851fc5a78e9eda064e6214b52f67741f43 Mon Sep 17 00:00:00 2001 From: Robert Pickering Date: Tue, 25 Aug 2020 13:43:09 +0200 Subject: [PATCH 1/4] add paths for VS2019 --- src/app/Fake.DotNet.Testing.VSTest/VSTest.fs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs b/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs index af9209075a0..2407f447324 100644 --- a/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs +++ b/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs @@ -13,7 +13,10 @@ open System.Text module VSTest = let private vsTestPaths = - [| @"[ProgramFilesX86]\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow" + [| @"[ProgramFilesX86]\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow" + @"[ProgramFilesX86]\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow" + @"[ProgramFilesX86]\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow" + @"[ProgramFilesX86]\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow" @"[ProgramFilesX86]\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" @"[ProgramFilesX86]\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" @"[ProgramFilesX86]\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" |] From 7e62c3c16e2cf4d015cab0d771b9c9e52470cc5a Mon Sep 17 00:00:00 2001 From: Robert Pickering Date: Thu, 10 Sep 2020 15:10:47 +0200 Subject: [PATCH 2/4] use vswhere to find mstest path --- src/app/Fake.DotNet.Testing.MSTest/MSTest.fs | 20 +++++++------------ .../paket.references | 1 + 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/app/Fake.DotNet.Testing.MSTest/MSTest.fs b/src/app/Fake.DotNet.Testing.MSTest/MSTest.fs index 29f2613fc9b..0311b1b5725 100644 --- a/src/app/Fake.DotNet.Testing.MSTest/MSTest.fs +++ b/src/app/Fake.DotNet.Testing.MSTest/MSTest.fs @@ -8,20 +8,14 @@ module MSTest = open System open System.Text + open BlackFox.VsWhere open Fake.Core + open Fake.IO open Fake.Testing.Common - - let internal mstestPaths = - [| @"[ProgramFilesX86]\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\" - @"[ProgramFilesX86]\Microsoft Visual Studio\2019\Professional\Common7\IDE\" - @"[ProgramFilesX86]\Microsoft Visual Studio\2019\Community\Common7\IDE\" - @"[ProgramFilesX86]\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\" - @"[ProgramFilesX86]\Microsoft Visual Studio\2017\Professional\Common7\IDE\" - @"[ProgramFilesX86]\Microsoft Visual Studio\2017\Community\Common7\IDE\" - @"[ProgramFilesX86]\Microsoft Visual Studio 14.0\Common7\IDE" - @"[ProgramFilesX86]\Microsoft Visual Studio 12.0\Common7\IDE" - @"[ProgramFilesX86]\Microsoft Visual Studio 11.0\Common7\IDE" - @"[ProgramFilesX86]\Microsoft Visual Studio 10.0\Common7\IDE" |] + + let private getAllVsPath () = + VsInstances.getWithPackage "Microsoft.VisualStudio.PackageGroup.TestTools.MSTestV2.Managed" false + |> List.map (fun vs -> Path.combine vs.InstallationPath "Common7\\Tools") let internal msTestExe = if Environment.isWindows then @@ -86,7 +80,7 @@ module MSTest = Tests = [] TimeOut = TimeSpan.FromMinutes 5. ToolPath = - match ProcessUtils.tryFindLocalTool "TOOL" msTestExe mstestPaths with + match ProcessUtils.tryFindLocalTool "TOOL" msTestExe (getAllVsPath ()) with | Some path -> path | None -> "" Details = [] diff --git a/src/app/Fake.DotNet.Testing.MSTest/paket.references b/src/app/Fake.DotNet.Testing.MSTest/paket.references index a8342f4b742..34fc6a37d04 100644 --- a/src/app/Fake.DotNet.Testing.MSTest/paket.references +++ b/src/app/Fake.DotNet.Testing.MSTest/paket.references @@ -2,3 +2,4 @@ group fakemodule FSharp.Core NETStandard.Library +BlackFox.VsWhere From 77c8a9440227377678b6048801f900bf6def9385 Mon Sep 17 00:00:00 2001 From: Spencer Farley <2847259+farlee2121@users.noreply.github.com> Date: Sun, 20 Oct 2024 16:58:30 -0500 Subject: [PATCH 3/4] Discover VSTest with VSWhere --- src/app/Fake.DotNet.Testing.VSTest/VSTest.fs | 15 ++++++--------- .../Fake.DotNet.Testing.VSTest/paket.references | 1 + 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs b/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs index 2407f447324..e2c1b3dedf0 100644 --- a/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs +++ b/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs @@ -2,6 +2,7 @@ open Fake.Core open Fake.Testing.Common +open BlackFox.VsWhere open System open System.IO open System.Text @@ -12,14 +13,10 @@ open System.Text [] module VSTest = - let private vsTestPaths = - [| @"[ProgramFilesX86]\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow" - @"[ProgramFilesX86]\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow" - @"[ProgramFilesX86]\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow" - @"[ProgramFilesX86]\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow" - @"[ProgramFilesX86]\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" - @"[ProgramFilesX86]\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" - @"[ProgramFilesX86]\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow" |] + let private guessVSTestPaths () = + let vsTestRelativePath = @"Common7\IDE\CommonExtensions\Microsoft\TestWindow" + VsInstances.getAll () + |> List.map (fun vs -> Fake.IO.Path.combine vs.InstallationPath vsTestRelativePath) let private vsTestExe = if Environment.isMono then @@ -115,7 +112,7 @@ module VSTest = ListLoggers = false ListSettingsProviders = false ToolPath = - match ProcessUtils.tryFindFile vsTestPaths vsTestExe with + match ProcessUtils.tryFindFile (guessVSTestPaths ()) vsTestExe with | Some path -> path | None -> "" WorkingDir = null diff --git a/src/app/Fake.DotNet.Testing.VSTest/paket.references b/src/app/Fake.DotNet.Testing.VSTest/paket.references index a8342f4b742..34fc6a37d04 100644 --- a/src/app/Fake.DotNet.Testing.VSTest/paket.references +++ b/src/app/Fake.DotNet.Testing.VSTest/paket.references @@ -2,3 +2,4 @@ group fakemodule FSharp.Core NETStandard.Library +BlackFox.VsWhere From ef20bf06b20362d61da565af03c421daa7d078fe Mon Sep 17 00:00:00 2001 From: Spencer Farley <2847259+farlee2121@users.noreply.github.com> Date: Sun, 20 Oct 2024 21:59:52 +0000 Subject: [PATCH 4/4] Format code --- src/app/Fake.DotNet.Testing.MSTest/MSTest.fs | 2 +- src/app/Fake.DotNet.Testing.VSTest/VSTest.fs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/Fake.DotNet.Testing.MSTest/MSTest.fs b/src/app/Fake.DotNet.Testing.MSTest/MSTest.fs index 0311b1b5725..048bb05a938 100644 --- a/src/app/Fake.DotNet.Testing.MSTest/MSTest.fs +++ b/src/app/Fake.DotNet.Testing.MSTest/MSTest.fs @@ -12,7 +12,7 @@ module MSTest = open Fake.Core open Fake.IO open Fake.Testing.Common - + let private getAllVsPath () = VsInstances.getWithPackage "Microsoft.VisualStudio.PackageGroup.TestTools.MSTestV2.Managed" false |> List.map (fun vs -> Path.combine vs.InstallationPath "Common7\\Tools") diff --git a/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs b/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs index e2c1b3dedf0..ecfd8d25ed7 100644 --- a/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs +++ b/src/app/Fake.DotNet.Testing.VSTest/VSTest.fs @@ -15,6 +15,7 @@ module VSTest = let private guessVSTestPaths () = let vsTestRelativePath = @"Common7\IDE\CommonExtensions\Microsoft\TestWindow" + VsInstances.getAll () |> List.map (fun vs -> Fake.IO.Path.combine vs.InstallationPath vsTestRelativePath)