public void PortTest1() { // (Moritz Eberl) At least for my machine Assert.IsFalse(PortUtils.IsPortFree(1115)); Assert.IsTrue(PortUtils.IsPortFree(11150)); }
public bool Start(bool waitOnStartup = true, TimeSpan?timeout = null) { _job = new Job(); STARTUPINFO si = new STARTUPINFO(); si.wShowWindow = 0; PROCESS_INFORMATION pi = new PROCESS_INFORMATION(); bool success = Win32Process.CreateProcess(Executable, string.Format("{0} {1}", Executable, Parameter), IntPtr.Zero, IntPtr.Zero, false, ProcessCreationFlags.NORMAL_PRIORITY_CLASS | ProcessCreationFlags.CREATE_NO_WINDOW | ProcessCreationFlags.STARTF_USESTDHANDLES | ProcessCreationFlags.CREATE_BREAKAWAY_FROM_JOB, IntPtr.Zero, _workingDir.FullName, ref si, out pi); _job.AddProcess(pi.hProcess); _process = Process.GetProcessById((int)pi.dwProcessId); if (success && waitOnStartup) { double time = 0; if (timeout.HasValue) { time = timeout.Value.TotalMilliseconds; } while (!_serverStartOccured) { _serverStartOccured = !PortUtils.IsPortFree(Port); if (!_serverStartOccured) { Thread.Sleep(10); if (timeout.HasValue) { time -= 10; if (time <= 0) { break; } } } } } return(success); }