diff options
| author | Gordon Sim <gsim@apache.org> | 2016-05-23 13:20:01 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2016-05-23 13:20:01 +0000 |
| commit | edee47f4d91d218b6076560936bb579b893cc9b8 (patch) | |
| tree | bab3e3406b4c09d29f393b559a4c4374876fa5f0 /qpid/cpp/src/tests | |
| parent | ec42d9558d8714b22b356358437556cae8130815 (diff) | |
| download | qpid-python-edee47f4d91d218b6076560936bb579b893cc9b8.tar.gz | |
QPID-7234: check handler is not null (as it will be when releasing unused prefetch on close)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1745195 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests')
| -rw-r--r-- | qpid/cpp/src/tests/MessagingSessionTests.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/qpid/cpp/src/tests/MessagingSessionTests.cpp b/qpid/cpp/src/tests/MessagingSessionTests.cpp index 6bc43bc8e1..3b7ba34fe9 100644 --- a/qpid/cpp/src/tests/MessagingSessionTests.cpp +++ b/qpid/cpp/src/tests/MessagingSessionTests.cpp @@ -1562,6 +1562,27 @@ QPID_AUTO_TEST_CASE(testClientExpiration) BOOST_CHECK_EQUAL(b_count, 50); } +QPID_AUTO_TEST_CASE(testExpiredPrefetchOnClose) +{ + QueueFixture fix; + Receiver receiver = fix.session.createReceiver(fix.queue); + Session other = fix.connection.createSession(); + Receiver receiver2 = other.createReceiver("amq.fanout"); + receiver.setCapacity(500); + Sender sender = fix.session.createSender(fix.queue); + for (uint i = 0; i < 500; ++i) { + Message msg((boost::format("a_%1%") % (i+1)).str()); + msg.setSubject("a"); + msg.setTtl(Duration(5)); + sender.send(msg); + } + Sender sender2 = other.createSender("amq.fanout"); + sender2.send(Message("done")); + BOOST_CHECK_EQUAL(receiver2.fetch().getContent(), "done"); + qpid::sys::usleep(qpid::sys::TIME_MSEC*5);//sorry Alan, I can't see any way to avoid a sleep; need to ensure messages in prefetch have expired + receiver.close(); +} + QPID_AUTO_TEST_CASE(testPriorityRingEviction) { MessagingFixture fix; |
