You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ay...@apache.org on 2011/05/25 21:00:05 UTC

svn commit: r1127633 - in /cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws: rm/MessageLossSimulator.java rm/ServerPersistenceTest.java util/InMessageRecorder.java util/OutMessageRecorder.java

Author: ay
Date: Wed May 25 19:00:05 2011
New Revision: 1127633

URL: http://svn.apache.org/viewvc?rev=1127633&view=rev
Log:
[CXF-3179] ServerPersistenceTest to use synchronized variables to avoid occasional test errors

Modified:
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/MessageLossSimulator.java
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/InMessageRecorder.java
    cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/OutMessageRecorder.java

Modified: cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/MessageLossSimulator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/MessageLossSimulator.java?rev=1127633&r1=1127632&r2=1127633&view=diff
==============================================================================
--- cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/MessageLossSimulator.java (original)
+++ cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/MessageLossSimulator.java Wed May 25 19:00:05 2011
@@ -66,9 +66,11 @@ public class MessageLossSimulator extend
         if (MessageUtils.isPartialResponse(message)) {
             return;
         }
-        appMessageCount++;
-        if (0 != (appMessageCount % 2)) {
-            return;
+        synchronized (this) {
+            appMessageCount++;
+            if (0 != (appMessageCount % 2)) {
+                return;
+            }
         }
         
         InterceptorChain chain = message.getInterceptorChain();

Modified: cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java?rev=1127633&r1=1127632&r2=1127633&view=diff
==============================================================================
--- cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java (original)
+++ cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/rm/ServerPersistenceTest.java Wed May 25 19:00:05 2011
@@ -153,13 +153,13 @@ public class ServerPersistenceTest exten
         LOG.fine("Restarted greeter server" + nl + nl);
         
         verifyServerRecovery(responses);
-        
-        out.getOutboundMessages().clear();
-        in.getInboundMessages().clear();
-            
         responses[3] = greeter.greetMeAsync("four");
+        
         verifyRetransmissionQueue();
         
+        out.getOutboundMessages().clear();
+        in.getInboundMessages().clear();
+
         greeterBus.shutdown(true);
         
         control.stopGreeter(CFG);
@@ -167,16 +167,10 @@ public class ServerPersistenceTest exten
     }
     
     void verifyMissingResponse(Response<GreetMeResponse> responses[]) throws Exception {
-        awaitMessages(5, 7, 30000);
-
+        awaitMessages(5, 8, 10000);
+        
         int nDone = 0;
         for (int i = 0; i < 3; i++) {
-            // wait another while to prove that response to second request is indeed lost
-            if (!responses[i].isDone()) {
-                Thread.sleep(4000);
-            }
-        }
-        for (int i = 0; i < 3; i++) {
             if (responses[i].isDone()) {
                 nDone++;
             }
@@ -243,8 +237,9 @@ public class ServerPersistenceTest exten
   
     
     void verifyRetransmissionQueue() throws Exception {
-        awaitMessages(3, 5, 60000);
+        awaitMessages(2, 5, 60000);
         
+        Thread.sleep(5000);
         boolean empty = greeterBus.getExtension(RMManager.class).getRetransmissionQueue().isEmpty();
         assertTrue("Retransmission Queue is not empty", empty);
     }

Modified: cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/InMessageRecorder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/InMessageRecorder.java?rev=1127633&r1=1127632&r2=1127633&view=diff
==============================================================================
--- cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/InMessageRecorder.java (original)
+++ cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/InMessageRecorder.java Wed May 25 19:00:05 2011
@@ -56,7 +56,9 @@ public class InMessageRecorder extends A
             is.close();
             bos.close();
             byte bytes[] = bos.toByteArray();
-            inbound.add(bytes);
+            synchronized (inbound) {
+                inbound.add(bytes);    
+            }
             if (LOG.isLoggable(Level.FINE)) {
                 LOG.fine("inbound: " + bos.toString());
             }

Modified: cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/OutMessageRecorder.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/OutMessageRecorder.java?rev=1127633&r1=1127632&r2=1127633&view=diff
==============================================================================
--- cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/OutMessageRecorder.java (original)
+++ cxf/trunk/systests/ws-specs/src/test/java/org/apache/cxf/systest/ws/util/OutMessageRecorder.java Wed May 25 19:00:05 2011
@@ -81,7 +81,9 @@ public class OutMessageRecorder extends 
                 if (LOG.isLoggable(Level.FINE)) {
                     LOG.fine("outbound: " + bytes);
                 }
-                outbound.add(bytes);
+                synchronized (outbound) {
+                    outbound.add(bytes);    
+                }
             } catch (Exception e) {
                 LOG.fine("Can't record message from output stream class: "
                          + cos.getOut().getClass().getName());