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