Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 47327 invoked from network); 24 Mar 2005 03:14:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 24 Mar 2005 03:14:42 -0000 Received: (qmail 93714 invoked by uid 500); 24 Mar 2005 03:14:42 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 93659 invoked by uid 500); 24 Mar 2005 03:14:42 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 93642 invoked by uid 99); 24 Mar 2005 03:14:42 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Wed, 23 Mar 2005 19:14:41 -0800 Received: (qmail 47311 invoked by uid 65534); 24 Mar 2005 03:14:40 -0000 Message-ID: <20050324031440.47310.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: svnmailer-1.0.0-dev Date: Thu, 24 Mar 2005 03:14:40 -0000 Subject: svn commit: r158871 - in directory/network/trunk/src: java/org/apache/mina/io/datagram/ java/org/apache/mina/io/socket/ java/org/apache/mina/util/ test/org/apache/mina/io/ test/org/apache/mina/io/datagram/ test/org/apache/mina/io/socket/ test/org/apache/mina/util/ To: commits@directory.apache.org From: trustin@apache.org X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: trustin Date: Wed Mar 23 19:14:38 2005 New Revision: 158871 URL: http://svn.apache.org/viewcvs?view=3Drev&rev=3D158871 Log: * Removed some System.out.println()s * Added more test cases Added: directory/network/trunk/src/test/org/apache/mina/io/ directory/network/trunk/src/test/org/apache/mina/io/AbstractBindTest.ja= va (with props) directory/network/trunk/src/test/org/apache/mina/io/datagram/ directory/network/trunk/src/test/org/apache/mina/io/datagram/BindTest.j= ava (with props) directory/network/trunk/src/test/org/apache/mina/io/socket/ directory/network/trunk/src/test/org/apache/mina/io/socket/BindTest.jav= a (with props) directory/network/trunk/src/test/org/apache/mina/util/QueueTest.java = (with props) Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAc= ceptor.java directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAccept= or.java directory/network/trunk/src/java/org/apache/mina/util/Queue.java Modified: directory/network/trunk/src/java/org/apache/mina/io/datagram/Data= gramAcceptor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/datagram/DatagramAcceptor.java?view=3Ddiff&r1=3D158870&r2=3D158= 871 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAc= ceptor.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/datagram/DatagramAc= ceptor.java Wed Mar 23 19:14:38 2005 @@ -459,7 +459,7 @@ break; } =20 - DatagramChannel ch =3D ( DatagramChannel ) channels.get( reque= st.address ); + DatagramChannel ch =3D ( DatagramChannel ) channels.remove( re= quest.address ); // close the channel try { Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/Socket= Acceptor.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/io/socket/SocketAcceptor.java?view=3Ddiff&r1=3D158870&r2=3D158871 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAccept= or.java (original) +++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketAccept= or.java Wed Mar 23 19:14:38 2005 @@ -138,9 +138,7 @@ { try { - request.wait( 1000 ); - - System.out.println( "request.done =3D " + request.done= ); + request.wait(); } catch( InterruptedException e ) { @@ -291,8 +289,6 @@ synchronized( registerQueue ) { req =3D ( RegistrationRequest ) registerQueue.pop(); - - System.out.println( "popped request =3D " + req ); } =20 if( req =3D=3D null ) @@ -364,7 +360,7 @@ break; } =20 - ServerSocketChannel ssc =3D ( ServerSocketChannel ) channels.g= et( request.address ); + ServerSocketChannel ssc =3D ( ServerSocketChannel ) channels.r= emove( request.address ); =20 // close the channel try Modified: directory/network/trunk/src/java/org/apache/mina/util/Queue.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apa= che/mina/util/Queue.java?view=3Ddiff&r1=3D158870&r2=3D158871 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/java/org/apache/mina/util/Queue.java (origi= nal) +++ directory/network/trunk/src/java/org/apache/mina/util/Queue.java Wed Ma= r 23 19:14:38 2005 @@ -53,6 +53,14 @@ items =3D new Object[ DEFAULT_CAPACITY ]; mask =3D DEFAULT_MASK; } + =20 + /** + * Returns the capacity of this queue. + */ + public int capacity() + { + return items.length; + } =20 /** * Clears this queue. Added: directory/network/trunk/src/test/org/apache/mina/io/AbstractBindTest= .java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apa= che/mina/io/AbstractBindTest.java?view=3Dauto&rev=3D158871 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/test/org/apache/mina/io/AbstractBindTest.ja= va (added) +++ directory/network/trunk/src/test/org/apache/mina/io/AbstractBindTest.ja= va Wed Mar 23 19:14:38 2005 @@ -0,0 +1,107 @@ +/* + * @(#) $Id$ + */ +package org.apache.mina.io; + +import java.io.IOException; +import java.net.InetSocketAddress; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import org.apache.mina.examples.echoserver.EchoProtocolHandler; + +public class AbstractBindTest extends TestCase +{ + protected final IoAcceptor acceptor; + protected int port; + + public AbstractBindTest( IoAcceptor acceptor ) + { + this.acceptor =3D acceptor; + } + =20 + public void setUp() throws IOException + { + // Find an availble test port and bind to it. + boolean socketBound =3D false; + + // Let's start from port #1 to detect possible resource leak + // because test will fail in port 1-1023 if user run this test + // as a normal user. + for( port =3D 1; port <=3D 65535; port ++ ) + { + socketBound =3D false; + try + { + acceptor.bind( new InetSocketAddress( port ), + new EchoProtocolHandler() ); + socketBound =3D true; + break; + } + catch( IOException e ) + { + } + } + + // If there is no port available, test fails. + if( !socketBound ) + { + throw new IOException( "Cannot bind any test port." ); + } + + System.out.println( "Using port " + port + " for testing." ); + } + =20 + public void tearDown() + { + try + { + acceptor.unbind( new InetSocketAddress( port ) ); + } + catch( Exception e ) + { + // ignore + } + } + =20 + public void testDuplicateBind() + { + try + { + acceptor.bind( new InetSocketAddress( port ), new EchoProtocol= Handler() ); + Assert.fail( "IOException is not thrown" ); + } + catch( IOException e ) + { + } + } + + public void testDuplicateUnbind() + { + // this should succeed + acceptor.unbind( new InetSocketAddress( port ) ); + =20 + try + { + // this should fail + acceptor.unbind( new InetSocketAddress( port ) ); + Assert.fail( "Exception is not thrown" ); + } + catch( Exception e ) + { + } + } + =20 + public void testManyTimes() throws IOException + { + InetSocketAddress addr =3D new InetSocketAddress( port ); + EchoProtocolHandler handler =3D new EchoProtocolHandler(); + for( int i =3D 0; i < 8192; i++ ) + { + acceptor.unbind( addr ); + acceptor.bind( addr, handler ); + } + } + +} Propchange: directory/network/trunk/src/test/org/apache/mina/io/AbstractBin= dTest.java ---------------------------------------------------------------------------= --- svn:keywords =3D HeadURL Id LastChangedBy LastChangedDate LastChangedRe= vision Added: directory/network/trunk/src/test/org/apache/mina/io/datagram/BindTes= t=2Ejava URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apa= che/mina/io/datagram/BindTest.java?view=3Dauto&rev=3D158871 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/test/org/apache/mina/io/datagram/BindTest.j= ava (added) +++ directory/network/trunk/src/test/org/apache/mina/io/datagram/BindTest.j= ava Wed Mar 23 19:14:38 2005 @@ -0,0 +1,18 @@ +/* + * @(#) $Id$ + */ +package org.apache.mina.io.datagram; + +import java.io.IOException; + +import org.apache.mina.io.AbstractBindTest; + +public class BindTest extends AbstractBindTest +{ + + public BindTest() throws IOException + { + super( new DatagramAcceptor() ); + } + +} Propchange: directory/network/trunk/src/test/org/apache/mina/io/datagram/Bi= ndTest.java ---------------------------------------------------------------------------= --- svn:keywords =3D HeadURL Id LastChangedBy LastChangedDate LastChangedRe= vision Added: directory/network/trunk/src/test/org/apache/mina/io/socket/BindTest.= java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apa= che/mina/io/socket/BindTest.java?view=3Dauto&rev=3D158871 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/test/org/apache/mina/io/socket/BindTest.jav= a (added) +++ directory/network/trunk/src/test/org/apache/mina/io/socket/BindTest.jav= a Wed Mar 23 19:14:38 2005 @@ -0,0 +1,18 @@ +/* + * @(#) $Id$ + */ +package org.apache.mina.io.socket; + +import java.io.IOException; + +import org.apache.mina.io.AbstractBindTest; + +public class BindTest extends AbstractBindTest +{ + + public BindTest() throws IOException + { + super( new SocketAcceptor() ); + } + +} Propchange: directory/network/trunk/src/test/org/apache/mina/io/socket/Bind= Test.java ---------------------------------------------------------------------------= --- svn:keywords =3D HeadURL Id LastChangedBy LastChangedDate LastChangedRe= vision Added: directory/network/trunk/src/test/org/apache/mina/util/QueueTest.java URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/test/org/apa= che/mina/util/QueueTest.java?view=3Dauto&rev=3D158871 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- directory/network/trunk/src/test/org/apache/mina/util/QueueTest.java (a= dded) +++ directory/network/trunk/src/test/org/apache/mina/util/QueueTest.java We= d Mar 23 19:14:38 2005 @@ -0,0 +1,59 @@ +/* + * @(#) $Id$ + */ +package org.apache.mina.util; + +import junit.framework.Assert; +import junit.framework.TestCase; + +public class QueueTest extends TestCase +{ + private int pushCount; + private int popCount; + =20 + public void setUp() + { + pushCount =3D 0; + popCount =3D 0; + } + + public void testRotation() + { + Queue q =3D new Queue(); // DEFAULT_CAPACITY =3D 4 + testRotation0( q ); + } + =20 + public void testExpandingRotation() + { + Queue q =3D new Queue(); // DEFAULT_CAPACITY =3D 4 + for( int i =3D 0; i < 10; i ++ ) + { + testRotation0( q ); + + // make expansion happen + int oldCapacity =3D q.capacity(); + for( int j =3D q.capacity(); j >=3D 0; j-- ) + { + q.push( new Integer( ++pushCount ) ); + } + =20 + Assert.assertTrue( q.capacity() > oldCapacity ); + testRotation0( q ); + } + } + =20 + private void testRotation0( Queue q ) + { + for( int i =3D 0; i < q.capacity() * 7 / 4; i ++ ) + { + q.push( new Integer( ++pushCount ) ); + Assert.assertEquals( ++popCount, ( ( Integer ) q.pop() ).intVa= lue() ); + } + } + =20 + public static void main( String[] args ) + { + junit.textui.TestRunner.run( QueueTest.class ); + } + +} Propchange: directory/network/trunk/src/test/org/apache/mina/util/QueueTest= .java ---------------------------------------------------------------------------= --- svn:keywords =3D HeadURL Id LastChangedBy LastChangedDate LastChangedRe= vision