Author: kwall
Date: Fri Apr 22 09:53:18 2016
New Revision: 1740476

URL: http://svn.apache.org/viewvc?rev=1740476&view=rev
Log:
NO-JIRA: [Java Tests] AbstractQueueTest - avoid spurious test failure

Modified:
    
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java

Modified: 
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java?rev=1740476&r1=1740475&r2=1740476&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java
 (original)
+++ 
qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java
 Fri Apr 22 09:53:18 2016
@@ -487,9 +487,18 @@ abstract class AbstractQueueTestBase ext
 
         // Check sending a message ends up with the subscriber
         _queue.enqueue(messageA, null, null);
-        Thread.sleep(QUEUE_RUNNER_WAIT_TIME);
 
-        assertEquals(messageA, 
_consumer.getQueueContext().getLastSeenEntry().getMessage());
+        final long timeout = System.currentTimeMillis() + 
QUEUE_RUNNER_WAIT_TIME;
+
+        QueueEntry lastSeen = null;
+        while (timeout > System.currentTimeMillis() &&
+               ((lastSeen = _consumer.getQueueContext().getLastSeenEntry()) == 
null || lastSeen.getMessage() == null))
+        {
+            Thread.sleep(10);
+        }
+
+        assertEquals("Queue context did not see expected message within 
timeout",
+                     messageA, 
_consumer.getQueueContext().getLastSeenEntry().getMessage());
 
         // Check we cannot add a second subscriber to the queue
         MockConsumer subB = new MockConsumer();



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to