Author: markt
Date: Wed Mar 21 21:46:18 2012
New Revision: 1303587

URL: http://svn.apache.org/viewvc?rev=1303587&view=rev
Log:
First stab at keeping concurrent runs of the tribes unit tests from interfering.

Added:
    tomcat/trunk/test/org/apache/catalina/tribes/TesterUtil.java   (with props)
Modified:
    
tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelMemberArrival.java
    
tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelSenderConnections.java
    
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestNonBlockingCoordinator.java
    
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestOrderInterceptor.java
    
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestTcpFailureDetector.java
    
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestDataIntegrity.java
    
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestMulticastPackages.java
    
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestRemoteProcessException.java
    
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestUdpPackages.java

Added: tomcat/trunk/test/org/apache/catalina/tribes/TesterUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/TesterUtil.java?rev=1303587&view=auto
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/tribes/TesterUtil.java (added)
+++ tomcat/trunk/test/org/apache/catalina/tribes/TesterUtil.java Wed Mar 21 
21:46:18 2012
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.catalina.tribes;
+
+import org.apache.catalina.tribes.group.interceptors.DomainFilterInterceptor;
+import org.apache.catalina.tribes.util.UUIDGenerator;
+
+/**
+ * Utility methods for use by multiple tests.
+ */
+public class TesterUtil {
+
+    private TesterUtil() {
+        // Hide default constructor
+    }
+
+
+    /**
+     * Configures a set of channels to use a random domain. Use to ensure that
+     * multiple instance of the test suite do not interfere when running on the
+     * same machine. This may happen in a CI system or when a developer is
+     * running tests for multiple branches in parallel.
+     */
+    public static void addRandomDomain(ManagedChannel[] channels) {
+        if (channels == null) {
+            return;
+        }
+
+        byte[] domain = UUIDGenerator.randomUUID(false);
+
+        for (ManagedChannel channel : channels) {
+            channel.getMembershipService().setDomain(domain);
+            DomainFilterInterceptor filter = new DomainFilterInterceptor();
+            filter.setDomain(domain);
+            channel.addInterceptor(filter);
+        }
+    }
+}

Propchange: tomcat/trunk/test/org/apache/catalina/tribes/TesterUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelMemberArrival.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelMemberArrival.java?rev=1303587&r1=1303586&r2=1303587&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelMemberArrival.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelMemberArrival.java
 Wed Mar 21 21:46:18 2012
@@ -28,6 +28,7 @@ import org.apache.catalina.tribes.Channe
 import org.apache.catalina.tribes.ManagedChannel;
 import org.apache.catalina.tribes.Member;
 import org.apache.catalina.tribes.MembershipListener;
+import org.apache.catalina.tribes.TesterUtil;
 
 public class TestGroupChannelMemberArrival {
     private static int count = 10;
@@ -42,6 +43,7 @@ public class TestGroupChannelMemberArriv
             listeners[i] = new TestMbrListener( ("Listener-" + (i + 1)));
             channels[i].addMembershipListener(listeners[i]);
         }
+        TesterUtil.addRandomDomain(channels);
     }
 
     @Test

Modified: 
tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelSenderConnections.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelSenderConnections.java?rev=1303587&r1=1303586&r2=1303587&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelSenderConnections.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/tribes/group/TestGroupChannelSenderConnections.java
 Wed Mar 21 21:46:18 2012
@@ -33,6 +33,7 @@ import org.apache.catalina.tribes.Channe
 import org.apache.catalina.tribes.ChannelListener;
 import org.apache.catalina.tribes.ManagedChannel;
 import org.apache.catalina.tribes.Member;
+import org.apache.catalina.tribes.TesterUtil;
 import org.apache.catalina.tribes.transport.ReplicationTransmitter;
 
 public class TestGroupChannelSenderConnections extends LoggingBaseTest {
@@ -51,6 +52,7 @@ public class TestGroupChannelSenderConne
             channels[i].addChannelListener(listeners[i]);
             channels[i].start(Channel.SND_RX_SEQ|Channel.SND_TX_SEQ);
         }
+        TesterUtil.addRandomDomain(channels);
     }
 
     public void sendMessages(long delay, long sleep) throws Exception {

Modified: 
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestNonBlockingCoordinator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestNonBlockingCoordinator.java?rev=1303587&r1=1303586&r2=1303587&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestNonBlockingCoordinator.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestNonBlockingCoordinator.java
 Wed Mar 21 21:46:18 2012
@@ -24,6 +24,7 @@ import org.junit.Test;
 
 import org.apache.catalina.tribes.Channel;
 import org.apache.catalina.tribes.Member;
+import org.apache.catalina.tribes.TesterUtil;
 import org.apache.catalina.tribes.group.GroupChannel;
 
 public class TestNonBlockingCoordinator {
@@ -57,6 +58,7 @@ public class TestNonBlockingCoordinator 
                 }
             };
         }
+        TesterUtil.addRandomDomain(channels);
         for (int i = 0; i < CHANNEL_COUNT; i++) {
             threads[i].start();
         }

Modified: 
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestOrderInterceptor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestOrderInterceptor.java?rev=1303587&r1=1303586&r2=1303587&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestOrderInterceptor.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestOrderInterceptor.java
 Wed Mar 21 21:46:18 2012
@@ -33,6 +33,7 @@ import org.apache.catalina.tribes.Channe
 import org.apache.catalina.tribes.ChannelListener;
 import org.apache.catalina.tribes.ChannelMessage;
 import org.apache.catalina.tribes.Member;
+import org.apache.catalina.tribes.TesterUtil;
 import org.apache.catalina.tribes.group.ChannelInterceptorBase;
 import org.apache.catalina.tribes.group.GroupChannel;
 import org.apache.catalina.tribes.group.InterceptorPayload;
@@ -77,6 +78,7 @@ public class TestOrderInterceptor {
                 }
             };
         }
+        TesterUtil.addRandomDomain(channels);
         for ( int i=0; i<channelCount; i++ ) threads[i].start();
         for ( int i=0; i<channelCount; i++ ) threads[i].join();
         Thread.sleep(1000);

Modified: 
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestTcpFailureDetector.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestTcpFailureDetector.java?rev=1303587&r1=1303586&r2=1303587&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestTcpFailureDetector.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/tribes/group/interceptors/TestTcpFailureDetector.java
 Wed Mar 21 21:46:18 2012
@@ -31,6 +31,7 @@ import org.apache.catalina.tribes.Channe
 import org.apache.catalina.tribes.ManagedChannel;
 import org.apache.catalina.tribes.Member;
 import org.apache.catalina.tribes.MembershipListener;
+import org.apache.catalina.tribes.TesterUtil;
 import org.apache.catalina.tribes.group.GroupChannel;
 
 /**
@@ -65,6 +66,7 @@ public class TestTcpFailureDetector {
         channel2.addInterceptor(tcpFailureDetector2);
         channel1.addMembershipListener(mbrlist1);
         channel2.addMembershipListener(mbrlist2);
+        TesterUtil.addRandomDomain(new ManagedChannel[] {channel1, channel2});
     }
 
     public void clear() {

Modified: 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestDataIntegrity.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestDataIntegrity.java?rev=1303587&r1=1303586&r2=1303587&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestDataIntegrity.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestDataIntegrity.java
 Wed Mar 21 21:46:18 2012
@@ -28,7 +28,9 @@ import org.junit.Test;
 
 import org.apache.catalina.tribes.Channel;
 import org.apache.catalina.tribes.ChannelListener;
+import org.apache.catalina.tribes.ManagedChannel;
 import org.apache.catalina.tribes.Member;
+import org.apache.catalina.tribes.TesterUtil;
 import org.apache.catalina.tribes.group.GroupChannel;
 import 
org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor;
 
@@ -57,6 +59,7 @@ public class TestDataIntegrity {
         channel2.addInterceptor(new MessageDispatch15Interceptor());
         listener1 = new Listener();
         channel2.addChannelListener(listener1);
+        TesterUtil.addRandomDomain(new ManagedChannel[] {channel1, channel2});
         channel1.start(Channel.DEFAULT);
         channel2.start(Channel.DEFAULT);
     }

Modified: 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestMulticastPackages.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestMulticastPackages.java?rev=1303587&r1=1303586&r2=1303587&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestMulticastPackages.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestMulticastPackages.java
 Wed Mar 21 21:46:18 2012
@@ -31,7 +31,9 @@ import org.junit.Test;
 import org.apache.catalina.tribes.Channel;
 import org.apache.catalina.tribes.ChannelListener;
 import org.apache.catalina.tribes.ChannelReceiver;
+import org.apache.catalina.tribes.ManagedChannel;
 import org.apache.catalina.tribes.Member;
+import org.apache.catalina.tribes.TesterUtil;
 import org.apache.catalina.tribes.group.GroupChannel;
 import 
org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor;
 import org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor;
@@ -67,6 +69,7 @@ public class TestMulticastPackages {
         rb1.setUdpPort(50000);
         rb2.setUdpPort(50000);
         channel2.addChannelListener(listener1);
+        TesterUtil.addRandomDomain(new ManagedChannel[] {channel1, channel2});
         channel1.start(Channel.DEFAULT);
         channel2.start(Channel.DEFAULT);
     }

Modified: 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestRemoteProcessException.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestRemoteProcessException.java?rev=1303587&r1=1303586&r2=1303587&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestRemoteProcessException.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestRemoteProcessException.java
 Wed Mar 21 21:46:18 2012
@@ -29,7 +29,9 @@ import org.junit.Test;
 
 import org.apache.catalina.tribes.Channel;
 import org.apache.catalina.tribes.ChannelListener;
+import org.apache.catalina.tribes.ManagedChannel;
 import org.apache.catalina.tribes.Member;
+import org.apache.catalina.tribes.TesterUtil;
 import org.apache.catalina.tribes.group.GroupChannel;
 
 /**
@@ -54,6 +56,7 @@ public class TestRemoteProcessException 
         channel2 = new GroupChannel();
         listener1 = new Listener();
         channel2.addChannelListener(listener1);
+        TesterUtil.addRandomDomain(new ManagedChannel[] {channel1, channel2});
         channel1.start(Channel.DEFAULT);
         channel2.start(Channel.DEFAULT);
     }

Modified: 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestUdpPackages.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestUdpPackages.java?rev=1303587&r1=1303586&r2=1303587&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestUdpPackages.java 
(original)
+++ 
tomcat/trunk/test/org/apache/catalina/tribes/test/channel/TestUdpPackages.java 
Wed Mar 21 21:46:18 2012
@@ -31,7 +31,9 @@ import org.junit.Test;
 import org.apache.catalina.tribes.Channel;
 import org.apache.catalina.tribes.ChannelListener;
 import org.apache.catalina.tribes.ChannelReceiver;
+import org.apache.catalina.tribes.ManagedChannel;
 import org.apache.catalina.tribes.Member;
+import org.apache.catalina.tribes.TesterUtil;
 import org.apache.catalina.tribes.group.GroupChannel;
 import 
org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor;
 import org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor;
@@ -67,6 +69,7 @@ public class TestUdpPackages {
         rb1.setUdpPort(50000);
         rb2.setUdpPort(50000);
         channel2.addChannelListener(listener1);
+        TesterUtil.addRandomDomain(new ManagedChannel[] {channel1, channel2});
         channel1.start(Channel.DEFAULT);
         channel2.start(Channel.DEFAULT);
     }



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

Reply via email to