You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2009/07/29 12:46:41 UTC
svn commit: r798852 - in
/activemq/trunk/activemq-core/src/test/java/org/apache/activemq:
network/DemandForwardingBridgeTest.java util/Wait.java
Author: gtully
Date: Wed Jul 29 10:46:38 2009
New Revision: 798852
URL: http://svn.apache.org/viewvc?rev=798852&view=rev
Log:
make test more tolerant to slower machines, resolve intermittent failure
Modified:
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java
activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java
Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java?rev=798852&r1=798851&r2=798852&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/network/DemandForwardingBridgeTest.java Wed Jul 29 10:46:38 2009
@@ -26,6 +26,7 @@
import org.apache.activemq.command.Message;
import org.apache.activemq.command.ProducerInfo;
import org.apache.activemq.command.SessionInfo;
+import org.apache.activemq.util.Wait;
public class DemandForwardingBridgeTest extends NetworkTestSupport {
@@ -53,7 +54,7 @@
destination = createDestinationInfo(connection1, connectionInfo1, destinationType);
// Start a consumer on a remote broker
- StubConnection connection2 = createRemoteConnection();
+ final StubConnection connection2 = createRemoteConnection();
ConnectionInfo connectionInfo2 = createConnectionInfo();
SessionInfo sessionInfo2 = createSessionInfo(connectionInfo2);
connection2.send(connectionInfo2);
@@ -73,11 +74,14 @@
// Now create remote consumer that should cause message to move to this
// remote consumer.
ConsumerInfo consumerInfo2 = createConsumerInfo(sessionInfo2, destination);
- connection2.send(consumerInfo2);
+ connection2.request(consumerInfo2);
// Make sure the message was delivered via the remote.
- m = receiveMessage(connection2);
- assertNotNull(m);
+ assertTrue("message was received", Wait.waitFor(new Wait.Condition() {
+ public boolean isSatisified() throws Exception {
+ return receiveMessage(connection2) != null;
+ }
+ }));
}
public void initCombosForTestAddConsumerThenSend() {
Modified: activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java?rev=798852&r1=798851&r2=798852&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java (original)
+++ activemq/trunk/activemq-core/src/test/java/org/apache/activemq/util/Wait.java Wed Jul 29 10:46:38 2009
@@ -32,9 +32,11 @@
public static boolean waitFor(final Condition condition, final long duration) throws Exception {
final long expiry = System.currentTimeMillis() + duration;
- while (!condition.isSatisified() && System.currentTimeMillis() < expiry) {
+ boolean conditionSatisified = condition.isSatisified();
+ while (!conditionSatisified && System.currentTimeMillis() < expiry) {
Thread.sleep(1000);
+ conditionSatisified = condition.isSatisified();
}
- return condition.isSatisified();
+ return conditionSatisified;
}
}