public MacOperatingSystemVersion() { var cli = new CliRunner(CliProgramName); var detectedVersion = string.Empty; var detectedBuildVersion = string.Empty; var detectedProductName = string.Empty; cli.ReadLines(line => { if (line == null) { return; } if (line.StartsWith("ProductVersion:")) { detectedVersion = line.Substring(15).Trim(); } else if (line.StartsWith("BuildVersion:")) { detectedBuildVersion = line.Substring(14).Trim(); } else if (line.StartsWith("ProductName:")) { detectedProductName = line.Substring(12).Trim(); } }); ProductName = detectedProductName; ProductVersion = detectedVersion; BuildVersion = detectedBuildVersion; }
public Version Resolve(string msbuildPath) { var stdout = new CliRunner(msbuildPath, "/version") .ReadToEnd(); var matches = Regex.Matches(stdout, @"\d+(\.\d+){2,3}"); Version result; switch (matches.Count) { case 2: result = Version.Parse(matches[0].Value); break; case 3: result = Version.Parse(matches[0].Value); // ReSharper disable once UnusedVariable var dotNetVersion = Version.Parse(matches[1].Value); break; default: throw new InvalidOperationException("unexpected return of version call"); } return(result); }
public LinuxLinuxStandardBaseInfo() { var cli = new CliRunner("lsb_release", "--all"); var detectedId = ""; var detectedDescription = ""; var detectedRelease = ""; var detectedCodeName = ""; cli.ReadLines(line => { if (line.StartsWith("Distributor ID:\t")) { detectedId = line.Substring(16); } if (line.StartsWith("Description:\t")) { detectedDescription = line.Substring(13); } if (line.StartsWith("Release:\t")) { detectedRelease = line.Substring(9); } if (line.StartsWith("Codename:\t")) { detectedCodeName = line.Substring(10); } }); Id = detectedId; Description = detectedDescription; Release = detectedRelease; CodeName = detectedCodeName; }
public void CliRunnerBuildJavaScriptTest() { // Arrange var runner = new CliRunner(new CliOptions(new[] { "-i:x", "-o:y" })); // Act var result = runner.BuildJavaScript("app", ""); // Assert Assert.That(result, Is.Not.Null); Assert.That(result, Is.Not.Empty); }
public void CliRunnerBuildCompleteJavaScriptTest() { // Arrange var parser = new Parser("Nca.Valdr.Tests.dll", "Nca.Valdr.Tests.DTOs", "en"); var metadata = parser.Parse(); var runner = new CliRunner(new CliOptions(new[] { "-i:x", "-o:y" })); // Act var result = runner.BuildJavaScript("app", metadata.ToString()); // Assert var appValdrJsFile = File.OpenText("../../app/app.valdr.js"); var fileContent = appValdrJsFile.ReadToEnd(); Assert.That(result, Is.EqualTo(fileContent)); }
public void BasicTest() { if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { return; } var cli = new CliRunner("hostname"); var sb = new StringBuilder(); using (var sw = new StringWriter(sb)) { cli.Redirect(sw); } var hostname = sb.ToString().Trim(); Assert.NotNull(hostname); Assert.True(hostname.Length > 0); }
public static Version GetVersion() { var cli = new CliRunner("cmd.exe", "/C ver"); var output = cli.ReadToEnd(); const string pattern = @"(?<major>\d+)(\.(?<minor>\d+)(\.(?<build>\d+))?)?"; var m = Regex.Match(output, pattern); var major = 0; var minor = 0; var build = 0; if (m.Success) { var parser = new IntegerParser(); major = parser.ParseOrFallback(m.Groups["major"].Value, 1); minor = parser.ParseOrFallback(m.Groups["minor"].Value, 0); build = parser.ParseOrFallback(m.Groups["build"].Value, 0); } return(new Version(major, minor, build)); }
public static void Main(string[] args) { var runner = new CliRunner(); runner.Run(args); }