Hello!

I was getting sporadic (more often then not) port conflicts on this
unit test (/Test/Search/TestRemoteSearchable.cs). I rewrote the test a
bit, and I have not had problems since. If this looks good, how do I
submit the patch?

tjk :)

Index: TestRemoteSearchable.cs
===================================================================
--- TestRemoteSearchable.cs     (revision 732813)
+++ TestRemoteSearchable.cs     (working copy)
@@ -16,7 +16,7 @@
  */

 using System;
-
+using System.Net.Sockets;
 using NUnit.Framework;

 using Lucene.Net.Documents;
@@ -38,13 +38,29 @@
                private static int port;
                private static bool serverStarted;

+               private const int MAX_PORT_TRIES = 10;
+
                [SetUp]
                public override void SetUp()
                {
                        base.SetUp();
                        Random rnd = new Random((int)(DateTime.Now.Ticks & 
0x7fffffff));
-                       port = rnd.Next(System.Net.IPEndPoint.MinPort,
System.Net.IPEndPoint.MaxPort);
-                       httpChannel = new 
System.Runtime.Remoting.Channels.Http.HttpChannel(port);
+
+                       int portTry = 0;
+                       while (true)
+                       {
+                               try
+                               {
+                                       port = 
rnd.Next(System.Net.IPEndPoint.MinPort,
System.Net.IPEndPoint.MaxPort);
+                                       httpChannel = new 
System.Runtime.Remoting.Channels.Http.HttpChannel(port);
+                                       break;
+                               }
+                               catch (SocketException)
+                               {
+                                       if (++portTry > MAX_PORT_TRIES)
+                                               throw;
+                               }
+                       }
                        if (!serverStarted)
                                StartServer();
                }

Reply via email to