You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2010/01/14 13:33:30 UTC

svn commit: r899178 - in /mina/trunk/core/src/test/java/org/apache/mina/transport: AbstractConnectorTest.java AbstractFileRegionTest.java

Author: elecharny
Date: Thu Jan 14 12:33:30 2010
New Revision: 899178

URL: http://svn.apache.org/viewvc?rev=899178&view=rev
Log:
Fixed (temporarily) the failing tests on MAC OSX by selecting a different port for each test. Workaround, at best.

Modified:
    mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java
    mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java?rev=899178&r1=899177&r2=899178&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractConnectorTest.java Thu Jan 14 12:33:30 2010
@@ -85,7 +85,7 @@
     }
 
     public void testConnectFutureFailureTiming() throws Exception {
-        int port = AvailablePortFinder.getNextAvailable(3025);
+        int port = AvailablePortFinder.getNextAvailable(1025);
         final StringBuffer buf = new StringBuffer();
 
         IoConnector connector = createConnector();
@@ -135,34 +135,43 @@
         final CountDownLatch latch = new CountDownLatch(2);
         final ConnectFuture[] callbackFuture = new ConnectFuture[1];
         
-        int port = AvailablePortFinder.getNextAvailable(4025);
+        int port = AvailablePortFinder.getNextAvailable(3025);
         IoAcceptor acceptor = createAcceptor();
-        acceptor.setHandler(new IoHandlerAdapter());
-        InetSocketAddress address = new InetSocketAddress(port);
-        acceptor.bind(address);
-
         IoConnector connector = createConnector();
-        connector.setHandler(new IoHandlerAdapter() {
-           @Override
-            public void sessionCreated(IoSession session) throws Exception {
-                   assertions[sessionCreatedInvoked] = true;
-                   assertions[sessionCreatedInvokedBeforeCallback] = !assertions[callbackInvoked];
-                   latch.countDown();
-            } 
-        });
+
+        try {
+            acceptor.setHandler(new IoHandlerAdapter());
+            InetSocketAddress address = new InetSocketAddress(port);
+            acceptor.bind(address);
+    
+            connector.setHandler(new IoHandlerAdapter() {
+               @Override
+                public void sessionCreated(IoSession session) throws Exception {
+                       assertions[sessionCreatedInvoked] = true;
+                       assertions[sessionCreatedInvokedBeforeCallback] = !assertions[callbackInvoked];
+                       latch.countDown();
+                } 
+            });
         
-        ConnectFuture future = connector.connect(new InetSocketAddress("127.0.0.1", port), new IoSessionInitializer<ConnectFuture>() {
-            public void initializeSession(IoSession session, ConnectFuture future) {
-                assertions[callbackInvoked] = true;
-                callbackFuture[0] = future;
-                latch.countDown();
+            ConnectFuture future = connector.connect(new InetSocketAddress("127.0.0.1", port), new IoSessionInitializer<ConnectFuture>() {
+                public void initializeSession(IoSession session, ConnectFuture future) {
+                    assertions[callbackInvoked] = true;
+                    callbackFuture[0] = future;
+                    latch.countDown();
+                }
+            });
+            
+            assertTrue("Timed out waiting for callback and IoHandler.sessionCreated to be invoked", latch.await(5, TimeUnit.SECONDS));
+            assertTrue("Callback was not invoked", assertions[callbackInvoked]);
+            assertTrue("IoHandler.sessionCreated was not invoked", assertions[sessionCreatedInvoked]);
+            assertFalse("IoHandler.sessionCreated was invoked before session callback", assertions[sessionCreatedInvokedBeforeCallback]);
+            assertSame("Callback future should have been same future as returned by connect", future, callbackFuture[0]);
+        } finally {
+            try {
+                connector.dispose();
+            } finally {
+                acceptor.dispose();
             }
-        });
-        
-        assertTrue("Timed out waiting for callback and IoHandler.sessionCreated to be invoked", latch.await(5, TimeUnit.SECONDS));
-        assertTrue("Callback was not invoked", assertions[callbackInvoked]);
-        assertTrue("IoHandler.sessionCreated was not invoked", assertions[sessionCreatedInvoked]);
-        assertFalse("IoHandler.sessionCreated was invoked before session callback", assertions[sessionCreatedInvokedBeforeCallback]);
-        assertSame("Callback future should have been same future as returned by connect", future, callbackFuture[0]);
+        }
     }
 }

Modified: mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java?rev=899178&r1=899177&r2=899178&view=diff
==============================================================================
--- mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java (original)
+++ mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java Thu Jan 14 12:33:30 2010
@@ -60,71 +60,76 @@
         final boolean[] success = {false};
         final Throwable[] exception = {null};
         
-        int port = AvailablePortFinder.getNextAvailable(1025);
+        int port = AvailablePortFinder.getNextAvailable(4025);
         IoAcceptor acceptor = createAcceptor();
-        
-        acceptor.setHandler(new IoHandlerAdapter() {
-            private int index = 0;
-            @Override
-            public void exceptionCaught(IoSession session, Throwable cause)
-                    throws Exception {
-                exception[0] = cause;
-                session.close(true);
-            }
-            @Override
-            public void messageReceived(IoSession session, Object message) throws Exception {
-                IoBuffer buffer = (IoBuffer) message;
-                while (buffer.hasRemaining()) {
-                    int x = buffer.getInt();
-                    if (x != index) {
-                        throw new Exception(String.format("Integer at %d was %d but should have been %d", index, x, index));
-                    }
-                    index++;
+        IoConnector connector = createConnector();
+
+        try {
+            acceptor.setHandler(new IoHandlerAdapter() {
+                private int index = 0;
+                @Override
+                public void exceptionCaught(IoSession session, Throwable cause)
+                        throws Exception {
+                    exception[0] = cause;
+                    session.close(true);
                 }
-                if (index > FILE_SIZE / 4) {
-                    throw new Exception("Read too much data");
+                @Override
+                public void messageReceived(IoSession session, Object message) throws Exception {
+                    IoBuffer buffer = (IoBuffer) message;
+                    while (buffer.hasRemaining()) {
+                        int x = buffer.getInt();
+                        if (x != index) {
+                            throw new Exception(String.format("Integer at %d was %d but should have been %d", index, x, index));
+                        }
+                        index++;
+                    }
+                    if (index > FILE_SIZE / 4) {
+                        throw new Exception("Read too much data");
+                    }
+                    if (index == FILE_SIZE / 4) {
+                        success[0] = true;
+                        session.close(true);
+                    }
                 }
-                if (index == FILE_SIZE / 4) {
-                    success[0] = true;
+            });
+            
+            acceptor.bind(new InetSocketAddress(port));
+            
+            connector.setHandler(new IoHandlerAdapter() {
+                @Override
+                public void exceptionCaught(IoSession session, Throwable cause)
+                        throws Exception {
+                    exception[0] = cause;
                     session.close(true);
                 }
+                @Override
+                public void sessionClosed(IoSession session) throws Exception {
+                    latch.countDown();
+                }
+            });
+            
+            ConnectFuture future = connector.connect(new InetSocketAddress("localhost", port));
+            future.awaitUninterruptibly();
+            
+            IoSession session = future.getSession();
+            session.write(file);
+            
+            latch.await();
+            
+            if (exception[0] != null) {
+                throw exception[0];
             }
-        });
-        
-        acceptor.bind(new InetSocketAddress(port));
-        
-        IoConnector connector = createConnector();
-        connector.setHandler(new IoHandlerAdapter() {
-            @Override
-            public void exceptionCaught(IoSession session, Throwable cause)
-                    throws Exception {
-                exception[0] = cause;
-                session.close(true);
-            }
-            @Override
-            public void sessionClosed(IoSession session) throws Exception {
-                latch.countDown();
+            assertTrue("Did not complete file transfer successfully", success[0]);
+            
+            assertEquals("Written messages should be 1 (we wrote one file)", 1, session.getWrittenMessages());
+            assertEquals("Written bytes should match file size", FILE_SIZE, session.getWrittenBytes());
+        } finally {
+            try {
+                connector.dispose();
+            } finally {
+                acceptor.dispose();
             }
-        });
-        
-        ConnectFuture future = connector.connect(new InetSocketAddress("localhost", port));
-        future.awaitUninterruptibly();
-        
-        IoSession session = future.getSession();
-        session.write(file);
-        
-        latch.await();
-        
-        if (exception[0] != null) {
-            throw exception[0];
         }
-        assertTrue("Did not complete file transfer successfully", success[0]);
-        
-        assertEquals("Written messages should be 1 (we wrote one file)", 1, session.getWrittenMessages());
-        assertEquals("Written bytes should match file size", FILE_SIZE, session.getWrittenBytes());
-        
-        connector.dispose();
-        acceptor.dispose();
     }
     
     private File createLargeFile() throws IOException {