private static bool ParseCommandLine(string[] args, out CommandLineParser parser) { try { parser = new CommandLineParser(args); } catch (Exception) { throw new InvalidOperationException( "An error occurred whilst parsing the command line; try /? for command line arguments."); } try { parser.ExtractAndValidateArguments(); if (parser.PrintUsage) { System.Console.WriteLine(parser.Usage()); return true; } if (!File.Exists(Environment.ExpandEnvironmentVariables(parser.Target))) { System.Console.WriteLine("Target {0} cannot be found - have you specified your arguments correctly?"); return true; } } catch (Exception ex) { System.Console.WriteLine("Incorrect Arguments: {0}", ex.Message); System.Console.WriteLine(parser.Usage()); return true; } return false; }
private static bool ParseCommandLine(string[] args, out CommandLineParser parser) { try { parser = new CommandLineParser(args); } catch (Exception) { throw new InvalidOperationException( "An error occurred whilst parsing the command line; try -? for command line arguments."); } try { parser.ExtractAndValidateArguments(); if (parser.PrintUsage) { System.Console.WriteLine(parser.Usage()); return false; } if (!string.IsNullOrWhiteSpace(parser.TargetDir) && !Directory.Exists(parser.TargetDir)) { System.Console.WriteLine("TargetDir '{0}' cannot be found - have you specified your arguments correctly?", parser.TargetDir); return false; } if (parser.Service) { try { var service = new ServiceController(parser.Target); var name = service.DisplayName; } catch (Exception) { System.Console.WriteLine("Service '{0}' cannot be found - have you specified your arguments correctly?", parser.Target); return false; } } else if (!File.Exists(Environment.ExpandEnvironmentVariables(parser.Target))) { System.Console.WriteLine("Target '{0}' cannot be found - have you specified your arguments correctly?", parser.Target); return false; } } catch (Exception ex) { System.Console.WriteLine("Incorrect Arguments: {0}", ex.Message); System.Console.WriteLine(parser.Usage()); return false; } return true; }
public void HandlesTheUsageArgument() { // arrange var parser = new CommandLineParser(new[]{"-?"}); // act parser.ExtractAndValidateArguments(); // assert Assert.AreEqual(true, parser.PrintUsage); Assert.IsFalse(string.IsNullOrWhiteSpace(parser.Usage())); }
private static bool ParseCommandLine(string[] args, out CommandLineParser parser) { try { parser = new CommandLineParser(args); } catch (Exception) { throw new InvalidOperationException( "An error occurred whilst parsing the command line; try -? for command line arguments."); } try { parser.ExtractAndValidateArguments(); if (parser.PrintUsage) { System.Console.WriteLine(parser.Usage()); return false; } if (parser.PrintVersion) { var entryAssembly = System.Reflection.Assembly.GetEntryAssembly(); if (entryAssembly == null) { Logger.Warn("No entry assembly, running from unmanaged application"); } else { var version = entryAssembly.GetName().Version; System.Console.WriteLine("OpenCover version {0}", version); return false; } } if (!string.IsNullOrWhiteSpace(parser.TargetDir) && !Directory.Exists(parser.TargetDir)) { System.Console.WriteLine("TargetDir '{0}' cannot be found - have you specified your arguments correctly?", parser.TargetDir); return false; } if (parser.Service) { try { using (var service = new ServiceController(parser.Target)) { var name = service.DisplayName; } } catch (Exception) { System.Console.WriteLine("Service '{0}' cannot be found - have you specified your arguments correctly?", parser.Target); return false; } } else if (!File.Exists(ResolveTargetPathname(parser))) { System.Console.WriteLine("Target '{0}' cannot be found - have you specified your arguments correctly?", parser.Target); return false; } } catch (Exception ex) { System.Console.WriteLine("Incorrect Arguments: {0}", ex.Message); System.Console.WriteLine(parser.Usage()); return false; } return true; }