summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/QueueTest.cpp
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2008-09-30 16:04:29 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2008-09-30 16:04:29 +0000
commitf5af731b352b48f2e8aa58f76b3abaf8e6a908cd (patch)
treeae2f08bcef8379561f3ae7c408bb9106842dedb2 /qpid/cpp/src/tests/QueueTest.cpp
parent008ce22eadfbbd761f6b7a2011c78ce509c2ddb5 (diff)
downloadqpid-python-f5af731b352b48f2e8aa58f76b3abaf8e6a908cd.tar.gz
QPID-1306
Cleaner consume check, pointed out by gsim. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@700516 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/QueueTest.cpp')
-rw-r--r--qpid/cpp/src/tests/QueueTest.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/qpid/cpp/src/tests/QueueTest.cpp b/qpid/cpp/src/tests/QueueTest.cpp
index 111920aa59..ae29d48111 100644
--- a/qpid/cpp/src/tests/QueueTest.cpp
+++ b/qpid/cpp/src/tests/QueueTest.cpp
@@ -301,27 +301,23 @@ QPID_AUTO_TEST_CASE(testOptimisticConsume){
queue->setLastNodeFailure();
intrusive_ptr<Message> msg1 = message("e", "A");
- intrusive_ptr<Message> msg2 = message("e", "B");
- intrusive_ptr<Message> msg3 = message("e", "C");
msg1->forcePersistent();
- msg2->forcePersistent();
- msg3->forcePersistent();
- //enqueue 2 messages
- queue->deliver(msg1);
- queue->deliver(msg2);
-
//change mode
args.setInt("qpid.optimistic_consume", 1);
queue->configure(args);
//enqueue 1 message
- queue->deliver(msg3);
+ queue->deliver(msg1);
- //check all have persistent ids.
- BOOST_CHECK(!msg1->isEnqueueComplete());
- BOOST_CHECK(!msg2->isEnqueueComplete());
- BOOST_CHECK(msg3->isEnqueueComplete());
+ TestConsumer::shared_ptr consumer(new TestConsumer());
+ queue->consume(consumer);
+ queue->dispatch(consumer);
+ if (!consumer->received)
+ sleep(2);
+
+ BOOST_CHECK_EQUAL(msg1.get(), consumer->last.get());
+ BOOST_CHECK_EQUAL(uint32_t(0), queue->getMessageCount());
}