Author: bago
Date: Mon Apr 10 15:47:08 2006
New Revision: 393109

URL: http://svn.apache.org/viewcvs?rev=393109&view=rev
Log:
Port allocation improvements in unit-tests (JAMES-427)
Patch provided by Bernd Fondermann

Modified:
    james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java
    
james/server/trunk/src/test/org/apache/james/remotemanager/RemoteManagerTest.java
    james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java
    james/server/trunk/src/test/org/apache/james/test/util/Util.java

Modified: 
james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java?rev=393109&r1=393108&r2=393109&view=diff
==============================================================================
--- james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java 
(original)
+++ james/server/trunk/src/test/org/apache/james/pop3server/POP3ServerTest.java 
Mon Apr 10 15:47:08 2006
@@ -55,7 +55,7 @@
  * Tests the org.apache.james.smtpserver.SMTPServer unit
  */
 public class POP3ServerTest extends TestCase {
-    private int m_pop3ListenerPort = Util.getRandomNonPrivilegedPort();
+    private int m_pop3ListenerPort = Util.getNonPrivilegedPort();
 
     private MockMailServer m_mailServer;
 

Modified: 
james/server/trunk/src/test/org/apache/james/remotemanager/RemoteManagerTest.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/test/org/apache/james/remotemanager/RemoteManagerTest.java?rev=393109&r1=393108&r2=393109&view=diff
==============================================================================
--- 
james/server/trunk/src/test/org/apache/james/remotemanager/RemoteManagerTest.java
 (original)
+++ 
james/server/trunk/src/test/org/apache/james/remotemanager/RemoteManagerTest.java
 Mon Apr 10 15:47:08 2006
@@ -56,7 +56,7 @@
     
     public static final String LINE_SEPARATOR = 
System.getProperties().getProperty("line.separator"); 
 
-    protected int m_remoteManagerListenerPort = 
Util.getRandomNonPrivilegedPort();
+    protected int m_remoteManagerListenerPort = Util.getNonPrivilegedPort();
     protected RemoteManager m_remoteManager;
     protected RemoteManagerTestConfiguration m_testConfiguration;
     protected String m_host = "127.0.0.1";

Modified: 
james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java?rev=393109&r1=393108&r2=393109&view=diff
==============================================================================
--- james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java 
(original)
+++ james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java 
Mon Apr 10 15:47:08 2006
@@ -61,7 +61,7 @@
  * Tests the org.apache.james.smtpserver.SMTPServer unit 
  */
 public class SMTPServerTest extends TestCase {
-    private int m_smtpListenerPort = Util.getRandomNonPrivilegedPort();
+    private int m_smtpListenerPort = Util.getNonPrivilegedPort();
     private MockMailServer m_mailServer;
     private SMTPTestConfiguration m_testConfiguration;
     private SMTPServer m_smtpServer;

Modified: james/server/trunk/src/test/org/apache/james/test/util/Util.java
URL: 
http://svn.apache.org/viewcvs/james/server/trunk/src/test/org/apache/james/test/util/Util.java?rev=393109&r1=393108&r2=393109&view=diff
==============================================================================
--- james/server/trunk/src/test/org/apache/james/test/util/Util.java (original)
+++ james/server/trunk/src/test/org/apache/james/test/util/Util.java Mon Apr 10 
15:47:08 2006
@@ -20,10 +20,39 @@
 import org.apache.avalon.framework.configuration.DefaultConfiguration;
 import org.apache.james.smtpserver.*;
 
+/**
+ * some utilities for James unit testing
+ */
 public class Util {
 
-    public static int getRandomNonPrivilegedPort() {
-        return ((int)( Math.random() * 3000) + 8000);
+    private static final int PORT_RANGE_START =  8000; // the lowest possible 
port number assigned for testing
+    private static final int PORT_RANGE_END   = 11000; // the highest possible 
port number assigned for testing
+    private static int PORT_LAST_USED = PORT_RANGE_START;
+
+    /**
+     * assigns a port from the range of test ports
+     * @return port number
+     */
+    public static int getNonPrivilegedPort() {
+        return getNextNonPrivilegedPort(); // uses sequential assignment of 
ports
+    }
+
+    /**
+     * assigns a random port from the range of test ports
+     * @return port number
+     */
+    protected static int getRandomNonPrivilegedPortInt() {
+        return ((int)( Math.random() * (PORT_RANGE_END - PORT_RANGE_START) + 
PORT_RANGE_START));
+    }
+
+    /**
+     * assigns ports sequentially from the range of test ports
+     * @return port number
+     */
+    protected synchronized static int getNextNonPrivilegedPort() {
+        PORT_LAST_USED++;
+        if (PORT_LAST_USED > PORT_RANGE_END) PORT_LAST_USED = PORT_RANGE_START;
+        return PORT_LAST_USED;
     }
 
     public static Configuration getValuedConfiguration(String name, String 
value) {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to