public static SimpleArguments Parse(IEnumerable <string> tokens) { var args = new SimpleArguments(); CommandLineParser.Parse(tokens, args).Should().BeTrue(); return(args); }
private static int Run(SimpleArguments arguments) { VsBuilderOptions options = new VsBuilderOptions(); // parse command line arguments into options SimpleArgumentsReader.ArgumentsToObject(arguments, options); if (options.Solution == null || options.Solution.Length == 0) { Console.Error.WriteLine(@"ERROR: solution must be specified with -solution c:\path\to\solution.sln"); return(1); } VsBuilder builder = new VsBuilder(); int result = builder.Run(options); if ((result != 0) || builder.Results.Failed) { Console.Error.WriteLine("ERROR: some builds failed, check output"); return(1); } Console.WriteLine("Success: all okay"); return(0); }
public void ParseTestNameValueSeparator() { Type argumentsType = typeof(SimpleArguments); CommandLineParser target = new CommandLineParser(argumentsType, new[] { "/", "-" }) { Culture = CultureInfo.InvariantCulture }; Assert.AreEqual(CommandLineParser.DefaultNameValueSeparator, target.NameValueSeparator); SimpleArguments args = (SimpleArguments)target.Parse(new[] { "-Argument1:test", "-Argument2:foo:bar" }); Assert.IsNotNull(args); Assert.AreEqual("test", args.Argument1); Assert.AreEqual("foo:bar", args.Argument2); try { args = (SimpleArguments)target.Parse(new[] { "-Argument1=test" }); Assert.Fail("Exception expected"); } catch (CommandLineArgumentException ex) { Assert.AreEqual(CommandLineArgumentErrorCategory.UnknownArgument, ex.Category); } target.NameValueSeparator = '='; args = (SimpleArguments)target.Parse(new[] { "-Argument1=test", "-Argument2=foo=bar" }); Assert.IsNotNull(args); Assert.AreEqual("test", args.Argument1); Assert.AreEqual("foo=bar", args.Argument2); try { args = (SimpleArguments)target.Parse(new[] { "-Argument1:test" }); Assert.Fail("Exception expected"); } catch (CommandLineArgumentException ex) { Assert.AreEqual(CommandLineArgumentErrorCategory.UnknownArgument, ex.Category); } }
public void SimpleCommandUsage() { var args = new SimpleArguments(); CommandLineParser.Parse(new[] { "/GlobalOption", "OtherThing" }, args); }