diff options
| author | Gordon Sim <gsim@apache.org> | 2013-04-29 18:04:17 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2013-04-29 18:04:17 +0000 |
| commit | 618b90fa3c132c0412c6a3f7803ac6dd0f81b4c2 (patch) | |
| tree | 13ca66d34d5625859a840ce19e4e98dd86aa57ad /qpid/cpp/src/tests | |
| parent | f8205dd62fc2ad6a1fa9831d5e5f0766e5c705fb (diff) | |
| download | qpid-python-618b90fa3c132c0412c6a3f7803ac6dd0f81b4c2.tar.gz | |
QPID-4339: simple paged queue implementation
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1477236 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests')
| -rw-r--r-- | qpid/cpp/src/tests/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | qpid/cpp/src/tests/Makefile.am | 3 | ||||
| -rw-r--r-- | qpid/cpp/src/tests/MessageTest.cpp | 11 | ||||
| -rwxr-xr-x | qpid/cpp/src/tests/run_paged_queue_tests | 32 |
4 files changed, 45 insertions, 5 deletions
diff --git a/qpid/cpp/src/tests/CMakeLists.txt b/qpid/cpp/src/tests/CMakeLists.txt index cb10414970..dd29743126 100644 --- a/qpid/cpp/src/tests/CMakeLists.txt +++ b/qpid/cpp/src/tests/CMakeLists.txt @@ -319,6 +319,10 @@ add_test (qpid-client-test ${test_wrap} ${qpid-client-test_LOCATION}) add_test (quick_perftest ${test_wrap} ${qpid-perftest_LOCATION} --summary --count 100) add_test (quick_topictest ${test_wrap} ${CMAKE_CURRENT_SOURCE_DIR}/quick_topictest${test_script_suffix}) add_test (quick_txtest ${test_wrap} ${qpid-txtest_LOCATION} --queues 4 --tx-count 10 --quiet) +if (NOT CMAKE_SYSTEM_NAME STREQUAL Windows) + # paged queue not yet implemented for windows + add_test (paged_queue_tests ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_paged_queue_tests${test_script_suffix}) +endif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows) if (PYTHON_EXECUTABLE) add_test (run_header_test ${shell} ${CMAKE_CURRENT_SOURCE_DIR}/run_header_test${test_script_suffix}) add_test (python_tests ${test_wrap} ${CMAKE_CURRENT_SOURCE_DIR}/python_tests${test_script_suffix}) diff --git a/qpid/cpp/src/tests/Makefile.am b/qpid/cpp/src/tests/Makefile.am index 3943e21b7f..43a538d6d0 100644 --- a/qpid/cpp/src/tests/Makefile.am +++ b/qpid/cpp/src/tests/Makefile.am @@ -325,6 +325,7 @@ EXTRA_DIST += \ run_perftest \ ring_queue_test \ run_ring_queue_test \ + run_paged_queue_tests \ dynamic_log_level_test \ dynamic_log_hires_timestamp \ qpid-ctrl \ @@ -362,7 +363,7 @@ CLEANFILES+=valgrind.out *.log *.vglog* dummy_test qpidd.port $(unit_wrappers) # Not run under valgrind, too slow LONG_TESTS+=start_broker \ - fanout_perftest shared_perftest multiq_perftest topic_perftest run_ring_queue_test \ + fanout_perftest shared_perftest multiq_perftest topic_perftest run_ring_queue_test run_paged_queue_tests\ run_msg_group_tests_soak \ stop_broker \ run_long_federation_sys_tests diff --git a/qpid/cpp/src/tests/MessageTest.cpp b/qpid/cpp/src/tests/MessageTest.cpp index fe670a274e..666a2c6297 100644 --- a/qpid/cpp/src/tests/MessageTest.cpp +++ b/qpid/cpp/src/tests/MessageTest.cpp @@ -19,6 +19,7 @@ * */ #include "qpid/broker/Message.h" +#include "qpid/broker/Protocol.h" #include "qpid/framing/AMQP_HighestVersion.h" #include "qpid/framing/AMQFrame.h" #include "qpid/framing/MessageTransferBody.h" @@ -56,10 +57,12 @@ QPID_AUTO_TEST_CASE(testEncodeDecode) properties["abc"] = "xyz"; Message msg = MessageUtils::createMessage(properties, data); - std::string buffer; - encode(msg, buffer); - msg = Message(); - decode(buffer, msg); + std::vector<char> bytes(msg.getPersistentContext()->encodedSize()); + qpid::framing::Buffer buffer(&bytes[0], bytes.size()); + msg.getPersistentContext()->encode(buffer); + buffer.reset(); + ProtocolRegistry registry; + msg = registry.decode(buffer); BOOST_CHECK_EQUAL(routingKey, msg.getRoutingKey()); BOOST_CHECK_EQUAL((uint64_t) data.size(), msg.getContentSize()); diff --git a/qpid/cpp/src/tests/run_paged_queue_tests b/qpid/cpp/src/tests/run_paged_queue_tests new file mode 100755 index 0000000000..8a72c23d86 --- /dev/null +++ b/qpid/cpp/src/tests/run_paged_queue_tests @@ -0,0 +1,32 @@ +#!/bin/bash + +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +#setup path to find qpid-config and sender/receiver test progs +source ./test_env.sh + +export PATH=$PWD:$srcdir:$PYTHON_COMMANDS:$PATH + +#set port to connect to via env var +test -s qpidd.port && QPID_PORT=`cat qpidd.port` +export QPID_PORT + +qpid-cpp-benchmark --broker "localhost:$QPID_PORT" --create-option "node:{x-declare:{arguments:{'qpid.paging':True,'qpid.max_size':0,'qpid.max_count':0,'qpid.flow_stop_size':0,'qpid.flow_resume_size':0,'qpid.flow_stop_count':0,'qpid.flow_resume_count':0}}}" +qpid-cpp-benchmark --broker "localhost:$QPID_PORT" --create-option "node:{x-declare:{arguments:{'qpid.paging':True,'qpid.max_size':0,'qpid.max_count':0,'qpid.flow_stop_size':0,'qpid.flow_resume_size':0,'qpid.flow_stop_count':0,'qpid.flow_resume_count':0}}}" --fill-drain
\ No newline at end of file |
