diff --git a/Cuke4Nuke/Server/Program.cs b/Cuke4Nuke/Server/Program.cs index 36b32ce..3e26b48 100644 --- a/Cuke4Nuke/Server/Program.cs +++ b/Cuke4Nuke/Server/Program.cs @@ -1,4 +1,5 @@ using System; +using NDesk.Options; namespace Cuke4Nuke.Server { @@ -7,7 +8,39 @@ class Program static void Main(string[] args) { int port = 3901; + bool showHelp = false; + + var p = new OptionSet() + { + { + "p|port=", + "the {PORT} the server should listen on.", + (int v) => port = v + }, + { + "h|?|help", + "show this message and exit.", + v => showHelp = v != null + } + }; + p.Parse(args); + + if (showHelp) + { + ShowHelp(p); + return; + } + Listener listener = new Listener(port); } + + static void ShowHelp(OptionSet p) + { + Console.WriteLine("Usage: Cuke4Nuke.Server.exe [OPTIONS]"); + Console.WriteLine("Start the Cuke4Nuke server to invoke .NET Cucumber step definitions."); + Console.WriteLine(); + Console.WriteLine("Options:"); + p.WriteOptionDescriptions(Console.Out); + } } } diff --git a/Cuke4Nuke/Test/Server_Specification.cs b/Cuke4Nuke/Test/Server_Specification.cs index 00c60dc..91ce5cf 100644 --- a/Cuke4Nuke/Test/Server_Specification.cs +++ b/Cuke4Nuke/Test/Server_Specification.cs @@ -13,7 +13,7 @@ namespace Test public class Server_Specification { Process serverProcess; - int port = 3901; + int port = 3902; TcpClient client; [TestFixtureSetUp] @@ -21,7 +21,7 @@ public void TestFixtureSetup() { // launch the Cuke4Nuke server in a separate process string serverExePath = @"..\..\..\Server\bin\Debug\Cuke4Nuke.Server.exe"; - serverProcess = Process.Start(serverExePath); + serverProcess = Process.Start(serverExePath, "-p " + port); // connect to the Cuke4Nuker server over TCP client = new TcpClient("localhost", port);