You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pe...@apache.org on 2006/01/05 20:32:32 UTC

svn commit: r366254 - in /tomcat/container/tc5.5.x/modules/cluster: src/share/org/apache/catalina/cluster/io/ test/ test/src/share/org/apache/catalina/cluster/io/ test/src/share/org/apache/catalina/cluster/tcp/

Author: pero
Date: Thu Jan  5 11:32:21 2006
New Revision: 366254

URL: http://svn.apache.org/viewcvs?rev=366254&view=rev
Log:
Activate junit tests

Modified:
    tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java
    tomcat/container/tc5.5.x/modules/cluster/test/build.xml
    tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java
    tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java

Modified: tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java?rev=366254&r1=366253&r2=366254&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/io/XByteBuffer.java Thu Jan  5 11:32:21 2006
@@ -346,7 +346,7 @@
                 + END_DATA.length];
         System.arraycopy(START_DATA, 0, result, 0, START_DATA.length);
         System.arraycopy(toBytes(ClusterMessage.FLAG_FORBIDDEN), 0, result, START_DATA.length, 4);
-        System.arraycopy(toBytes(data.length), 0, result, START_DATA.length, 8);
+        System.arraycopy(toBytes(data.length), 0, result, START_DATA.length + 4, 4);
         System.arraycopy(data, 0, result, START_DATA.length + 8, data.length);
         System.arraycopy(END_DATA, 0, result, START_DATA.length + 8
                 + data.length, END_DATA.length);

Modified: tomcat/container/tc5.5.x/modules/cluster/test/build.xml
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/test/build.xml?rev=366254&r1=366253&r2=366254&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/test/build.xml (original)
+++ tomcat/container/tc5.5.x/modules/cluster/test/build.xml Thu Jan  5 11:32:21 2006
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <!-- @author Peter Rossbach -->
 <project name="Tomcat: Cluster Testcases" basedir="." default="test">
-	<property file="../../../../build.properties" />
-	<property file="../../../../jakarta-tomcat-5/build.properties.default" />
+	<property file="../../../../build/build.properties" />
+	<property file="../../../../build/build.properties.default" />
 	<property name="test.report.logs" value="logs/reports" />
 	<property name="test.results" value="logs/test-results" />
 
@@ -14,7 +14,7 @@
 	<property name="compile.encoding" value="ISO-8859-1" />
 	<property name="build.dir" value="build/test" />
 	<property name="src.dir" value="src/share" />
-	<property name="catalina.home" value="../../../../jakarta-tomcat-5/build" />
+	<property name="catalina.home" value="../../../../build/build" />
 
 	<!-- Build the classpath -->
 	<path id="project.classpath">

Modified: tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java?rev=366254&r1=366253&r2=366254&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/io/XByteBufferTest.java Thu Jan  5 11:32:21 2006
@@ -82,12 +82,14 @@
         for (byte i = 1; i < 4; i++) {
             data = b.extractPackage(true);
             d = data.getMessage();
-            assertEquals(i, d[0]);
+            assertEquals("wrong message content",i, d[0]);
         }
     }
 
     /**
-     * @return
+     * create three message inside one byte buffer
+     * @return three clustermessage at one byte array
+     * @see XByteBuffer#createDataPackage(byte[])
      * @throws IOException
      */
     private byte[] createMessage() throws IOException {
@@ -105,7 +107,7 @@
     /**
      * Test the type convertes to and from byte array
      */
-    public void testTypeconverter() {
+    public void testTypeConverter() {
         byte[] d = XByteBuffer.toBytes(Integer.MAX_VALUE);
         assertEquals(4, d.length);
         assertEquals(Integer.MAX_VALUE, XByteBuffer.toInt(d, 0));

Modified: tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java
URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java?rev=366254&r1=366253&r2=366254&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java (original)
+++ tomcat/container/tc5.5.x/modules/cluster/test/src/share/org/apache/catalina/cluster/tcp/DataSenderTest.java Thu Jan  5 11:32:21 2006
@@ -133,15 +133,16 @@
         ClusterData data = new ClusterData("test", "123",new byte[]{ 1,2,3 }, System.currentTimeMillis() );
         sender.writeData(data) ;
         ByteArrayOutputStream stream = (ByteArrayOutputStream)sender.getSocket().getOutputStream();
-        assertEquals(21,stream.size());
+        assertEquals(25,stream.size());
         ByteArrayInputStream istream = (ByteArrayInputStream)sender.getSocket().getInputStream();
-        assertEquals(-1,istream.read());    
+        assertEquals(6,istream.read());    
         MockSocket socket =((MockSocket)sender.getSocket());
         socket.reset();
+        sender.setWaitForAck(true);
         socket.setReadIOException(true);
         try {
             sender.writeData(data);
-            fail("Missing Ack IOExcpetion") ;
+            fail("Missing Ack IOException") ;
         } catch (IOException ioe) {} ;
         socket.reset();
         socket.setReadIOException(false);
@@ -165,7 +166,7 @@
         ClusterData data = new ClusterData("test", "123",new byte[]{ 1,2,3 }, System.currentTimeMillis() );
         sender.writeData(data) ;
         ByteArrayOutputStream stream = (ByteArrayOutputStream)sender.getSocket().getOutputStream();
-        assertEquals(21,stream.size());
+        assertEquals(25,stream.size());
         ByteArrayInputStream istream = (ByteArrayInputStream)sender.getSocket().getInputStream();
         assertEquals(3,TcpReplicationThread.ACK_COMMAND.length);
         assertEquals(TcpReplicationThread.ACK_COMMAND[0],istream.read());        
@@ -177,7 +178,7 @@
      * Check close socket fro keep alive handling is correct (number of request and timeout
      * @throws Exception
      */
-    public void testcheckKeepAlive() throws Exception {
+    public void testCheckKeepAlive() throws Exception {
         DataSender sender = createMockDataSender() ;
         assertFalse(sender.checkKeepAlive()) ;
         sender.setKeepAliveMaxRequestCount(1);
@@ -222,6 +223,7 @@
     public void testPushMessageRetryFailure() throws Exception {
         InetAddress host = InetAddress.getByName("127.0.0.1");
         DataSender sender = new MockDataSender("catalina",host, 3434);
+        sender.setResend(true);
         sender.openSocket() ;
         ((MockSocket)sender.getSocket()).setWriteIOException(true);
         assertPushMessage(sender);
@@ -230,15 +232,33 @@
     }
     
     /**
+     * Test socket closed after socket write failure without retry
+     * @throws Exception
+     */
+    public void testPushMessageFailure() throws Exception {
+        InetAddress host = InetAddress.getByName("127.0.0.1");
+        DataSender sender = new MockDataSender("catalina",host, 3434);
+        sender.openSocket() ;
+        ((MockSocket)sender.getSocket()).setWriteIOException(true);
+        try {
+            assertPushMessage(sender);
+            fail("No IOException is thrown");
+        } catch (IOException ioe) {}
+        assertFalse(sender.isConnected());
+        assertEquals(1,sender.getSocketOpenCounter());
+        assertEquals(1,sender.getSocketCloseCounter());
+    }
+
+    /**
      * @param sender
      * @throws IOException
      */
     private void assertPushMessage(DataSender sender) throws IOException {
         ByteArrayOutputStream stream = pushMessage(sender);
-        assertEquals(21,stream.size());
-        assertEquals(1,sender.getKeepAliveCount());
-        assertEquals(1,sender.getNrOfRequests());
-        assertEquals(0,sender.getProcessingTime());
+        assertEquals("message format is wrong",25,stream.size());
+        assertEquals("socket is not at keep alive mode",1,sender.getKeepAliveCount());
+        assertEquals("no stats or wrong number of request message counter",1,sender.getNrOfRequests());
+        assertEquals("to long operation",0,sender.getProcessingTime());
         assertEquals(Long.MAX_VALUE,sender.getMinProcessingTime());
     }
 
@@ -250,7 +270,7 @@
     private ByteArrayOutputStream pushMessage(DataSender sender) throws IOException {
         ClusterData data = new ClusterData("unique-id", "123",new byte[]{ 1,2,3 }, System.currentTimeMillis() );
         sender.pushMessage(data );
-        assertTrue(sender.isConnected());
+        assertTrue("sender is not connect after message pushed!",sender.isConnected());
         ByteArrayOutputStream stream = (ByteArrayOutputStream)sender.getSocket().getOutputStream();
         return stream;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org