summaryrefslogtreecommitdiff
path: root/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
commit758a24c3b01035f7398d01c88acac1766e660dd7 (patch)
tree92bc89a75867e48c8207f28d394b3b8e9bd73d83 /cpp/src/tests/QueueTest.cpp
parentee83554e46565e532595b72ffcec70a257576d0c (diff)
downloadqpid-python-758a24c3b01035f7398d01c88acac1766e660dd7.tar.gz
QPID-1306
Cleaner consume check, pointed out by gsim. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@700516 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/QueueTest.cpp')
-rw-r--r--cpp/src/tests/QueueTest.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/cpp/src/tests/QueueTest.cpp b/cpp/src/tests/QueueTest.cpp
index 111920aa59..ae29d48111 100644
--- a/cpp/src/tests/QueueTest.cpp
+++ b/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());
}