diff options
author | Keith Wall <kwall@apache.org> | 2012-03-01 14:15:09 +0000 |
---|---|---|
committer | Keith Wall <kwall@apache.org> | 2012-03-01 14:15:09 +0000 |
commit | 0c926da1ca0d21c4eaa661a78b962440a760c519 (patch) | |
tree | caec258da67c740fcc4028037f50b1db745d636d | |
parent | 69e76169c501652ec77b0808387c18b4fa191b4a (diff) | |
download | qpid-python-0c926da1ca0d21c4eaa661a78b962440a760c519.tar.gz |
QPID-3867: ManagedQueueMBeanTest, fix test issue causing sporadic failure on some CI instances
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1295574 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagedQueueMBeanTest.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagedQueueMBeanTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagedQueueMBeanTest.java index 16c10892cb..244e547e02 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagedQueueMBeanTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/management/jmx/ManagedQueueMBeanTest.java @@ -223,17 +223,22 @@ public class ManagedQueueMBeanTest extends QpidBrokerTestCase asyncConnection.stop(); - // The exact number of messages moved will be non deterministic, but the number of messages moved - // plus the number consumed should be equal to the number we originally sent. + // The exact number of messages moved will be non deterministic, as the number of messages processed + // by the consumer cannot be predicited. There is also the possibility that a message can remain + // on the source queue. This situation will arise if a message has been acquired by the consumer, but not + // yet delivered to the client application (i.e. MessageListener#onMessage()) when the Connection#stop() occurs. + // + // The number of messages moved + the number consumed + any messages remaining on source should + // *always* be equal to the number we originally sent. int numberOfMessagesReadByConsumer = totalConsumed.intValue(); int numberOfMessagesOnDestinationQueue = _managedDestinationQueue.getMessageCount().intValue(); - LOGGER.debug("Async consumer read : " + numberOfMessagesReadByConsumer - + " Number of messages moved to destination : " + numberOfMessagesOnDestinationQueue); - assertEquals(numberOfMessagesToSend, numberOfMessagesReadByConsumer + numberOfMessagesOnDestinationQueue); - int numberOfMessagesRemainingOnSourceQueue = _managedSourceQueue.getMessageCount().intValue(); - assertEquals(0, numberOfMessagesRemainingOnSourceQueue); + + LOGGER.debug("Async consumer read : " + numberOfMessagesReadByConsumer + + " Number of messages moved to destination : " + numberOfMessagesOnDestinationQueue + + " Number of messages remaining on source : " + numberOfMessagesRemainingOnSourceQueue); + assertEquals("Unexpected number of messages after move", numberOfMessagesToSend, numberOfMessagesReadByConsumer + numberOfMessagesOnDestinationQueue + numberOfMessagesRemainingOnSourceQueue); } public void testMoveMessagesBetweenQueuesWithActiveConsumerOnDestinationQueue() throws Exception |