You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2009/06/25 02:38:20 UTC

svn commit: r788228 - in /servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm: CxfBcRMSequenceTest.java MessageRecorder.java

Author: ffang
Date: Thu Jun 25 00:38:19 2009
New Revision: 788228

URL: http://svn.apache.org/viewvc?rev=788228&view=rev
Log:
[SMXCOMP-575] Intermittent failure in CxfBcRMSequenceTest.testInactivityTimeout()

Modified:
    servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/CxfBcRMSequenceTest.java
    servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/MessageRecorder.java

Modified: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/CxfBcRMSequenceTest.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/CxfBcRMSequenceTest.java?rev=788228&r1=788227&r2=788228&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/CxfBcRMSequenceTest.java (original)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/CxfBcRMSequenceTest.java Thu Jun 25 00:38:19 2009
@@ -773,7 +773,7 @@
         greeter.greetMe("one");
 
         try {
-            Thread.sleep(200);
+            Thread.sleep(500);
         } catch (InterruptedException ex) {
             // ignore
         }
@@ -788,7 +788,7 @@
             assertTrue("Unexpected reason.", sf.getReason().endsWith("is not a known Sequence identifier."));
         }
 
-        awaitMessages(3, 3, 2000);
+        awaitMessages(3, 3, 5000);
 
         MessageFlow mf = new MessageFlow(outRecorder.getOutboundMessages(), inRecorder.getInboundMessages());
 

Modified: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/MessageRecorder.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/MessageRecorder.java?rev=788228&r1=788227&r2=788228&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/MessageRecorder.java (original)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/java/org/apache/servicemix/cxfbc/ws/rm/MessageRecorder.java Thu Jun 25 00:38:19 2009
@@ -16,6 +16,8 @@
  */
 package org.apache.servicemix.cxfbc.ws.rm;
 
+import java.util.List;
+
 import junit.framework.Assert;
 
 public class MessageRecorder extends Assert {
@@ -49,7 +51,34 @@
             }
             waited += 100;
         }
-        assertEquals("Did not receive expected number of inbound messages", nExpectedIn, nIn);
-        assertEquals("Did not send expected number of outbound messages", nExpectedOut, nOut);        
+        if (nExpectedIn != nIn) {
+            System.out.println((nExpectedIn < nIn ? "excess" : "shortfall")
+                               + " of " + Math.abs(nExpectedIn - nIn)
+                               + " incoming messages");
+            System.out.println("\nMessages actually received:\n");
+            List<byte[]> inbound = inRecorder.getInboundMessages();
+            for (byte[] b : inbound) {
+                System.out.println(new String(b) + "\n");
+                System.out.println("----------------\n");
+            }
+        }
+        if (nExpectedOut != nOut) {
+            System.out.println((nExpectedOut < nOut ? "excess" : "shortfall")
+                               + " of " + Math.abs(nExpectedOut - nOut)
+                               + " outgoing messages");
+            System.out.println("\nMessages actually sent:\n");
+            List<byte[]> outbound = outRecorder.getOutboundMessages();
+            for (byte[] b : outbound) {
+                System.out.println(new String(b) + "\n");
+                System.out.println("----------------\n");
+            }
+        }
+        
+        if (nExpectedIn > nIn) {
+            assertEquals("Did not receive expected number of inbound messages", nExpectedIn, nIn);
+        }
+        if (nExpectedOut > nOut) {
+            assertEquals("Did not send expected number of outbound messages", nExpectedOut, nOut);        
+        }        
     }    
 }