diff options
Diffstat (limited to 'qpid/cpp/src/tests/BrokerClusterCalls.cpp')
-rw-r--r-- | qpid/cpp/src/tests/BrokerClusterCalls.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/qpid/cpp/src/tests/BrokerClusterCalls.cpp b/qpid/cpp/src/tests/BrokerClusterCalls.cpp index 53d0f2102a..4311cf51cf 100644 --- a/qpid/cpp/src/tests/BrokerClusterCalls.cpp +++ b/qpid/cpp/src/tests/BrokerClusterCalls.cpp @@ -56,13 +56,18 @@ class DummyCluster : public broker::Cluster */ bool isRouting; + // Record a QueuedMessage void recordQm(const string& op, const broker::QueuedMessage& qm) { history += (format("%s(%s, %d, %s)") % op % qm.queue->getName() % qm.position % qm.payload->getFrames().getContent()).str(); } + + // Record a message void recordMsg(const string& op, broker::Queue& q, intrusive_ptr<broker::Message> msg) { history += (format("%s(%s, %s)") % op % q.getName() % msg->getFrames().getContent()).str(); } + + // Record a string void recordStr(const string& op, const string& name) { history += (format("%s(%s)") % op % name).str(); } @@ -102,6 +107,11 @@ class DummyCluster : public broker::Cluster history += (format("cancel(%s, %d)") % q.getName() % n).str(); } + // Queues + // FIXME aconway 2011-05-18: update test to exercise empty() + virtual void empty(broker::Queue& q) { recordStr("empty", q.getName()); } + virtual void stopped(broker::Queue& q) { recordStr("stopped", q.getName()); } + // Wiring virtual void create(broker::Queue& q) { recordStr("createq", q.getName()); } @@ -230,7 +240,7 @@ QPID_AUTO_TEST_CASE(testReleaseReject) { h.clear(); i = 0; m = Message("t"); - m.setTtl(Duration(1)); // Timeout 1ms + m.setTtl(Duration(1)); // Timeout 1ms sender.send(m); usleep(2000); // Sleep 2ms bool received = receiver.fetch(m, Duration::IMMEDIATE); @@ -239,6 +249,10 @@ QPID_AUTO_TEST_CASE(testReleaseReject) { BOOST_CHECK_EQUAL(h.at(i++), "enqueue(q, t)"); BOOST_CHECK_EQUAL(h.at(i++), "routed(t)"); BOOST_CHECK_EQUAL(h.at(i++), "dequeue(q, 2, t)"); + // Note: empty is called once for each receiver. + BOOST_CHECK_EQUAL(h.at(i++), "empty(q)"); + BOOST_CHECK_EQUAL(h.at(i++), "empty(q)"); + BOOST_CHECK_EQUAL(h.at(i++), "empty(q)"); BOOST_CHECK_EQUAL(h.size(), i); // Message replaced on LVQ |