Beispiel #1
0
        public void VerifyVsWhereOperability(ImageDescriptor imageDescriptor)
        {
            string       baseBuildImage = ImageTestHelper.GetImage("sdk", imageDescriptor.Version, imageDescriptor.OsVariant);
            string       appId          = $"vswhere-{DateTime.Now.ToFileTime()}";
            const string command        = @"cmd /c ""C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"" -products * -latest -format json";
            string       output         = ImageTestHelper.DockerHelper.Run(image: baseBuildImage, name: appId, command: command);

            JArray json = (JArray)JsonConvert.DeserializeObject(output);

            Assert.Single(json);
            Assert.Equal(@"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools", json[0]["installationPath"]);

            Version actualVsVersion = Version.Parse(json[0]["catalog"]["productDisplayVersion"].ToString());

            VsInfo  vsInfo            = Config.GetVsInfo();
            Version expectedVsVersion = Version.Parse(vsInfo.VsVersion);

            Assert.Equal(expectedVsVersion.Major, actualVsVersion.Major);
            Assert.Equal(expectedVsVersion.Minor, actualVsVersion.Minor);
        }
Beispiel #2
0
        public void VerifyVsWhereOperability(ImageDescriptor imageDescriptor)
        {
            string       baseBuildImage      = ImageTestHelper.GetImage("sdk", imageDescriptor.Version, imageDescriptor.OsVariant);
            string       appId               = $"vswhere-{DateTime.Now.ToFileTime()}";
            const string securityProtocolCmd = "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12";
            const string vsWhereUrl          = "https://github.com/Microsoft/vswhere/releases/download/2.8.4/vswhere.exe";
            string       downloadVsWhereCmd  = $"Invoke-WebRequest -UseBasicParsing {vsWhereUrl} -OutFile vswhere.exe";
            const string executeVsWhereCmd   = @".\vswhere.exe -products * -latest -format json";
            string       command             = $@"powershell {securityProtocolCmd}; {downloadVsWhereCmd}; {executeVsWhereCmd}";
            string       output              = ImageTestHelper.DockerHelper.Run(image: baseBuildImage, name: appId, command: command);

            JArray json = (JArray)JsonConvert.DeserializeObject(output);

            Assert.Single(json);
            Assert.Equal(@"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools", json[0]["installationPath"]);

            Version actualVsVersion = Version.Parse(json[0]["catalog"]["productDisplayVersion"].ToString());

            VsInfo  vsInfo            = Config.GetVsInfo();
            Version expectedVsVersion = Version.Parse(vsInfo.VsVersion);

            Assert.Equal(expectedVsVersion.Major, actualVsVersion.Major);
            Assert.Equal(expectedVsVersion.Minor, actualVsVersion.Minor);
        }