private string GetVisualStudioArgs(VsInstallation vs, string vsJsonFilePath) { var args = new List <string>(); if (vs != null) { if (UpgradeVSInstallation) { args.Add("upgrade"); } else { args.Add("modify"); } args.Add("--installPath"); args.Add($"{vs.InstallationPath}"); } args.Add("--in"); args.Add($"{vsJsonFilePath}"); args.Add("--wait"); args.Add("--norestart"); if (QuietVSInstallation) { args.Add("--quiet"); } return(ArgumentEscaper.EscapeAndConcatenate(args)); }
void OneInstancePerMajorVersion() { var installations = new VsInstallation[] { new VsInstallation(new Version(15, 1), string.Empty, string.Empty), new VsInstallation(new Version(15, 7), string.Empty, "VisualStudio/15.7.3+27703.2026"), }; Assert.Single(VsTestCaseFactory.FilterInstallations(installations, new VsTestSettings())); }
void PreferLowest(int expectedMinorVersion, bool preferLowest) { var installations = new VsInstallation[] { new VsInstallation(new Version(15, 1), string.Empty, string.Empty), new VsInstallation(new Version(15, 7), string.Empty, "VisualStudio/15.7.3+27703.2026"), }; var testSettings = new VsTestSettings { VsPreferLowestMinorVersion = preferLowest, }; Assert.Equal(expectedMinorVersion, VsTestCaseFactory.FilterInstallations(installations, testSettings).First().Version.Minor); }