diff options
| author | Stephen D. Huston <shuston@apache.org> | 2009-03-25 23:44:30 +0000 |
|---|---|---|
| committer | Stephen D. Huston <shuston@apache.org> | 2009-03-25 23:44:30 +0000 |
| commit | 67d330f235362bf622b95f8c4d14321272a44ba7 (patch) | |
| tree | 82153e6fd6c1c77e9defc80cb2e6b34d23de25cf /qpid/cpp/src/tests | |
| parent | b51fd45a4ed81bee144c22c2a57fc0e882d44149 (diff) | |
| download | qpid-python-67d330f235362bf622b95f8c4d14321272a44ba7.tar.gz | |
Merge from trunk tag to-cmake-25mar09 (r758432)
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/cmake@758465 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests')
54 files changed, 1580 insertions, 660 deletions
diff --git a/qpid/cpp/src/tests/ClientSessionTest.cpp b/qpid/cpp/src/tests/ClientSessionTest.cpp index 1658f3d4ec..589e1154e1 100644 --- a/qpid/cpp/src/tests/ClientSessionTest.cpp +++ b/qpid/cpp/src/tests/ClientSessionTest.cpp @@ -428,8 +428,8 @@ QPID_AUTO_TEST_CASE(testConcurrentSenders) for (size_t i = 0; i < 5; i++) { publishers.push_back(new Publisher(connection, message, 100)); } - for_each(publishers.begin(), publishers.end(), boost::bind(&Publisher::start, _1)); - for_each(publishers.begin(), publishers.end(), boost::bind(&Publisher::join, _1)); + std::for_each(publishers.begin(), publishers.end(), boost::bind(&Publisher::start, _1)); + std::for_each(publishers.begin(), publishers.end(), boost::bind(&Publisher::join, _1)); connection.close(); } @@ -564,6 +564,24 @@ QPID_AUTO_TEST_CASE(testSessionManagerSetFlowControl) { BOOST_CHECK_EQUAL("my-message", got.getData()); } +QPID_AUTO_TEST_CASE(testGetThenSubscribe) { + ClientSessionFixture fix; + std::string name("myqueue"); + fix.session.queueDeclare(arg::queue=name, arg::exclusive=true, arg::autoDelete=true); + fix.session.messageTransfer(arg::content=Message("one", name)); + fix.session.messageTransfer(arg::content=Message("two", name)); + Message got; + BOOST_CHECK(fix.subs.get(got, name)); + BOOST_CHECK_EQUAL("one", got.getData()); + + DummyListener listener(fix.session, name, 1); + listener.run(); + BOOST_CHECK_EQUAL(1u, listener.messages.size()); + if (!listener.messages.empty()) { + BOOST_CHECK_EQUAL("two", listener.messages[0].getData()); + } +} + QPID_AUTO_TEST_SUITE_END() diff --git a/qpid/cpp/src/tests/ClusterFixture.cpp b/qpid/cpp/src/tests/ClusterFixture.cpp index 3a0ea74098..5658957b48 100644 --- a/qpid/cpp/src/tests/ClusterFixture.cpp +++ b/qpid/cpp/src/tests/ClusterFixture.cpp @@ -109,7 +109,7 @@ void ClusterFixture::addLocal() { Args args(makeArgs(prefix)); vector<const char*> argv(args.size()); transform(args.begin(), args.end(), argv.begin(), boost::bind(&string::c_str, _1)); - qpid::log::Logger::instance().setPrefix(os.str()); + qpid::log::Logger::instance().setPrefix(prefix); localBroker.reset(new BrokerFixture(parseOpts(argv.size(), &argv[0]))); push_back(localBroker->getPort()); forkedBrokers.push_back(shared_ptr<ForkedBroker>()); diff --git a/qpid/cpp/src/tests/DispatcherTest.cpp b/qpid/cpp/src/tests/DispatcherTest.cpp index c2f6bca12a..c619a36438 100644 --- a/qpid/cpp/src/tests/DispatcherTest.cpp +++ b/qpid/cpp/src/tests/DispatcherTest.cpp @@ -78,9 +78,6 @@ void reader(DispatchHandle& h, int fd) { h.rewatch(); } -DispatchHandle* rh = 0; -DispatchHandle* wh = 0; - void rInterrupt(DispatchHandle&) { cerr << "R"; } @@ -92,9 +89,27 @@ void wInterrupt(DispatchHandle&) { DispatchHandle::Callback rcb = rInterrupt; DispatchHandle::Callback wcb = wInterrupt; +DispatchHandleRef *volatile rh = 0; +DispatchHandleRef *volatile wh = 0; + +volatile bool stopWait = false; +volatile bool phase1finished = false; + +timer_t timer; + +void stop_handler(int /*signo*/, siginfo_t* /*info*/, void* /*context*/) { + stopWait = true; +} + void timer_handler(int /*signo*/, siginfo_t* /*info*/, void* /*context*/) { - rh->call(rcb); - wh->call(wcb); + static int count = 0; + if (count++ < 10) { + rh->call(rcb); + wh->call(wcb); + } else { + phase1finished = true; + assert(::timer_delete(timer) == 0); + } } int main(int /*argc*/, char** /*argv*/) @@ -114,7 +129,7 @@ int main(int /*argc*/, char** /*argv*/) // Setup sender and receiver int sv[2]; - int rc = ::socketpair(AF_LOCAL, SOCK_STREAM, 0, sv); + int rc = ::socketpair(AF_UNIX, SOCK_STREAM, 0, sv); assert(rc >= 0); // Set non-blocking @@ -132,8 +147,8 @@ int main(int /*argc*/, char** /*argv*/) PosixIOHandle f0(sv[0]); PosixIOHandle f1(sv[1]); - rh = new DispatchHandle(f0, boost::bind(reader, _1, sv[0]), 0, 0); - wh = new DispatchHandle(f1, 0, boost::bind(writer, _1, sv[1], testString), 0); + rh = new DispatchHandleRef(f0, boost::bind(reader, _1, sv[0]), 0, 0); + wh = new DispatchHandleRef(f1, 0, boost::bind(writer, _1, sv[1], testString), 0); rh->startWatch(poller); wh->startWatch(poller); @@ -155,10 +170,9 @@ int main(int /*argc*/, char** /*argv*/) assert(rc == 0); ::sigevent se; + ::memset(&se, 0, sizeof(se)); // Clear to make valgrind happy (this *is* the neatest way to do this portably - sigh) se.sigev_notify = SIGEV_SIGNAL; se.sigev_signo = SIGRTMIN; - se.sigev_value.sival_ptr = 0; - timer_t timer; rc = ::timer_create(CLOCK_REALTIME, &se, &timer); assert(rc == 0); @@ -169,11 +183,52 @@ int main(int /*argc*/, char** /*argv*/) rc = ::timer_settime(timer, 0, &ts, 0); assert(rc == 0); - // wait 2 minutes then shutdown - ::sleep(60); + // wait + while (!phase1finished) { + ::sleep(1); + } + + // Now test deleting/creating DispatchHandles in tight loop, so that we are likely to still be using the + // attached PollerHandles after deleting the DispatchHandle + DispatchHandleRef* t = wh; + wh = 0; + delete t; + t = rh; + rh = 0; + delete t; + + sa.sa_sigaction = stop_handler; + rc = ::sigaction(SIGRTMIN, &sa,0); + assert(rc == 0); + + itimerspec nts = { + /*.it_value = */ {30, 0}, // s, ns + /*.it_interval = */ {30, 0}}; // s, ns + + rc = ::timer_create(CLOCK_REALTIME, &se, &timer); + assert(rc == 0); + rc = ::timer_settime(timer, 0, &nts, 0); + assert(rc == 0); + + DispatchHandleRef* rh1; + DispatchHandleRef* wh1; + + struct timespec w = {0, 1000000}; + while (!stopWait) { + rh1 = new DispatchHandleRef(f0, boost::bind(reader, _1, sv[0]), 0, 0); + wh1 = new DispatchHandleRef(f1, 0, boost::bind(writer, _1, sv[1], testString), 0); + rh1->startWatch(poller); + wh1->startWatch(poller); + + ::nanosleep(&w, 0); + + delete wh1; + delete rh1; + } rc = ::timer_delete(timer); assert(rc == 0); + poller->shutdown(); dt.join(); dt1.join(); diff --git a/qpid/cpp/src/tests/FieldTable.cpp b/qpid/cpp/src/tests/FieldTable.cpp index 6b364723cf..9f2fd45b73 100644 --- a/qpid/cpp/src/tests/FieldTable.cpp +++ b/qpid/cpp/src/tests/FieldTable.cpp @@ -22,7 +22,7 @@ #include "qpid/framing/Array.h" #include "qpid/framing/FieldTable.h" #include "qpid/framing/FieldValue.h" -#include <alloca.h> +#include "qpid/sys/alloca.h" #include "unit_test.h" diff --git a/qpid/cpp/src/tests/ForkedBroker.cpp b/qpid/cpp/src/tests/ForkedBroker.cpp index 2b90068549..f90f76aeb2 100644 --- a/qpid/cpp/src/tests/ForkedBroker.cpp +++ b/qpid/cpp/src/tests/ForkedBroker.cpp @@ -22,6 +22,9 @@ #include "ForkedBroker.h" #include <boost/bind.hpp> #include <algorithm> +#include <stdlib.h> +#include <sys/types.h> +#include <signal.h> ForkedBroker::ForkedBroker(const Args& args) { init(args); } @@ -41,9 +44,9 @@ void ForkedBroker::kill(int sig) { if (::kill(savePid, sig) < 0) throw ErrnoException("kill failed"); int status; - if (::waitpid(savePid, &status, 0) < 0) + if (::waitpid(savePid, &status, 0) < 0 && sig != 9) throw ErrnoException("wait for forked process failed"); - if (WEXITSTATUS(status) != 0) + if (WEXITSTATUS(status) != 0 && sig != 9) throw qpid::Exception(QPID_MSG("Forked broker exited with: " << WEXITSTATUS(status))); } diff --git a/qpid/cpp/src/tests/FrameDecoder.cpp b/qpid/cpp/src/tests/FrameDecoder.cpp new file mode 100644 index 0000000000..f5db66d5fe --- /dev/null +++ b/qpid/cpp/src/tests/FrameDecoder.cpp @@ -0,0 +1,73 @@ +/* + * + * 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. + * + */ + +#include "unit_test.h" +#include "qpid/framing/AMQFrame.h" +#include "qpid/framing/FrameDecoder.h" +#include "qpid/framing/AMQContentBody.h" +#include "qpid/framing/Buffer.h" +#include <string> + + +QPID_AUTO_TEST_SUITE(FrameDecoderTest) + +using namespace std; +using namespace qpid::framing; + + +string makeData(int size) { + string data; + data.resize(size); + for (int i =0; i < size; ++i) + data[i] = 'a' + (i%26); + return data; +} +string encodeFrame(string data) { + AMQFrame f((AMQContentBody(data))); + string encoded; + encoded.resize(f.encodedSize()); + Buffer b(&encoded[0], encoded.size()); + f.encode(b); + return encoded; +} + +string getData(const AMQFrame& frame) { + const AMQContentBody* content = dynamic_cast<const AMQContentBody*>(frame.getBody()); + BOOST_CHECK(content); + return content->getData(); +} + +QPID_AUTO_TEST_CASE(testByteFragments) { + string data = makeData(42); + string encoded = encodeFrame(data); + FrameDecoder decoder; + for (size_t i = 0; i < encoded.size()-1; ++i) { + Buffer buf(&encoded[i], 1); + BOOST_CHECK(!decoder.decode(buf)); + } + Buffer buf(&encoded[encoded.size()-1], 1); + BOOST_CHECK(decoder.decode(buf)); + BOOST_CHECK_EQUAL(data, getData(decoder.getFrame())); +} + + + +QPID_AUTO_TEST_SUITE_END() diff --git a/qpid/cpp/src/tests/Makefile.am b/qpid/cpp/src/tests/Makefile.am index 9da85eaad4..9a81ef18b3 100644 --- a/qpid/cpp/src/tests/Makefile.am +++ b/qpid/cpp/src/tests/Makefile.am @@ -94,7 +94,9 @@ unit_test_SOURCES= unit_test.cpp unit_test.h \ QueueEvents.cpp \ ProxyTest.cpp \ RetryList.cpp \ - RateFlowcontrolTest.cpp + RateFlowcontrolTest.cpp \ + FrameDecoder.cpp \ + ReplicationTest.cpp if HAVE_XML unit_test_SOURCES+= XmlClientSessionTest.cpp @@ -163,7 +165,7 @@ header_test_LDADD=$(lib_client) check_PROGRAMS+=failover_soak failover_soak_SOURCES=failover_soak.cpp ForkedBroker.h ForkedBroker.cpp -failover_soak_LDADD=$(lib_client) +failover_soak_LDADD=$(lib_client) $(lib_broker) check_PROGRAMS+=declare_queues declare_queues_SOURCES=declare_queues.cpp @@ -195,11 +197,11 @@ sender_LDADD=$(lib_client) check_PROGRAMS+=PollerTest PollerTest_SOURCES=PollerTest.cpp -PollerTest_LDADD=$(lib_common) +PollerTest_LDADD=$(lib_common) $(SOCKLIBS) check_PROGRAMS+=DispatcherTest DispatcherTest_SOURCES=DispatcherTest.cpp -DispatcherTest_LDADD=$(lib_common) +DispatcherTest_LDADD=$(lib_common) $(SOCKLIBS) TESTS_ENVIRONMENT = VALGRIND=$(VALGRIND) srcdir=$(srcdir) QPID_DATA_DIR= BOOST_TEST_SHOW_PROGRESS=yes $(srcdir)/run_test @@ -255,9 +257,11 @@ CLEANFILES+=valgrind.out *.log *.vglog* dummy_test $(unit_wrappers) # Longer running stability tests, not run by default check: target. # Not run under valgrind, too slow -LONG_TESTS+=start_broker fanout_perftest shared_perftest multiq_perftest topic_perftest run_failover_soak stop_broker reliable_replication_test +LONG_TESTS+=start_broker fanout_perftest shared_perftest multiq_perftest topic_perftest run_failover_soak stop_broker \ + reliable_replication_test federated_cluster_test_with_node_failure -EXTRA_DIST+=fanout_perftest shared_perftest multiq_perftest topic_perftest run_failover_soak reliable_replication_test +EXTRA_DIST+=fanout_perftest shared_perftest multiq_perftest topic_perftest run_failover_soak reliable_replication_test \ + federated_cluster_test_with_node_failure check-long: $(MAKE) check TESTS="$(LONG_TESTS)" VALGRIND= diff --git a/qpid/cpp/src/tests/MessageTest.cpp b/qpid/cpp/src/tests/MessageTest.cpp index 8fd9a53c7c..cd63f64a37 100644 --- a/qpid/cpp/src/tests/MessageTest.cpp +++ b/qpid/cpp/src/tests/MessageTest.cpp @@ -24,13 +24,12 @@ #include "qpid/framing/MessageTransferBody.h" #include "qpid/framing/FieldValue.h" #include "qpid/framing/Uuid.h" +#include "qpid/sys/alloca.h" #include "unit_test.h" #include <iostream> -#include <alloca.h> -using namespace boost; using namespace qpid::broker; using namespace qpid::framing; @@ -44,7 +43,7 @@ QPID_AUTO_TEST_CASE(testEncodeDecode) string data1("abcdefg"); string data2("hijklmn"); - intrusive_ptr<Message> msg(new Message()); + boost::intrusive_ptr<Message> msg(new Message()); AMQFrame method((MessageTransferBody(ProtocolVersion(), exchange, 0, 0))); AMQFrame header((AMQHeaderBody())); diff --git a/qpid/cpp/src/tests/MessageUtils.h b/qpid/cpp/src/tests/MessageUtils.h index 67a852aa10..6a12c72007 100644 --- a/qpid/cpp/src/tests/MessageUtils.h +++ b/qpid/cpp/src/tests/MessageUtils.h @@ -33,7 +33,7 @@ struct MessageUtils static boost::intrusive_ptr<Message> createMessage(const string& exchange="", const string& routingKey="", const Uuid& messageId=Uuid(true), uint64_t contentSize = 0) { - boost::intrusive_ptr<Message> msg(new Message()); + boost::intrusive_ptr<broker::Message> msg(new broker::Message()); AMQFrame method(( MessageTransferBody(ProtocolVersion(), exchange, 0, 0))); AMQFrame header((AMQHeaderBody())); diff --git a/qpid/cpp/src/tests/PollerTest.cpp b/qpid/cpp/src/tests/PollerTest.cpp index 4f11dc5901..5b6b09ef65 100644 --- a/qpid/cpp/src/tests/PollerTest.cpp +++ b/qpid/cpp/src/tests/PollerTest.cpp @@ -74,7 +74,7 @@ int main(int /*argc*/, char** /*argv*/) try { int sv[2]; - int rc = ::socketpair(AF_LOCAL, SOCK_STREAM, 0, sv); + int rc = ::socketpair(AF_UNIX, SOCK_STREAM, 0, sv); assert(rc >= 0); // Set non-blocking diff --git a/qpid/cpp/src/tests/ProxyTest.cpp b/qpid/cpp/src/tests/ProxyTest.cpp index 9007f3dc97..4ea10f7be9 100644 --- a/qpid/cpp/src/tests/ProxyTest.cpp +++ b/qpid/cpp/src/tests/ProxyTest.cpp @@ -23,7 +23,6 @@ #include "qpid/framing/AMQMethodBody.h" #include "qpid/framing/ExecutionSyncBody.h" #include "qpid/framing/Proxy.h" -#include <alloca.h> #include "unit_test.h" diff --git a/qpid/cpp/src/tests/QueueEvents.cpp b/qpid/cpp/src/tests/QueueEvents.cpp index 3e377d04b3..cd9439355e 100644 --- a/qpid/cpp/src/tests/QueueEvents.cpp +++ b/qpid/cpp/src/tests/QueueEvents.cpp @@ -27,6 +27,7 @@ #include "qpid/broker/QueueEvents.h" #include "qpid/client/QueueOptions.h" #include "qpid/framing/SequenceNumber.h" +#include "qpid/sys/Dispatcher.h" #include <boost/bind.hpp> #include <boost/format.hpp> @@ -37,7 +38,7 @@ using namespace qpid::broker; using namespace qpid::sys; using qpid::framing::SequenceNumber; -struct DummyListener +struct EventChecker { typedef std::deque<QueueEvents::Event> Events; @@ -70,9 +71,9 @@ QPID_AUTO_TEST_CASE(testBasicEventProcessing) sys::Dispatcher dispatcher(poller); Thread dispatchThread(dispatcher); QueueEvents events(poller); - DummyListener listener; + EventChecker listener; listener.poller = poller; - events.registerListener("dummy", boost::bind(&DummyListener::handle, &listener, _1)); + events.registerListener("dummy", boost::bind(&EventChecker::handle, &listener, _1)); //signal occurence of some events: Queue queue("queue1"); SequenceNumber id; diff --git a/qpid/cpp/src/tests/QueuePolicyTest.cpp b/qpid/cpp/src/tests/QueuePolicyTest.cpp index 6c650169c7..7c7f8b7a10 100644 --- a/qpid/cpp/src/tests/QueuePolicyTest.cpp +++ b/qpid/cpp/src/tests/QueuePolicyTest.cpp @@ -158,6 +158,15 @@ QPID_AUTO_TEST_CASE(testRingPolicy) BOOST_CHECK_EQUAL((boost::format("%1%_%2%") % "Message" % (i+1)).str(), msg.getData()); } BOOST_CHECK(!f.subs.get(msg, q)); + + for (int i = 10; i < 20; i++) { + f.session.messageTransfer(arg::content=client::Message((boost::format("%1%_%2%") % "Message" % (i+1)).str(), q)); + } + for (int i = 15; i < 20; i++) { + BOOST_CHECK(f.subs.get(msg, q, qpid::sys::TIME_SEC)); + BOOST_CHECK_EQUAL((boost::format("%1%_%2%") % "Message" % (i+1)).str(), msg.getData()); + } + BOOST_CHECK(!f.subs.get(msg, q)); } QPID_AUTO_TEST_CASE(testStrictRingPolicy) diff --git a/qpid/cpp/src/tests/ReplicationTest.cpp b/qpid/cpp/src/tests/ReplicationTest.cpp new file mode 100644 index 0000000000..7bd585639d --- /dev/null +++ b/qpid/cpp/src/tests/ReplicationTest.cpp @@ -0,0 +1,129 @@ + /* + * + * 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. + * + */ +#include "unit_test.h" +#include "test_tools.h" +#include "BrokerFixture.h" + +#include "qpid/Plugin.h" +#include "qpid/broker/Broker.h" +#include "qpid/client/QueueOptions.h" +#include "qpid/framing/reply_exceptions.h" +#include "qpid/framing/SequenceNumber.h" +#include "qpid/replication/constants.h" +#include "qpid/sys/Shlib.h" + +#include <string> +#include <sstream> +#include <vector> + +#include <boost/assign.hpp> +#include <boost/bind.hpp> + +using namespace qpid::client; +using namespace qpid::framing; +using namespace qpid::replication::constants; +using boost::assign::list_of; + +QPID_AUTO_TEST_SUITE(ReplicationTestSuite) + +qpid::sys::Shlib plugin("../.libs/replicating_listener.so"); + +qpid::broker::Broker::Options getBrokerOpts(const std::vector<std::string>& args) +{ + std::vector<const char*> argv(args.size()); + transform(args.begin(), args.end(), argv.begin(), boost::bind(&string::c_str, _1)); + + qpid::broker::Broker::Options opts; + qpid::Plugin::addOptions(opts); + opts.parse(argv.size(), &argv[0], "", true); + return opts; +} + +QPID_AUTO_TEST_CASE(testReplicationExchange) +{ + qpid::broker::Broker::Options brokerOpts(getBrokerOpts(list_of<string>("qpidd") + ("--replication-exchange-name=qpid.replication"))); + ProxySessionFixture f(brokerOpts); + + + std::string dataQ("queue-1"); + std::string eventQ("event-queue-1"); + std::string dataQ2("queue-2"); + std::string eventQ2("event-queue-2"); + FieldTable eventQopts; + eventQopts.setString("qpid.insert_sequence_numbers", REPLICATION_EVENT_SEQNO); + + f.session.queueDeclare(arg::queue=eventQ, arg::exclusive=true, arg::autoDelete=true, arg::arguments=eventQopts); + f.session.exchangeBind(arg::exchange="qpid.replication", arg::queue=eventQ, arg::bindingKey=dataQ); + + f.session.queueDeclare(arg::queue=eventQ2, arg::exclusive=true, arg::autoDelete=true, arg::arguments=eventQopts); + f.session.exchangeBind(arg::exchange="qpid.replication", arg::queue=eventQ2, arg::bindingKey=dataQ2); + + QueueOptions args; + args.enableQueueEvents(false); + f.session.queueDeclare(arg::queue=dataQ, arg::exclusive=true, arg::autoDelete=true, arg::arguments=args); + f.session.queueDeclare(arg::queue=dataQ2, arg::exclusive=true, arg::autoDelete=true, arg::arguments=args); + for (int i = 0; i < 10; i++) { + f.session.messageTransfer(arg::content=Message((boost::format("%1%_%2%") % "Message" % (i+1)).str(), dataQ)); + f.session.messageTransfer(arg::content=Message((boost::format("%1%_%2%") % "Message" % (i+1)).str(), dataQ2)); + } + Message msg; + LocalQueue incoming; + Subscription sub = f.subs.subscribe(incoming, dataQ); + for (int i = 0; i < 10; i++) { + BOOST_CHECK(incoming.get(msg, qpid::sys::TIME_SEC)); + BOOST_CHECK_EQUAL((boost::format("%1%_%2%") % "Message" % (i+1)).str(), msg.getData()); + } + BOOST_CHECK(!f.subs.get(msg, dataQ)); + + sub.cancel(); + sub = f.subs.subscribe(incoming, eventQ); + //check that we received enqueue events for first queue: + for (int i = 0; i < 10; i++) { + BOOST_CHECK(incoming.get(msg, qpid::sys::TIME_SEC)); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsString(REPLICATION_TARGET_QUEUE), dataQ); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsInt(REPLICATION_EVENT_TYPE), ENQUEUE); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsInt64(REPLICATION_EVENT_SEQNO), (i+1)); + BOOST_CHECK_EQUAL((boost::format("%1%_%2%") % "Message" % (i+1)).str(), msg.getData()); + } + //check that we received dequeue events for first queue: + for (int i = 0; i < 10; i++) { + BOOST_CHECK(incoming.get(msg, qpid::sys::TIME_SEC)); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsString(REPLICATION_TARGET_QUEUE), dataQ); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsInt(REPLICATION_EVENT_TYPE), DEQUEUE); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsInt(DEQUEUED_MESSAGE_POSITION), (i+1)); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsInt64(REPLICATION_EVENT_SEQNO), (i+11)); + } + + sub.cancel(); + sub = f.subs.subscribe(incoming, eventQ2); + //check that we received enqueue events for second queue: + for (int i = 0; i < 10; i++) { + BOOST_CHECK(incoming.get(msg, qpid::sys::TIME_SEC)); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsString(REPLICATION_TARGET_QUEUE), dataQ2); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsInt(REPLICATION_EVENT_TYPE), ENQUEUE); + BOOST_CHECK_EQUAL(msg.getHeaders().getAsInt64(REPLICATION_EVENT_SEQNO), (i+1)); + BOOST_CHECK_EQUAL((boost::format("%1%_%2%") % "Message" % (i+1)).str(), msg.getData()); + } +} + + +QPID_AUTO_TEST_SUITE_END() diff --git a/qpid/cpp/src/tests/SocketProxy.h b/qpid/cpp/src/tests/SocketProxy.h index 9722359d82..d2a93c902b 100644 --- a/qpid/cpp/src/tests/SocketProxy.h +++ b/qpid/cpp/src/tests/SocketProxy.h @@ -94,7 +94,7 @@ class SocketProxy : private qpid::sys::Runnable throwIf(!(event.type == qpid::sys::Poller::READABLE && event.handle == &listenerHandle), "SocketProxy: Accept failed"); poller.delFd(listenerHandle); - server.reset(listener.accept(0, 0)); + server.reset(listener.accept()); // Pump data between client & server sockets qpid::sys::PollerHandle clientHandle(client); diff --git a/qpid/cpp/src/tests/TimerTest.cpp b/qpid/cpp/src/tests/TimerTest.cpp index 50712ff79c..f8ab9fb2f3 100644 --- a/qpid/cpp/src/tests/TimerTest.cpp +++ b/qpid/cpp/src/tests/TimerTest.cpp @@ -75,7 +75,11 @@ class TestTask : public TimerTask BOOST_CHECK(fired); BOOST_CHECK_EQUAL(expected_position, position); Duration actual(start, end); +#ifdef _WIN32 + uint64_t difference = _abs64(expected - actual); +#else uint64_t difference = abs(expected - actual); +#endif std::string msg(boost::lexical_cast<std::string>(boost::format("tolerance = %1%, difference = %2%") % tolerance % difference)); BOOST_CHECK_MESSAGE(difference < tolerance, msg); } diff --git a/qpid/cpp/src/tests/Uuid.cpp b/qpid/cpp/src/tests/Uuid.cpp index ee86d75a26..ea2e80b63b 100644 --- a/qpid/cpp/src/tests/Uuid.cpp +++ b/qpid/cpp/src/tests/Uuid.cpp @@ -18,11 +18,11 @@ #include "qpid/framing/Uuid.h" #include "qpid/framing/Buffer.h" +#include "qpid/sys/alloca.h" #include "unit_test.h" #include <set> -#include <alloca.h> QPID_AUTO_TEST_SUITE(UuidTestSuite) diff --git a/qpid/cpp/src/tests/client_test.vcproj b/qpid/cpp/src/tests/client_test.vcproj index 0f9a50cdf0..1623c2961e 100644 --- a/qpid/cpp/src/tests/client_test.vcproj +++ b/qpid/cpp/src/tests/client_test.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="client_test"
- ProjectGUID="{9A95F0E4-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="client_test"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\client_test\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\client_test\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\client_test.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\client_test\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\client_test\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\client_test.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\client_test\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\client_test\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\client_test.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\client_test\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\client_test\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\client_test.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/cluster.mk b/qpid/cpp/src/tests/cluster.mk index c3100ac968..5d115de5a5 100644 --- a/qpid/cpp/src/tests/cluster.mk +++ b/qpid/cpp/src/tests/cluster.mk @@ -29,8 +29,9 @@ if HAVE_LIBCPG # ais_check checks pre-requisites for cluster tests and runs them if ok. -TESTS+=ais_check federated_cluster_test -EXTRA_DIST+=ais_check start_cluster stop_cluster restart_cluster cluster_python_tests cluster_python_tests_failing.txt federated_cluster_test +TESTS+=ais_check federated_cluster_test clustered_replication_test +EXTRA_DIST+=ais_check start_cluster stop_cluster restart_cluster cluster_python_tests cluster_python_tests_failing.txt \ + federated_cluster_test clustered_replication_test check_PROGRAMS+=cluster_test cluster_test_SOURCES=unit_test.cpp cluster_test.cpp ClusterFixture.cpp ClusterFixture.h ForkedBroker.h ForkedBroker.cpp diff --git a/qpid/cpp/src/tests/cluster_test.cpp b/qpid/cpp/src/tests/cluster_test.cpp index c880f30e6b..eee2df58cc 100644 --- a/qpid/cpp/src/tests/cluster_test.cpp +++ b/qpid/cpp/src/tests/cluster_test.cpp @@ -27,6 +27,7 @@ #include "qpid/client/ConnectionAccess.h" #include "qpid/client/Session.h" #include "qpid/client/FailoverListener.h" +#include "qpid/client/FailoverManager.h" #include "qpid/cluster/Cluster.h" #include "qpid/cluster/Cpg.h" #include "qpid/cluster/UpdateClient.h" @@ -35,6 +36,8 @@ #include "qpid/framing/reply_exceptions.h" #include "qpid/framing/enum.h" #include "qpid/log/Logger.h" +#include "qpid/sys/Monitor.h" +#include "qpid/sys/Thread.h" #include <boost/bind.hpp> #include <boost/shared_ptr.hpp> @@ -148,49 +151,65 @@ vector<string> browse(Client& c, const string& q, int n) { c.subs.subscribe(lq, q, browseSettings); vector<string> result; for (int i = 0; i < n; ++i) { - result.push_back(lq.get(TIMEOUT).getData()); + Message m; + if (!lq.get(m, TIMEOUT)) + break; + result.push_back(m.getData()); } c.subs.getSubscription(q).cancel(); return result; } +ConnectionSettings aclSettings(int port, const std::string& id) { + ConnectionSettings settings; + settings.port = port; + settings.mechanism = "PLAIN"; + settings.username = id; + settings.password = id; + return settings; +} + +#if 0 +// FIXME aconway 2009-03-10: This test passes but exposes a memory leak in the SASL client code. +// Enable it when the leak is fixed. + +QPID_AUTO_TEST_CASE(testAcl) { + ofstream policyFile("cluster_test.acl"); + // FIXME aconway 2009-02-12: guest -> qpidd? + policyFile << "acl allow foo@QPID create queue name=foo" << endl + << "acl allow foo@QPID create queue name=foo2" << endl + << "acl deny foo@QPID create queue name=bar" << endl + << "acl allow all all" << endl; + policyFile.close(); + char cwd[1024]; + BOOST_CHECK(::getcwd(cwd, sizeof(cwd))); + ClusterFixture cluster(2,-1, list_of<string> + ("--no-data-dir") + ("--auth=no") + ("--acl-file="+string(cwd)+"/cluster_test.acl") + ("--cluster-mechanism=PLAIN") + ("--cluster-username=cluster") + ("--cluster-password=cluster") + ("--load-module=../.libs/acl.so")); + + Client c0(aclSettings(cluster[0], "c0"), "c0"); + Client c1(aclSettings(cluster[1], "c1"), "c1"); + Client foo(aclSettings(cluster[1], "foo"), "foo"); + + foo.session.queueDeclare("foo"); + BOOST_CHECK_EQUAL(c0.session.queueQuery("foo").getQueue(), "foo"); + + BOOST_CHECK_THROW(foo.session.queueDeclare("bar"), framing::NotAllowedException); + BOOST_CHECK(c0.session.queueQuery("bar").getQueue().empty()); + BOOST_CHECK(c1.session.queueQuery("bar").getQueue().empty()); -// FIXME aconway 2009-02-12: need to figure out how to test this properly. -// Current problems: -// - all brokers share the same data-dir (set ACL without data dir?) -// - updater's user name not making it through to updatee for ACL checks. -// -// QPID_AUTO_TEST_CASE(testAcl) { -// ofstream policyFile("cluster_test.acl"); -// // FIXME aconway 2009-02-12: guest -> qpidd? -// policyFile << "acl allow guest@QPID all all" << endl -// << "acl allow foo@QPID create queue name=foo" << endl -// << "acl allow bar@QPID create queue name=bar" << endl -// << "acl deny all create queue" << endl -// << "acl allow all all" << endl; -// policyFile.close(); -// ClusterFixture cluster(2,-1, list_of<string> -// ("--data-dir=.") ("--auth=no") -// ("--acl-file=cluster_test.acl") -// ("--cluster-mechanism=PLAIN") -// ("--load-module=../.libs/acl.so")); -// Client c0(cluster[0], "c0"); -// Client c1(cluster[1], "c1"); - -// ConnectionSettings settings; -// settings.port = cluster[0]; -// settings.username = "foo"; -// Client foo(settings, "foo"); - -// foo.session.queueDeclare("foo"); -// BOOST_CHECK_EQUAL(c0.session.queueQuery("foo").getQueue(), "foo"); -// BOOST_CHECK_EQUAL(c1.session.queueQuery("foo").getQueue(), "foo"); - -// BOOST_CHECK_THROW(foo.session.queueDeclare("bar"), int); -// BOOST_CHECK_EQUAL(c0.session.queueQuery("bar").getQueue(), ""); -// BOOST_CHECK_EQUAL(c1.session.queueQuery("bar").getQueue(), ""); -// } + cluster.add(); + Client c2(aclSettings(cluster[2], "c2"), "c2"); + BOOST_CHECK_THROW(foo.session.queueDeclare("bar"), framing::NotAllowedException); + BOOST_CHECK(c2.session.queueQuery("bar").getQueue().empty()); +} +#endif QPID_AUTO_TEST_CASE(testMessageTimeToLive) { // Note: this doesn't actually test for cluster race conditions around TTL, @@ -199,13 +218,23 @@ QPID_AUTO_TEST_CASE(testMessageTimeToLive) { ClusterFixture cluster(2); Client c0(cluster[0], "c0"); Client c1(cluster[1], "c1"); + c0.session.queueDeclare("p"); c0.session.queueDeclare("q"); c0.session.messageTransfer(arg::content=ttlMessage("a", "q", 200)); c0.session.messageTransfer(arg::content=Message("b", "q")); - BOOST_CHECK_EQUAL(browse(c1, "q", 2), list_of<string>("a")("b")); - sys::usleep(300*1000); + c0.session.messageTransfer(arg::content=ttlMessage("x", "p", 10000)); + c0.session.messageTransfer(arg::content=Message("y", "p")); + cluster.add(); + Client c2(cluster[1], "c2"); + + BOOST_CHECK_EQUAL(browse(c0, "p", 2), list_of<string>("x")("y")); + BOOST_CHECK_EQUAL(browse(c1, "p", 2), list_of<string>("x")("y")); + BOOST_CHECK_EQUAL(browse(c2, "p", 2), list_of<string>("x")("y")); + + sys::usleep(200*1000); BOOST_CHECK_EQUAL(browse(c0, "q", 1), list_of<string>("b")); BOOST_CHECK_EQUAL(browse(c1, "q", 1), list_of<string>("b")); + BOOST_CHECK_EQUAL(browse(c2, "q", 1), list_of<string>("b")); } QPID_AUTO_TEST_CASE(testSequenceOptions) { @@ -506,10 +535,11 @@ QPID_AUTO_TEST_CASE(testCatchupSharedState) { c0.session.queueDeclare("q"); c0.session.messageTransfer(arg::content=Message("foo","q")); c0.session.messageTransfer(arg::content=Message("bar","q")); + while (c0.session.queueQuery("q").getMessageCount() != 2) sys::usleep(1000); // Wait for message to show up on broker 0. - // Add a new broker, it should catch up. + // Add a new broker, it will catch up. cluster.add(); // Do some work post-add @@ -527,6 +557,7 @@ QPID_AUTO_TEST_CASE(testCatchupSharedState) { BOOST_CHECK(c1.subs.get(m, "q", TIMEOUT)); BOOST_CHECK_EQUAL(m.getData(), "foo"); + BOOST_CHECK_EQUAL(m.getDeliveryProperties().getExchange(), ""); BOOST_CHECK(c1.subs.get(m, "q", TIMEOUT)); BOOST_CHECK_EQUAL(m.getData(), "bar"); BOOST_CHECK_EQUAL(c1.session.queueQuery("q").getMessageCount(), 0u); @@ -628,4 +659,86 @@ QPID_AUTO_TEST_CASE(testDequeueWaitingSubscription) { BOOST_CHECK_EQUAL(0u, c2.session.queueQuery("q").getMessageCount()); } +QPID_AUTO_TEST_CASE(testHeartbeatCancelledOnFailover) +{ + struct Sender : FailoverManager::Command + { + std::string queue; + std::string content; + + Sender(const std::string& q, const std::string& c) : queue(q), content(c) {} + + void execute(AsyncSession& session, bool) + { + session.messageTransfer(arg::content=Message(content, queue)); + } + }; + + struct Receiver : FailoverManager::Command, MessageListener, qpid::sys::Runnable + { + FailoverManager& mgr; + std::string queue; + std::string expectedContent; + qpid::client::Subscription subscription; + qpid::sys::Monitor lock; + bool ready; + + Receiver(FailoverManager& m, const std::string& q, const std::string& c) : mgr(m), queue(q), expectedContent(c), ready(false) {} + + void received(Message& message) + { + BOOST_CHECK_EQUAL(expectedContent, message.getData()); + subscription.cancel(); + } + + void execute(AsyncSession& session, bool) + { + session.queueDeclare(arg::queue=queue); + SubscriptionManager subs(session); + subscription = subs.subscribe(*this, queue); + session.sync(); + setReady(); + subs.run(); + //cleanup: + session.queueDelete(arg::queue=queue); + } + + void run() + { + mgr.execute(*this); + } + + void waitForReady() + { + qpid::sys::Monitor::ScopedLock l(lock); + while (!ready) { + lock.wait(); + } + } + + void setReady() + { + qpid::sys::Monitor::ScopedLock l(lock); + ready = true; + lock.notify(); + } + }; + + ClusterFixture cluster(2); + ConnectionSettings settings; + settings.port = cluster[1]; + settings.heartbeat = 1; + FailoverManager fmgr(settings); + Sender sender("my-queue", "my-data"); + Receiver receiver(fmgr, "my-queue", "my-data"); + qpid::sys::Thread runner(receiver); + receiver.waitForReady(); + cluster.kill(1); + //sleep for 2 secs to allow the heartbeat task to fire on the now dead connection: + ::usleep(2*1000*1000); + fmgr.execute(sender); + runner.join(); + fmgr.close(); +} + QPID_AUTO_TEST_SUITE_END() diff --git a/qpid/cpp/src/tests/clustered_replication_test b/qpid/cpp/src/tests/clustered_replication_test new file mode 100755 index 0000000000..2a3e742632 --- /dev/null +++ b/qpid/cpp/src/tests/clustered_replication_test @@ -0,0 +1,127 @@ +#!/bin/sh + +# +# 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. +# + +# Test reliability of the replication feature in the face of link +# failures: +srcdir=`dirname $0` +PYTHON_DIR=$srcdir/../../../python + +trap stop_brokers INT EXIT + +fail() { + echo $1 + exit 1 +} +with_ais_group() { + id -nG | grep '\<ais\>' >/dev/null || { echo "You are not a member of the ais group." 1>&2; exit 1; } + echo $* | newgrp ais +} + +stop_brokers() { + if [[ $PRIMARY1 ]] ; then + ../qpidd -q --port $PRIMARY1 + unset PRIMARY1 + fi + if [[ $PRIMARY2 ]] ; then + ../qpidd -q --port $PRIMARY2 + unset PRIMARY2 + fi + if [[ $DR1 ]] ; then + ../qpidd -q --port $DR1 + unset DR1 + fi + if [[ $DR2 ]] ; then + ../qpidd -q --port $DR2 + unset DR2 + fi +} + +if test -d ${PYTHON_DIR}; then + id -nG | grep '\<ais\>' >/dev/null || \ + NOGROUP="You are not a member of the ais group." + ps -u root | grep 'aisexec\|corosync' >/dev/null || \ + NOAISEXEC="The aisexec or corosync daemon is not running as root" + + if test -n "$NOGROUP" -o -n "$NOAISEXEC"; then + cat <<EOF +Not running federation to cluster test because: + $NOGROUP + $NOAISEXEC +EOF + exit 0; + fi + + #todo: these cluster names need to be unique to prevent clashes + PRIMARY_CLUSTER=PRIMARY_$(hostname)_$(pwd) + DR_CLUSTER=DR_$(hostname)_$(pwd) + + GENERAL_OPTS="--auth no --no-module-dir --no-data-dir --daemon --port 0 --log-enable notice+ --log-to-stderr false" + PRIMARY_OPTS="--load-module ../.libs/replicating_listener.so --create-replication-queue true --replication-queue REPLICATION_QUEUE --load-module ../.libs/cluster.so --cluster-name $PRIMARY_CLUSTER" + DR_OPTS="--load-module ../.libs/replication_exchange.so --load-module ../.libs/cluster.so --cluster-name $DR_CLUSTER" + + rm -f repl*.tmp #cleanup any files left from previous run + + #start first node of primary cluster and set up test queue + echo Starting primary cluster + PRIMARY1=$(with_ais_group ../qpidd $GENERAL_OPTS $PRIMARY_OPTS --log-to-file repl.primary.1.tmp) || fail "Could not start node" + $PYTHON_DIR/commands/qpid-config -a "localhost:$PRIMARY1" add queue test-queue --generate-queue-events 2 + $PYTHON_DIR/commands/qpid-config -a "localhost:$PRIMARY1" add queue control-queue --generate-queue-events 1 + + #send 10 messages, consume 5 of them + for i in `seq 1 10`; do echo Message$i; done | ./sender --port $PRIMARY1 + ./receiver --port $PRIMARY1 --messages 5 > /dev/null + + #add new node to primary cluster, testing correct transfer of state: + echo Adding node to primary cluster + PRIMARY2=$(with_ais_group ../qpidd $GENERAL_OPTS $PRIMARY_OPTS --log-to-file repl.primary.2.tmp) + + #start DR cluster, set up test queue there and establish replication bridge + echo Starting DR cluster + DR1=$(with_ais_group ../qpidd $GENERAL_OPTS $DR_OPTS --log-to-file repl.dr.1.tmp) + DR2=$(with_ais_group ../qpidd $GENERAL_OPTS $DR_OPTS --log-to-file repl.dr.2.tmp) + + $PYTHON_DIR/commands/qpid-config -a "localhost:$DR1" add queue test-queue + $PYTHON_DIR/commands/qpid-config -a "localhost:$DR1" add queue control-queue + $PYTHON_DIR/commands/qpid-config -a "localhost:$DR1" add exchange replication REPLICATION_EXCHANGE + $PYTHON_DIR/commands/qpid-route queue add localhost:$DR2 localhost:$PRIMARY2 REPLICATION_EXCHANGE REPLICATION_QUEUE + + #send more messages to primary + for i in `seq 11 20`; do echo Message$i; done | ./sender --port $PRIMARY1 --send-eos 1 + + #wait for replication events to all be processed: + echo Waiting for replication to complete + echo Done | ./sender --port $PRIMARY1 --routing-key control-queue --send-eos 1 + ./receiver --queue control-queue --port $DR1 > /dev/null + + #verify contents of test queue on dr cluster: + echo Verifying... + ./receiver --port $DR2 > repl.out.tmp + for i in `seq 6 20`; do echo Message$i; done | diff repl.out.tmp - || FAIL=1 + + if [[ $FAIL ]]; then + echo Clustered replication test failed: expectations not met! + exit 1 + else + echo Clustered replication test passed + rm -f repl*.tmp + fi + +fi diff --git a/qpid/cpp/src/tests/consume.vcproj b/qpid/cpp/src/tests/consume.vcproj index ecf7b2df08..2e1f8e3e56 100644 --- a/qpid/cpp/src/tests/consume.vcproj +++ b/qpid/cpp/src/tests/consume.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="consume"
- ProjectGUID="{7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="consume"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\consume\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\consume\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\consume.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\consume\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\consume\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\consume.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\consume\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\consume\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\consume.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\consume\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\consume\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\consume.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/echotest.vcproj b/qpid/cpp/src/tests/echotest.vcproj index 0048dde85f..2848894228 100644 --- a/qpid/cpp/src/tests/echotest.vcproj +++ b/qpid/cpp/src/tests/echotest.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="echotest"
- ProjectGUID="{0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="echotest"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\echotest\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\echotest\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\echotest.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\echotest\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\echotest\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\echotest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\echotest\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\echotest\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\echotest.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\echotest\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\echotest\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\echotest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/failover_soak.cpp b/qpid/cpp/src/tests/failover_soak.cpp index 6149e845e4..4f16e469b8 100644 --- a/qpid/cpp/src/tests/failover_soak.cpp +++ b/qpid/cpp/src/tests/failover_soak.cpp @@ -26,18 +26,32 @@ #include <sys/wait.h> #include <sys/time.h> #include <string.h> +#include <sys/types.h> +#include <signal.h> #include <string> #include <iostream> #include <sstream> #include <vector> +#include <boost/assign.hpp> + +#include "qpid/framing/Uuid.h" + #include <ForkedBroker.h> +#include <qpid/client/Connection.h> + + using namespace std; +using boost::assign::list_of; +using namespace qpid::framing; +using namespace qpid::client; + + typedef vector<ForkedBroker *> brokerVector; @@ -51,11 +65,34 @@ typedef enum childStatus; +typedef enum +{ + NO_TYPE, + DECLARING_CLIENT, + SENDING_CLIENT, + RECEIVING_CLIENT +} +childType; + + +ostream& operator<< ( ostream& os, const childType& ct ) { + switch ( ct ) { + case DECLARING_CLIENT: os << "Declaring Client"; break; + case SENDING_CLIENT: os << "Sending Client"; break; + case RECEIVING_CLIENT: os << "Receiving Client"; break; + default: os << "No Client"; break; + } + + return os; +} + + + struct child { - child ( string & name, pid_t pid ) - : name(name), pid(pid), retval(-999), status(RUNNING) + child ( string & name, pid_t pid, childType type ) + : name(name), pid(pid), retval(-999), status(RUNNING), type(type) { gettimeofday ( & startTime, 0 ); } @@ -70,10 +107,18 @@ struct child } + void + setType ( childType t ) + { + type = t; + } + + string name; pid_t pid; int retval; childStatus status; + childType type; struct timeval startTime, stopTime; }; @@ -83,10 +128,11 @@ struct child struct children : public vector<child *> { + void - add ( string & name, pid_t pid ) + add ( string & name, pid_t pid, childType type ) { - push_back(new child ( name, pid )); + push_back ( new child ( name, pid, type ) ); } @@ -108,7 +154,7 @@ struct children : public vector<child *> child * kid = get ( pid ); if(! kid) { - if ( verbosity > 0 ) + if ( verbosity > 1 ) { cerr << "children::exited warning: Can't find child with pid " << pid @@ -138,10 +184,15 @@ struct children : public vector<child *> int checkChildren ( ) { - vector<child *>::iterator i; + vector<child *>::iterator i; for ( i = begin(); i != end(); ++ i ) if ( (COMPLETED == (*i)->status) && (0 != (*i)->retval) ) - return (*i)->retval; + { + cerr << "checkChildren: error on child of type " + << (*i)->type + << endl; + return (*i)->retval; + } return 0; } @@ -176,22 +227,43 @@ struct children : public vector<child *> If it has been at least that long since a shild stopped running, we judge the system to have hung. */ - bool + int hanging ( int hangTime ) { struct timeval now, duration; gettimeofday ( &now, 0 ); + int how_many_hanging = 0; + vector<child *>::iterator i; for ( i = begin(); i != end(); ++ i ) { - timersub ( & now, &((*i)->startTime), & duration ); - if ( duration.tv_sec >= hangTime ) - return true; + //Not in POSIX + //timersub ( & now, &((*i)->startTime), & duration ); + duration.tv_sec = now.tv_sec - (*i)->startTime.tv_sec; + duration.tv_usec = now.tv_usec - (*i)->startTime.tv_usec; + if (duration.tv_usec < 0) { + --duration.tv_sec; + duration.tv_usec += 1000000; + } + + if ( (COMPLETED != (*i)->status) // child isn't done running + && + ( duration.tv_sec >= hangTime ) // it's been too long + ) + { + std::cerr << "Child of type " + << (*i)->type + << " hanging. " + << "PID is " + << (*i)->pid + << endl; + ++ how_many_hanging; + } } - return false; + return how_many_hanging; } @@ -206,9 +278,8 @@ children allMyChildren; void -childExit ( int signalNumber ) +childExit ( int ) { - signalNumber ++; // Now maybe the compiler willleave me alone? int childReturnCode; pid_t pid = waitpid ( 0, & childReturnCode, WNOHANG); @@ -235,10 +306,9 @@ mrand ( int minDesiredVal, int maxDesiredVal ) { void -makeClusterName ( string & s, int & num ) { - num = mrand(1000); +makeClusterName ( string & s ) { stringstream ss; - ss << "soakTestCluster_" << num; + ss << "soakTestCluster_" << Uuid(true).str(); s = ss.str(); } @@ -263,66 +333,136 @@ printBrokers ( brokerVector & brokers ) +ForkedBroker * newbie = 0; +int newbie_port = 0; + + + +bool +wait_for_newbie ( ) +{ + if ( ! newbie ) + return true; + + try + { + Connection connection; + connection.open ( "127.0.0.1", newbie_port ); + connection.close(); + newbie = 0; // He's no newbie anymore! + return true; + } + catch ( const std::exception& error ) + { + std::cerr << "wait_for_newbie error: " + << error.what() + << endl; + return false; + } +} + + + void startNewBroker ( brokerVector & brokers, char const * srcRoot, char const * moduleDir, - string const clusterName ) + string const clusterName, + int verbosity ) { static int brokerId = 0; stringstream path, prefix, module; module << moduleDir << "/cluster.so"; path << srcRoot << "/qpidd"; - prefix << "soak-" << brokerId++; - - const char * const argv[] = - { - "qpidd", - "-p0", - "--load-module=cluster.so", - "--cluster-name", - clusterName.c_str(), - "--auth=no", - "--no-data-dir", - "--no-module-dir", - "--mgmt-enable=no", - "--log-prefix", prefix.str().c_str(), - 0 - }; - - size_t argc = sizeof(argv)/sizeof(argv[0]); - brokers.push_back ( new ForkedBroker ( argc, argv ) ); + prefix << "soak-" << brokerId; + std::vector<std::string> argv = list_of<string> + ("qpidd") + ("--no-module-dir") + ("--load-module=cluster.so") + ("--cluster-name") + (clusterName) + ("--auth=no") + ("--no-data-dir") + ("--mgmt-enable=no") + ("--log-prefix") + (prefix.str()) + ("--log-to-file") + (prefix.str()+".log"); + + newbie = new ForkedBroker ( argv ); + newbie_port = newbie->getPort(); + ForkedBroker * broker = newbie; + + if ( verbosity > 0 ) + std::cerr << "new broker created: pid == " + << broker->getPID() + << " log-prefix == " + << "soak-" << brokerId + << endl; + brokers.push_back ( broker ); + + ++ brokerId; } -void +bool killFrontBroker ( brokerVector & brokers, int verbosity ) { + cerr << "killFrontBroker: waiting for newbie sync...\n"; + if ( ! wait_for_newbie() ) + return false; + cerr << "killFrontBroker: newbie synced.\n"; + if ( verbosity > 0 ) cout << "killFrontBroker pid: " << brokers[0]->getPID() << " on port " << brokers[0]->getPort() << endl; try { brokers[0]->kill(9); } catch ( const exception& error ) { if ( verbosity > 0 ) - cout << "error killing broker: " << error.what() << endl; + { + cout << "error killing broker: " + << error.what() + << endl; + } + + return false; } delete brokers[0]; brokers.erase ( brokers.begin() ); + return true; } +/* + * The optional delay is to avoid killing newbie brokers that have just + * been added and are still in the process of updating. This causes + * spurious, test-generated errors that scare everybody. + */ void -killAllBrokers ( brokerVector & brokers ) +killAllBrokers ( brokerVector & brokers, int delay ) { + if ( delay > 0 ) + { + std::cerr << "Killing all brokers after delay of " << delay << endl; + sleep ( delay ); + } + for ( uint i = 0; i < brokers.size(); ++ i ) try { brokers[i]->kill(9); } - catch ( ... ) { } + catch ( const exception& error ) + { + std::cerr << "killAllBrokers Warning: exception during kill on broker " + << i + << " " + << error.what() + << endl; + } } @@ -339,7 +479,7 @@ runDeclareQueuesClient ( brokerVector brokers, string name("declareQueues"); int port = brokers[0]->getPort ( ); - if ( verbosity > 0 ) + if ( verbosity > 1 ) cout << "startDeclareQueuesClient: host: " << host << " port: " @@ -357,11 +497,11 @@ runDeclareQueuesClient ( brokerVector brokers, if ( ! pid ) { execv ( path, const_cast<char * const *>(&argv[0]) ); - perror ( "error executing dq: " ); + perror ( "error executing declareQueues: " ); return 0; } - allMyChildren.add ( name, pid ); + allMyChildren.add ( name, pid, DECLARING_CLIENT ); return pid; } @@ -380,12 +520,16 @@ startReceivingClient ( brokerVector brokers, string name("receiver"); int port = brokers[0]->getPort ( ); - if ( verbosity > 0 ) + if ( verbosity > 1 ) cout << "startReceivingClient: port " << port << endl; + + // verbosity has to be > 1 to let clients talk. + int client_verbosity = (verbosity > 1 ) ? 1 : 0; + char portStr[100]; char verbosityStr[100]; sprintf(portStr, "%d", port); - sprintf(verbosityStr, "%d", verbosity); + sprintf(verbosityStr, "%d", client_verbosity); vector<const char*> argv; @@ -404,7 +548,7 @@ startReceivingClient ( brokerVector brokers, return 0; } - allMyChildren.add ( name, pid ); + allMyChildren.add ( name, pid, RECEIVING_CLIENT ); return pid; } @@ -424,13 +568,16 @@ startSendingClient ( brokerVector brokers, string name("sender"); int port = brokers[0]->getPort ( ); - if ( verbosity ) + if ( verbosity > 1) cout << "startSenderClient: port " << port << endl; char portStr[100]; char verbosityStr[100]; + // + // verbosity has to be > 1 to let clients talk. + int client_verbosity = (verbosity > 1 ) ? 1 : 0; sprintf ( portStr, "%d", port); - sprintf ( verbosityStr, "%d", verbosity); + sprintf ( verbosityStr, "%d", client_verbosity); vector<const char*> argv; argv.push_back ( "replayingSender" ); @@ -449,19 +596,21 @@ startSendingClient ( brokerVector brokers, return 0; } - allMyChildren.add ( name, pid ); + allMyChildren.add ( name, pid, SENDING_CLIENT ); return pid; } -#define HUNKY_DORY 0 -#define BAD_ARGS 1 -#define CANT_FORK_DQ 2 -#define CANT_FORK_RECEIVER 3 -#define DQ_FAILED 4 -#define ERROR_ON_CHILD 5 -#define HANGING 6 +#define HUNKY_DORY 0 +#define BAD_ARGS 1 +#define CANT_FORK_DQ 2 +#define CANT_FORK_RECEIVER 3 +#define CANT_FORK_SENDER 4 +#define DQ_FAILED 5 +#define ERROR_ON_CHILD 6 +#define HANGING 7 +#define ERROR_KILLING_BROKER 8 int @@ -489,16 +638,15 @@ main ( int argc, char const ** argv ) allMyChildren.verbosity = verbosity; - int clusterNum; string clusterName; srand ( getpid() ); - makeClusterName ( clusterName, clusterNum ); + makeClusterName ( clusterName ); brokerVector brokers; - if ( verbosity > 0 ) + if ( verbosity > 1 ) cout << "Starting initial cluster...\n"; int nBrokers = 3; @@ -506,7 +654,8 @@ main ( int argc, char const ** argv ) startNewBroker ( brokers, srcRoot, moduleDir, - clusterName ); + clusterName, + verbosity ); } @@ -518,14 +667,14 @@ main ( int argc, char const ** argv ) pid_t dqClientPid = runDeclareQueuesClient ( brokers, host, declareQueuesPath, verbosity ); if ( -1 == dqClientPid ) { - cerr << "failoverSoak error: Couldn't fork declareQueues.\n"; + cerr << "END_OF_TEST ERROR_START_DECLARE_1\n"; return CANT_FORK_DQ; } // Don't continue until declareQueues is finished. pid_t retval = waitpid ( dqClientPid, & childStatus, 0); if ( retval != dqClientPid) { - cerr << "failoverSoak error: waitpid on declareQueues returned value " << retval << endl; + cerr << "END_OF_TEST ERROR_START_DECLARE_2\n"; return DQ_FAILED; } allMyChildren.exited ( dqClientPid, childStatus ); @@ -540,7 +689,7 @@ main ( int argc, char const ** argv ) reportFrequency, verbosity ); if ( -1 == receivingClientPid ) { - cerr << "failoverSoak error: Couldn't fork receiver.\n"; + cerr << "END_OF_TEST ERROR_START_RECEIVER\n"; return CANT_FORK_RECEIVER; } @@ -554,13 +703,13 @@ main ( int argc, char const ** argv ) reportFrequency, verbosity ); if ( -1 == sendingClientPid ) { - cerr << "failoverSoak error: Couldn't fork sender.\n"; - return CANT_FORK_RECEIVER; + cerr << "END_OF_TEST ERROR_START_SENDER\n"; + return CANT_FORK_SENDER; } - int minSleep = 3, - maxSleep = 6; + int minSleep = 2, + maxSleep = 4; for ( int totalBrokers = 3; @@ -578,11 +727,16 @@ main ( int argc, char const ** argv ) sleep ( sleepyTime ); // Kill the oldest broker. -------------------------- - killFrontBroker ( brokers, verbosity ); + if ( ! killFrontBroker ( brokers, verbosity ) ) + { + allMyChildren.killEverybody(); + std::cerr << "END_OF_TEST ERROR_BROKER\n"; + return ERROR_KILLING_BROKER; + } // Sleep for a while. ------------------------- sleepyTime = mrand ( minSleep, maxSleep ); - if ( verbosity > 0 ) + if ( verbosity > 1 ) cerr << "Sleeping for " << sleepyTime << " seconds.\n"; sleep ( sleepyTime ); @@ -593,22 +747,33 @@ main ( int argc, char const ** argv ) startNewBroker ( brokers, srcRoot, moduleDir, - clusterName ); + clusterName, + verbosity ); - if ( verbosity > 0 ) + if ( verbosity > 1 ) printBrokers ( brokers ); // If all children have exited, quit. int unfinished = allMyChildren.unfinished(); if ( ! unfinished ) { - killAllBrokers ( brokers ); + killAllBrokers ( brokers, 5 ); - if ( verbosity > 0 ) + if ( verbosity > 1 ) cout << "failoverSoak: all children have exited.\n"; int retval = allMyChildren.checkChildren(); - if ( verbosity > 0 ) + if ( verbosity > 1 ) std::cerr << "failoverSoak: checkChildren: " << retval << endl; - return retval ? ERROR_ON_CHILD : HUNKY_DORY; + + if ( retval ) + { + std::cerr << "END_OF_TEST ERROR_CLIENT\n"; + return ERROR_ON_CHILD; + } + else + { + std::cerr << "END_OF_TEST SUCCESSFUL\n"; + return HUNKY_DORY; + } } // Even if some are still running, if there's an error, quit. @@ -617,35 +782,38 @@ main ( int argc, char const ** argv ) if ( verbosity > 0 ) cout << "failoverSoak: error on child.\n"; allMyChildren.killEverybody(); - killAllBrokers ( brokers ); + killAllBrokers ( brokers, 5 ); + std::cerr << "END_OF_TEST ERROR_CLIENT\n"; return ERROR_ON_CHILD; } // If one is hanging, quit. if ( allMyChildren.hanging ( 120 ) ) { - if ( verbosity > 0 ) - cout << "failoverSoak: child hanging.\n"; - allMyChildren.killEverybody(); - killAllBrokers ( brokers ); + /* + * Don't kill any processes. Leave alive for questioning. + * */ + std::cerr << "END_OF_TEST ERROR_HANGING\n"; return HANGING; } - if ( verbosity > 0 ) { + if ( verbosity > 1 ) { std::cerr << "------- next kill-broker loop --------\n"; allMyChildren.print(); } } retval = allMyChildren.checkChildren(); - if ( verbosity > 0 ) + if ( verbosity > 1 ) std::cerr << "failoverSoak: checkChildren: " << retval << endl; - if ( verbosity > 0 ) + if ( verbosity > 1 ) cout << "failoverSoak: maxBrokers reached.\n"; allMyChildren.killEverybody(); - killAllBrokers ( brokers ); + killAllBrokers ( brokers, 5 ); + + std::cerr << "END_OF_TEST SUCCESSFUL\n"; return retval ? ERROR_ON_CHILD : HUNKY_DORY; } diff --git a/qpid/cpp/src/tests/federated_cluster_test b/qpid/cpp/src/tests/federated_cluster_test index d4549738b2..575a5d9c9b 100755 --- a/qpid/cpp/src/tests/federated_cluster_test +++ b/qpid/cpp/src/tests/federated_cluster_test @@ -21,8 +21,8 @@ # Test reliability of the replication feature in the face of link # failures: -MY_DIR=`dirname \`which $0\`` -PYTHON_DIR=${MY_DIR}/../../../python +srcdir=`dirname $0` +PYTHON_DIR=$srcdir/../../../python trap stop_brokers EXIT @@ -37,9 +37,14 @@ stop_brokers() { unset BROKER_A fi if [[ $NODE_1 ]] ; then - ./stop_cluster + ../qpidd -q --port $NODE_1 unset NODE_1 fi + if [[ $NODE_2 ]] ; then + ../qpidd -q --port $NODE_2 + unset NODE_2 + fi + rm cluster.ports } start_brokers() { @@ -48,19 +53,20 @@ start_brokers() { BROKER_A=`cat fed.port.tmp` #...and start cluster - ./start_cluster 2 || fail "Could not start cluster" + $srcdir/start_cluster 2 || fail "Could not start cluster" NODE_1=$(head -1 cluster.ports) NODE_2=$(tail -1 cluster.ports) } setup() { + export PYTHONPATH=$PYTHON_DIR #create exchange on both cluster and single broker $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_A" add exchange direct test-exchange $PYTHON_DIR/commands/qpid-config -a "localhost:$NODE_1" add exchange direct test-exchange #create dynamic routes for test exchange - $PYTHON_DIR/commands/qpid-route dynamic add "localhost:$NODE_1" "localhost:$BROKER_A" test-exchange - $PYTHON_DIR/commands/qpid-route dynamic add "localhost:$BROKER_A" "localhost:$NODE_1" test-exchange + $PYTHON_DIR/commands/qpid-route dynamic add "localhost:$NODE_2" "localhost:$BROKER_A" test-exchange + $PYTHON_DIR/commands/qpid-route dynamic add "localhost:$BROKER_A" "localhost:$NODE_2" test-exchange #create test queue on cluster and bind it to the test exchange $PYTHON_DIR/commands/qpid-config -a "localhost:$NODE_1" add queue test-queue @@ -71,7 +77,7 @@ setup() { $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_A" bind test-exchange test-queue from-cluster } -run_test_pull_to_cluster() { +run_test_pull_to_cluster_two_consumers() { #start consumers on each of the two nodes of the cluster ./receiver --port $NODE_1 --queue test-queue --credit-window 1 > fed1.out.tmp & ./receiver --port $NODE_2 --queue test-queue --credit-window 1 > fed2.out.tmp & @@ -88,6 +94,20 @@ run_test_pull_to_cluster() { rm -f fed*.tmp #cleanup } +run_test_pull_to_cluster() { + #send stream of messages to test exchange on single broker + for i in `seq 1 1000`; do echo Message $i >> fed.in.tmp; done + ./sender --port $BROKER_A --exchange test-exchange --routing-key to-cluster --send-eos 1 < fed.in.tmp + + #consume from remaining node of the cluster + ./receiver --port $NODE_2 --queue test-queue > fed.out.tmp + + #verify all messages are received + diff fed.in.tmp fed.out.tmp || fail "federated link to cluster failed: expectations not met!" + + rm -f fed*.tmp #cleanup +} + run_test_pull_from_cluster() { #start consumer on single broker ./receiver --port $BROKER_A --queue test-queue --credit-window 1 > fed.out.tmp & @@ -124,8 +144,19 @@ EOF echo "brokers started" setup echo "setup completed" - run_test_pull_to_cluster + run_test_pull_to_cluster_two_consumers echo "federated link to cluster verified" run_test_pull_from_cluster echo "federated link from cluster verified" + if [[ $TEST_NODE_FAILURE ]] ; then + #kill first cluster node and retest + kill -9 $(../qpidd --check --port $NODE_1) && unset NODE_1 + echo "killed first cluster node; waiting for links to re-establish themselves..." + sleep 5 + echo "retesting..." + run_test_pull_to_cluster + echo "federated link to cluster verified" + run_test_pull_from_cluster + echo "federated link from cluster verified" + fi fi diff --git a/qpid/cpp/src/tests/federated_cluster_test_with_node_failure b/qpid/cpp/src/tests/federated_cluster_test_with_node_failure new file mode 100755 index 0000000000..f144a676de --- /dev/null +++ b/qpid/cpp/src/tests/federated_cluster_test_with_node_failure @@ -0,0 +1,23 @@ +#!/bin/sh + +# +# 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. +# + +srcdir=`dirname $0` +TEST_NODE_FAILURE=1 $srcdir/federated_cluster_test diff --git a/qpid/cpp/src/tests/header_test.vcproj b/qpid/cpp/src/tests/header_test.vcproj index 9a1da958cc..da761a6edb 100644 --- a/qpid/cpp/src/tests/header_test.vcproj +++ b/qpid/cpp/src/tests/header_test.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="header_test"
- ProjectGUID="{1B23F05D-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="header_test"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\header_test\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\header_test\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\header_test.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\header_test\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\header_test\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\header_test.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\header_test\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\header_test\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\header_test.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\header_test\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\header_test\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\header_test.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/latencytest.vcproj b/qpid/cpp/src/tests/latencytest.vcproj index eb9741a1e1..758302029a 100644 --- a/qpid/cpp/src/tests/latencytest.vcproj +++ b/qpid/cpp/src/tests/latencytest.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="latencytest"
- ProjectGUID="{4A809018-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{4A809018-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="latencytest"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\latencytest\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\latencytest\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\latencytest.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\latencytest\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\latencytest\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\latencytest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\latencytest\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\latencytest\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\latencytest.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\latencytest\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\latencytest\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\latencytest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/logging.cpp b/qpid/cpp/src/tests/logging.cpp index 051722e7c8..00e1d7de85 100644 --- a/qpid/cpp/src/tests/logging.cpp +++ b/qpid/cpp/src/tests/logging.cpp @@ -23,6 +23,7 @@ #include "qpid/memory.h" #include "qpid/Options.h" #if defined (_WIN32) +# include "qpid/log/windows/SinkOptions.h" #else # include "qpid/log/posix/SinkOptions.h" #endif @@ -172,7 +173,7 @@ QPID_AUTO_TEST_CASE(testLoggerFormat) { l.format(Logger::FUNCTION); QPID_LOG(critical, "foo"); - BOOST_CHECK_REGEX("void .*testLoggerFormat.*\\(\\): foo\n", out->last()); + BOOST_CHECK_EQUAL(string(BOOST_CURRENT_FUNCTION) + ": foo\n", out->last()); l.format(Logger::LEVEL); QPID_LOG(critical, "foo"); @@ -270,7 +271,11 @@ QPID_AUTO_TEST_CASE(testOptionsParse) { "--log-function", "YES" }; qpid::log::Options opts(""); +#ifdef _WIN32 + qpid::log::windows::SinkOptions sinks("test"); +#else qpid::log::posix::SinkOptions sinks("test"); +#endif opts.parse(ARGC(argv), const_cast<char**>(argv)); sinks = *opts.sinkOptions; vector<string> expect=list_of("error+:foo")("debug:bar")("info"); @@ -286,7 +291,11 @@ QPID_AUTO_TEST_CASE(testOptionsParse) { QPID_AUTO_TEST_CASE(testOptionsDefault) { Options opts(""); +#ifdef _WIN32 + qpid::log::windows::SinkOptions sinks("test"); +#else qpid::log::posix::SinkOptions sinks("test"); +#endif sinks = *opts.sinkOptions; BOOST_CHECK(sinks.logToStderr); BOOST_CHECK(!sinks.logToStdout); @@ -345,8 +354,13 @@ QPID_AUTO_TEST_CASE(testQuoteNonPrintable) { ScopedSuppressLogging ls(l); Options opts("test"); opts.time=false; +#ifdef _WIN32 + qpid::log::windows::SinkOptions *sinks = + dynamic_cast<qpid::log::windows::SinkOptions *>(opts.sinkOptions.get()); +#else qpid::log::posix::SinkOptions *sinks = dynamic_cast<qpid::log::posix::SinkOptions *>(opts.sinkOptions.get()); +#endif sinks->logToStderr = false; sinks->logFile = "logging.tmp"; l.configure(opts); diff --git a/qpid/cpp/src/tests/perftest.cpp b/qpid/cpp/src/tests/perftest.cpp index 6456bc8304..18491d72a0 100644 --- a/qpid/cpp/src/tests/perftest.cpp +++ b/qpid/cpp/src/tests/perftest.cpp @@ -38,7 +38,6 @@ #include <sstream> #include <numeric> #include <algorithm> -#include <unistd.h> #include <math.h> @@ -238,8 +237,10 @@ struct Client : public Runnable { ~Client() { try { - session.close(); - connection->close(); + if (connection->isOpen()) { + session.close(); + connection->close(); + } } catch (const std::exception& e) { std::cerr << "Error in shutdown: " << e.what() << std::endl; } @@ -523,7 +524,8 @@ struct PublishThread : public Client { sync(session).txCommit(); } } - if (opts.intervalPub) ::usleep(opts.intervalPub*1000); + if (opts.intervalPub) + qpid::sys::usleep(opts.intervalPub*1000); } if (opts.confirm) session.sync(); AbsTime end=now(); @@ -613,7 +615,8 @@ struct SubscribeThread : public Client { if (opts.commitAsync) session.txCommit(); else sync(session).txCommit(); } - if (opts.intervalSub) ::usleep(opts.intervalSub*1000); + if (opts.intervalSub) + qpid::sys::usleep(opts.intervalSub*1000); // TODO aconway 2007-11-23: check message order for. // multiple publishers. Need an array of counters, // one per publisher and a publisher ID in the diff --git a/qpid/cpp/src/tests/perftest.vcproj b/qpid/cpp/src/tests/perftest.vcproj index c9132bac03..3a2397ac9b 100644 --- a/qpid/cpp/src/tests/perftest.vcproj +++ b/qpid/cpp/src/tests/perftest.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="perftest"
- ProjectGUID="{1F2066BE-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="perftest"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\perftest\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\perftest\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\perftest.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\perftest\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\perftest\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\perftest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\perftest\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\perftest\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\perftest.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\perftest\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\perftest\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\perftest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/publish.vcproj b/qpid/cpp/src/tests/publish.vcproj index a205337ecd..7422606a32 100644 --- a/qpid/cpp/src/tests/publish.vcproj +++ b/qpid/cpp/src/tests/publish.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="publish"
- ProjectGUID="{AE773E7F-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="publish"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\publish\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\publish\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\publish.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\publish\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\publish\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\publish.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\publish\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\publish\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\publish.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\publish\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\publish\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\publish.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/receiver.cpp b/qpid/cpp/src/tests/receiver.cpp index 1ecaece51e..49f7ff0338 100644 --- a/qpid/cpp/src/tests/receiver.cpp +++ b/qpid/cpp/src/tests/receiver.cpp @@ -23,7 +23,7 @@ #include <qpid/client/Session.h> #include <qpid/client/Message.h> #include <qpid/client/SubscriptionManager.h> -#include <qpid/client/SubscriptionManager.h> +#include <qpid/client/SubscriptionSettings.h> #include "TestOptions.h" #include <iostream> @@ -43,15 +43,17 @@ struct Args : public qpid::TestOptions bool ignoreDuplicates; uint creditWindow; uint ackFrequency; + bool browse; - Args() : queue("test-queue"), messages(0), ignoreDuplicates(false), creditWindow(0), ackFrequency(1) + Args() : queue("test-queue"), messages(0), ignoreDuplicates(false), creditWindow(0), ackFrequency(1), browse(false) { addOptions() ("queue", qpid::optValue(queue, "QUEUE NAME"), "Queue from which to request messages") ("messages", qpid::optValue(messages, "N"), "Number of messages to receive; 0 means receive indefinitely") ("ignore-duplicates", qpid::optValue(ignoreDuplicates), "Detect and ignore duplicates (by checking 'sn' header)") ("credit-window", qpid::optValue(creditWindow, "N"), "Credit window (0 implies infinite window)") - ("ack-frequency", qpid::optValue(ackFrequency, "N"), "Ack frequency (0 implies none of the messages will get accepted)"); + ("ack-frequency", qpid::optValue(ackFrequency, "N"), "Ack frequency (0 implies none of the messages will get accepted)") + ("browse", qpid::optValue(browse), "Browse rather than consuming"); } }; @@ -60,7 +62,7 @@ const string EOS("eos"); class Receiver : public MessageListener, public FailoverManager::Command { public: - Receiver(const string& queue, uint messages, bool ignoreDuplicates, uint creditWindow, uint ackFrequency); + Receiver(const string& queue, uint messages, bool ignoreDuplicates, uint creditWindow, uint ackFrequency, bool browse); void received(Message& message); void execute(AsyncSession& session, bool isRetry); private: @@ -75,9 +77,10 @@ class Receiver : public MessageListener, public FailoverManager::Command bool isDuplicate(Message& message); }; -Receiver::Receiver(const string& q, uint messages, bool ignoreDuplicates, uint creditWindow, uint ackFrequency) : +Receiver::Receiver(const string& q, uint messages, bool ignoreDuplicates, uint creditWindow, uint ackFrequency, bool browse) : queue(q), count(messages), skipDups(ignoreDuplicates), processed(0), lastSn(0) { + if (browse) settings.acquireMode = ACQUIRE_MODE_NOT_ACQUIRED; if (creditWindow) settings.flowControl = FlowControl::messageWindow(creditWindow); settings.autoAck = ackFrequency; } @@ -107,6 +110,9 @@ void Receiver::execute(AsyncSession& session, bool /*isRetry*/) SubscriptionManager subs(session); subscription = subs.subscribe(*this, queue, settings); subs.run(); + if (settings.autoAck) { + subscription.accept(subscription.getUnaccepted()); + } } int main(int argc, char ** argv) @@ -115,7 +121,7 @@ int main(int argc, char ** argv) try { opts.parse(argc, argv); FailoverManager connection(opts.con); - Receiver receiver(opts.queue, opts.messages, opts.ignoreDuplicates, opts.creditWindow, opts.ackFrequency); + Receiver receiver(opts.queue, opts.messages, opts.ignoreDuplicates, opts.creditWindow, opts.ackFrequency, opts.browse); connection.execute(receiver); connection.close(); return 0; diff --git a/qpid/cpp/src/tests/receiver.vcproj b/qpid/cpp/src/tests/receiver.vcproj index 824b75d7d9..ce6fad366e 100644 --- a/qpid/cpp/src/tests/receiver.vcproj +++ b/qpid/cpp/src/tests/receiver.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="receiver"
- ProjectGUID="{7D314A98-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{7D314A98-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="receiver"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\receiver\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\receiver\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\receiver.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\receiver\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\receiver\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\receiver.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\receiver\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\receiver\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\receiver.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\receiver\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\receiver\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\receiver.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/replaying_sender.cpp b/qpid/cpp/src/tests/replaying_sender.cpp index 7e148e277f..ea2a13bd54 100644 --- a/qpid/cpp/src/tests/replaying_sender.cpp +++ b/qpid/cpp/src/tests/replaying_sender.cpp @@ -60,6 +60,8 @@ Sender::Sender(const std::string& queue, uint count_, uint reportFreq ) : sender void Sender::execute(AsyncSession& session, bool isRetry) { + if (verbosity > 0) + std::cout << "replaying_sender " << (isRetry ? "first " : "re-") << "connect." << endl; if (isRetry) sender.replay(session); else sender.init(session); while (sent < count) { @@ -70,7 +72,7 @@ void Sender::execute(AsyncSession& session, bool isRetry) sender.send(message); if (count > reportFrequency && !(sent % reportFrequency)) { if ( verbosity > 0 ) - std::cout << "sent " << sent << " of " << count << std::endl; + std::cout << "Sender sent " << sent << " of " << count << std::endl; } } message.setData("That's all, folks!"); diff --git a/qpid/cpp/src/tests/replication_test b/qpid/cpp/src/tests/replication_test index 9b6e5cfb29..6e0c1c8d3b 100755 --- a/qpid/cpp/src/tests/replication_test +++ b/qpid/cpp/src/tests/replication_test @@ -22,21 +22,20 @@ # Run a test of the replication feature MY_DIR=`dirname \`which $0\`` PYTHON_DIR=${MY_DIR}/../../../python - trap stop_brokers INT TERM QUIT stop_brokers() { - if [[ $BROKER_A ]] ; then + if [ x$BROKER_A != x ]; then ../qpidd -q --port $BROKER_A unset BROKER_A fi - if [[ $BROKER_B ]] ; then + if [ x$BROKER_B != x ]; then ../qpidd -q --port $BROKER_B unset BROKER_B fi } -if test -d ${PYTHON_DIR} && test -e ../.libs/replicating_listener.so && test -e ../.libs/replication_exchange.so ; then +if test -d ${PYTHON_DIR} && test -f ../.libs/replicating_listener.so && test -f ../.libs/replication_exchange.so; then rm -f queue-*.repl replication-*.log #cleanup from any earlier runs ../qpidd --daemon --port 0 --no-data-dir --no-module-dir --auth no --load-module ../.libs/replicating_listener.so --replication-queue replication --create-replication-queue true --log-enable info+ --log-to-file replication-source.log --log-to-stderr 0 > qpidd.port @@ -44,7 +43,8 @@ if test -d ${PYTHON_DIR} && test -e ../.libs/replicating_listener.so && test -e ../qpidd --daemon --port 0 --no-data-dir --no-module-dir --auth no --load-module ../.libs/replication_exchange.so --log-enable info+ --log-to-file replication-dest.log --log-to-stderr 0 > qpidd.port BROKER_B=`cat qpidd.port` - export PYTHONPATH=$PYTHON_DIR + PYTHONPATH=$PYTHON_DIR + export PYTHONPATH echo "Running replication test between localhost:$BROKER_A and localhost:$BROKER_B" $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_B" add exchange replication replication @@ -55,23 +55,39 @@ if test -d ${PYTHON_DIR} && test -e ../.libs/replicating_listener.so && test -e $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_A" add queue queue-a --generate-queue-events 2 $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_A" add queue queue-b --generate-queue-events 2 $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_A" add queue queue-c --generate-queue-events 1 + $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_A" add queue queue-d --generate-queue-events 2 $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_B" add queue queue-a $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_B" add queue queue-b $PYTHON_DIR/commands/qpid-config -a "localhost:$BROKER_B" add queue queue-c - - #publish and consume from test queus on broker A: - for i in `seq 1 10`; do echo Message $i for A >> queue-a-input.repl; done - for i in `seq 1 20`; do echo Message $i for B >> queue-b-input.repl; done - for i in `seq 1 15`; do echo Message $i for C >> queue-c-input.repl; done + #queue-d deliberately not declared on DR; this error case should be handled + + #publish and consume from test queues on broker A: + i=1 + while [ $i -le 10 ]; do + echo Message $i for A >> queue-a-input.repl + i=`expr $i + 1` + done + i=1 + while [ $i -le 20 ]; do + echo Message $i for B >> queue-b-input.repl + i=`expr $i + 1` + done + i=1 + while [ $i -le 15 ]; do + echo Message $i for C >> queue-c-input.repl + i=`expr $i + 1` + done ./sender --port $BROKER_A --routing-key queue-a --send-eos 1 < queue-a-input.repl ./sender --port $BROKER_A --routing-key queue-b --send-eos 1 < queue-b-input.repl ./sender --port $BROKER_A --routing-key queue-c --send-eos 1 < queue-c-input.repl + echo dummy | ./sender --port $BROKER_A --routing-key queue-d --send-eos 1 ./receiver --port $BROKER_A --queue queue-a --messages 5 > /dev/null ./receiver --port $BROKER_A --queue queue-b --messages 10 > /dev/null ./receiver --port $BROKER_A --queue queue-c --messages 10 > /dev/null + ./receiver --port $BROKER_A --queue queue-d > /dev/null #shutdown broker A then check that broker Bs versions of the queues are as expected ../qpidd -q --port $BROKER_A @@ -90,7 +106,9 @@ if test -d ${PYTHON_DIR} && test -e ../.libs/replicating_listener.so && test -e diff queue-b-backup.repl queue-b-expected.repl || FAIL=1 diff queue-c-backup.repl queue-c-input.repl || FAIL=1 - if [[ $FAIL ]]; then + grep 'queue-d does not exist' replication-dest.log > /dev/null || echo "WARNING: Expected error to be logged!" + + if [ x$FAIL != x ]; then echo replication test failed: expectations not met! exit 1 else diff --git a/qpid/cpp/src/tests/resuming_receiver.cpp b/qpid/cpp/src/tests/resuming_receiver.cpp index f49a115e1e..ef559a009d 100644 --- a/qpid/cpp/src/tests/resuming_receiver.cpp +++ b/qpid/cpp/src/tests/resuming_receiver.cpp @@ -53,6 +53,7 @@ class Listener : public MessageListener, bool gaps; uint reportFrequency; int verbosity; + bool done; }; @@ -62,7 +63,8 @@ Listener::Listener(int freq, int verbosity) lastSn(0), gaps(false), reportFrequency(freq), - verbosity(verbosity) + verbosity(verbosity), + done(false) {} @@ -70,6 +72,7 @@ void Listener::received(Message & message) { if (message.getData() == "That's all, folks!") { + done = true; if(verbosity > 0 ) { std::cout << "Shutting down listener for " @@ -111,14 +114,14 @@ void Listener::check() if (gaps) throw Exception("Detected gaps in sequence; messages appear to have been lost."); } -void Listener::execute(AsyncSession& session, bool isRetry) -{ - if (isRetry) { - // std::cout << "Resuming from " << count << std::endl; +void Listener::execute(AsyncSession& session, bool isRetry) { + if (verbosity > 0) + std::cout << "resuming_receiver " << (isRetry ? "first " : "re-") << "connect." << endl; + if (!done) { + SubscriptionManager subs(session); + subscription = subs.subscribe(*this, "message_queue"); + subs.run(); } - SubscriptionManager subs(session); - subscription = subs.subscribe(*this, "message_queue"); - subs.run(); } void Listener::editUrlList(std::vector<Url>& urls) diff --git a/qpid/cpp/src/tests/run_failover_soak b/qpid/cpp/src/tests/run_failover_soak index 9dddf59cf1..36dfed79a6 100755 --- a/qpid/cpp/src/tests/run_failover_soak +++ b/qpid/cpp/src/tests/run_failover_soak @@ -22,8 +22,8 @@ # Check AIS requirements and run tests if found. id -ng | grep '\<ais\>' >/dev/null || \ NOGROUP="The ais group is not your primary group." -ps -u root | grep aisexec >/dev/null || \ - NOAISEXEC="The aisexec daemon is not running as root" +ps -u root | grep 'aisexec\|corosync' >/dev/null || \ + NOAISEXEC="The aisexec/corosync daemon is not running as root" if test -n "$NOGROUP" -o -n "$NOAISEXEC"; then cat <<EOF @@ -47,10 +47,10 @@ host=127.0.0.1 src_root=.. module_dir=$src_root/.libs -n_messages=300000 -report_frequency=10000 -verbosity=1 +MESSAGES=${MESSAGES:-300000} +REPORT_FREQUENCY=${REPORT_FREQUENCY:-`expr $MESSAGES / 20`} +VERBOSITY=${VERBOSITY:-1} -exec `dirname $0`/failover_soak $src_root $module_dir $host ./declare_queues ./replaying_sender ./resuming_receiver $n_messages $report_frequency $verbosity +exec ./failover_soak $src_root $module_dir $host ./declare_queues ./replaying_sender ./resuming_receiver $MESSAGES $REPORT_FREQUENCY $VERBOSITY diff --git a/qpid/cpp/src/tests/run_header_test b/qpid/cpp/src/tests/run_header_test index 39d4a24f84..414fecd28f 100755 --- a/qpid/cpp/src/tests/run_header_test +++ b/qpid/cpp/src/tests/run_header_test @@ -29,7 +29,8 @@ test -f qpidd.port && QPID_PORT=`cat qpidd.port` if test -d ${PYTHON_DIR} ; then ./header_test -p $QPID_PORT - export PYTHONPATH=$PYTHON_DIR:$PYTHONPATH + PYTHONPATH=$PYTHON_DIR:$PYTHONPATH + export PYTHONPATH $srcdir/header_test.py "localhost" $QPID_PORT else echo "Skipping header test as python libs not found" diff --git a/qpid/cpp/src/tests/sender.cpp b/qpid/cpp/src/tests/sender.cpp index 48062315fe..9d9e5be99d 100644 --- a/qpid/cpp/src/tests/sender.cpp +++ b/qpid/cpp/src/tests/sender.cpp @@ -24,6 +24,7 @@ #include <qpid/client/AsyncSession.h> #include <qpid/client/Message.h> #include <qpid/client/MessageReplayTracker.h> +#include <qpid/client/QueueOptions.h> #include <qpid/Exception.h> #include "TestOptions.h" @@ -40,13 +41,17 @@ struct Args : public qpid::TestOptions string destination; string key; uint sendEos; + bool durable; + string lvqMatchValue; - Args() : key("test-queue"), sendEos(0) + Args() : key("test-queue"), sendEos(0), durable(false) { - addOptions() + addOptions() ("exchange", qpid::optValue(destination, "EXCHANGE"), "Exchange to send messages to") ("routing-key", qpid::optValue(key, "KEY"), "Routing key to add to messages") - ("send-eos", qpid::optValue(sendEos, "N"), "Send N EOS messages to mark end of input"); + ("send-eos", qpid::optValue(sendEos, "N"), "Send N EOS messages to mark end of input") + ("durable", qpid::optValue(durable, "true|false"), "Mark messages as durable.") + ("lvq-match-value", qpid::optValue(lvqMatchValue, "KEY"), "The value to set for the LVQ match key property"); } }; @@ -55,7 +60,7 @@ const string EOS("eos"); class Sender : public FailoverManager::Command { public: - Sender(const std::string& destination, const std::string& key, uint sendEos); + Sender(const std::string& destination, const std::string& key, uint sendEos, bool durable, const std::string& lvqMatchValue); void execute(AsyncSession& session, bool isRetry); private: const std::string destination; @@ -65,8 +70,17 @@ class Sender : public FailoverManager::Command uint sent; }; -Sender::Sender(const std::string& dest, const std::string& key, uint eos) : - destination(dest), sender(10), message("", key), sendEos(eos), sent(0) {} +Sender::Sender(const std::string& dest, const std::string& key, uint eos, bool durable, const std::string& lvqMatchValue) : + destination(dest), sender(10), message("", key), sendEos(eos), sent(0) +{ + if (durable){ + message.getDeliveryProperties().setDeliveryMode(framing::PERSISTENT); + } + + if (!lvqMatchValue.empty()) { + message.getHeaders().setString(QueueOptions::strLVQMatchProperty, lvqMatchValue); + } +} void Sender::execute(AsyncSession& session, bool isRetry) { @@ -90,7 +104,7 @@ int main(int argc, char ** argv) try { opts.parse(argc, argv); FailoverManager connection(opts.con); - Sender sender(opts.destination, opts.key, opts.sendEos); + Sender sender(opts.destination, opts.key, opts.sendEos, opts.durable, opts.lvqMatchValue); connection.execute(sender); connection.close(); return 0; diff --git a/qpid/cpp/src/tests/sender.vcproj b/qpid/cpp/src/tests/sender.vcproj index 7ae9081332..616b665406 100644 --- a/qpid/cpp/src/tests/sender.vcproj +++ b/qpid/cpp/src/tests/sender.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="sender"
- ProjectGUID="{09714CB8-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{09714CB8-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="sender"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\sender\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\sender\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\sender.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\sender\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\sender\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\sender.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\sender\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\sender\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\sender.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\sender\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\sender\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\sender.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/shlibtest.vcproj b/qpid/cpp/src/tests/shlibtest.vcproj index b30ce30b3a..4a139a2cb5 100644 --- a/qpid/cpp/src/tests/shlibtest.vcproj +++ b/qpid/cpp/src/tests/shlibtest.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="shlibtest"
- ProjectGUID="{37AB26B9-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="shlibtest"
Keyword="Win32Proj"
SignManifests="true"
@@ -22,8 +22,8 @@ <Configuration
Name="Debug|Win32"
OutputDirectory="."
- IntermediateDirectory="Static_Debug\shlibtest\I386"
- ConfigurationType="4"
+ IntermediateDirectory="Debug\shlibtest\I386"
+ ConfigurationType="2"
CharacterSet="0"
>
@@ -52,10 +52,10 @@ Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\."
- PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS"
+ PreprocessorDefinitions="SHLIBTEST_BUILD_DLL;_DEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -74,8 +74,16 @@ Name="VCPreLinkEventTool"
/>
<Tool
- Name="VCLibrarianTool"
- OutputFile=".\shlibtestsd.lib"
+ Name="VCLinkerTool"
+ AdditionalDependencies=""
+ OutputFile="$(OutDir)\shlibtestd.dll"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories=".;$(BOOST_ROOT)\lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ ImportLibrary=".\shlibtestd.lib"
+ TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
@@ -96,8 +104,8 @@ <Configuration
Name="Release|Win32"
OutputDirectory="."
- IntermediateDirectory="Static_Release\shlibtest\I386"
- ConfigurationType="4"
+ IntermediateDirectory="Release\shlibtest\I386"
+ ConfigurationType="2"
CharacterSet="0"
>
@@ -126,8 +134,8 @@ Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\."
- PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS"
- RuntimeLibrary="0"
+ PreprocessorDefinitions="SHLIBTEST_BUILD_DLL;NDEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -145,8 +153,18 @@ Name="VCPreLinkEventTool"
/>
<Tool
- Name="VCLibrarianTool"
- OutputFile=".\shlibtests.lib"
+ Name="VCLinkerTool"
+ AdditionalDependencies=""
+ OutputFile="$(OutDir)\shlibtest.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories=".;$(BOOST_ROOT)\lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ImportLibrary=".\shlibtest.lib"
+ TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
@@ -167,8 +185,8 @@ <Configuration
Name="Debug|x64"
OutputDirectory="."
- IntermediateDirectory="Static_Debug\shlibtest\AMD64"
- ConfigurationType="4"
+ IntermediateDirectory="Debug\shlibtest\AMD64"
+ ConfigurationType="2"
CharacterSet="0"
>
@@ -197,10 +215,10 @@ Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\."
- PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64"
+ PreprocessorDefinitions="SHLIBTEST_BUILD_DLL;_DEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -219,8 +237,17 @@ Name="VCPreLinkEventTool"
/>
<Tool
- Name="VCLibrarianTool"
- OutputFile=".\shlibtestsd.lib"
+ Name="VCLinkerTool"
+ AdditionalOptions="/machine:AMD64"
+ AdditionalDependencies=""
+ OutputFile="$(OutDir)\shlibtestd.dll"
+ LinkIncremental="2"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories=".;$(BOOST_ROOT)\lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ ImportLibrary=".\shlibtestd.lib"
+ TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
@@ -241,8 +268,8 @@ <Configuration
Name="Release|x64"
OutputDirectory="."
- IntermediateDirectory="Static_Release\shlibtest\AMD64"
- ConfigurationType="4"
+ IntermediateDirectory="Release\shlibtest\AMD64"
+ ConfigurationType="2"
CharacterSet="0"
>
@@ -271,8 +298,8 @@ Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\."
- PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64"
- RuntimeLibrary="0"
+ PreprocessorDefinitions="SHLIBTEST_BUILD_DLL;NDEBUG;WIN32;_WINDOWS;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -290,8 +317,19 @@ Name="VCPreLinkEventTool"
/>
<Tool
- Name="VCLibrarianTool"
- OutputFile=".\shlibtests.lib"
+ Name="VCLinkerTool"
+ AdditionalOptions="/machine:AMD64"
+ AdditionalDependencies=""
+ OutputFile="$(OutDir)\shlibtest.dll"
+ LinkIncremental="1"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories=".;$(BOOST_ROOT)\lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ImportLibrary=".\shlibtest.lib"
+ TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
@@ -336,6 +374,9 @@ RelativePath="BrokerFixture.h">
</File>
<File
+ RelativePath="ClusterFixture.h">
+ </File>
+ <File
RelativePath="ConnectionOptions.h">
</File>
<File
diff --git a/qpid/cpp/src/tests/ssl_test b/qpid/cpp/src/tests/ssl_test index c7b59b62ef..13965f3a03 100755 --- a/qpid/cpp/src/tests/ssl_test +++ b/qpid/cpp/src/tests/ssl_test @@ -39,8 +39,7 @@ create_certs() { } start_broker() { - ../qpidd --daemon --transport ssl --port 0 --ssl-port 0 --no-data-dir --no-module-dir --auth no --config $CONFIG --load-module ../.libs/ssl.so --ssl-cert-db $CERT_DIR --ssl-cert-password-file $CERT_PW_FILE > qpidd.port - PORT=`cat qpidd.port` + PORT=`../qpidd --daemon --transport ssl --port 0 --ssl-port 0 --no-data-dir --no-module-dir --auth no --config $CONFIG --load-module ../.libs/ssl.so --ssl-cert-db $CERT_DIR --ssl-cert-password-file $CERT_PW_FILE` } stop_broker() { diff --git a/qpid/cpp/src/tests/start_cluster b/qpid/cpp/src/tests/start_cluster index 4f0516500c..053b23da33 100755 --- a/qpid/cpp/src/tests/start_cluster +++ b/qpid/cpp/src/tests/start_cluster @@ -28,11 +28,10 @@ with_ais_group() { echo $* | newgrp ais } -test -f cluster.ports && { echo "cluster.ports file already exists" ; exit 1; } rm -f cluster*.log SIZE=${1:-1}; shift CLUSTER=`pwd` # Cluster name=pwd, avoid clashes. -OPTS="-d --no-module-dir --load-module ../.libs/cluster.so --cluster-name=$CLUSTER --no-data-dir --auth=no $*" +OPTS="-d --no-module-dir --load-module ../.libs/cluster.so --cluster-name=$CLUSTER --no-data-dir --auth=no $@" for (( i=0; i<SIZE; ++i )); do PORT=`with_ais_group ../qpidd -p0 --log-to-file=cluster$i.log $OPTS` || exit 1 diff --git a/qpid/cpp/src/tests/tests.sln b/qpid/cpp/src/tests/tests.sln index cee1a45292..273e90d1c8 100644 --- a/qpid/cpp/src/tests/tests.sln +++ b/qpid/cpp/src/tests/tests.sln @@ -7,38 +7,38 @@ Microsoft Visual Studio Solution File, Format Version 10.00 # this file will be lost the next time it is generated.
#
# MPC Command:
-# C:\ace\MPC\mwc.pl -type vc9 -features boost=1 -static tests.mwc
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "client_test", "client_test.vcproj", "{9A95F0E4-FECA-1BAD-2235-047BCDC7409E}"
+# C:\ace\MPC\mwc.pl -type vc9 -features boost=1 tests.mwc
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "client_test", "client_test.vcproj", "{9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "consume", "consume.vcproj", "{7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "consume", "consume.vcproj", "{7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echotest", "echotest.vcproj", "{0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echotest", "echotest.vcproj", "{0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "header_test", "header_test.vcproj", "{1B23F05D-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "header_test", "header_test.vcproj", "{1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "latencytest", "latencytest.vcproj", "{4A809018-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "latencytest", "latencytest.vcproj", "{4A809018-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "perftest", "perftest.vcproj", "{1F2066BE-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "perftest", "perftest.vcproj", "{1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "publish", "publish.vcproj", "{AE773E7F-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "publish", "publish.vcproj", "{AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "receiver", "receiver.vcproj", "{7D314A98-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "receiver", "receiver.vcproj", "{7D314A98-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sender", "sender.vcproj", "{09714CB8-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sender", "sender.vcproj", "{09714CB8-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shlibtest", "shlibtest.vcproj", "{37AB26B9-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shlibtest", "shlibtest.vcproj", "{37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "topic_listener", "topic_listener.vcproj", "{9392D1EE-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "topic_listener", "topic_listener.vcproj", "{9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "topic_publisher", "topic_publisher.vcproj", "{7D66FE10-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "topic_publisher", "topic_publisher.vcproj", "{7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "txjob", "txjob.vcproj", "{09034A53-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "txjob", "txjob.vcproj", "{09034A53-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "txshift", "txshift.vcproj", "{6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "txshift", "txshift.vcproj", "{6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "txtest", "txtest.vcproj", "{697786BE-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "txtest", "txtest.vcproj", "{697786BE-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unit_test", "unit_test.vcproj", "{51E5F6B9-FECA-1BAD-2235-047BCDC7409E}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unit_test", "unit_test.vcproj", "{51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -48,134 +48,134 @@ Global Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {9A95F0E4-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {9A95F0E4-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {9A95F0E4-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {9A95F0E4-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {9A95F0E4-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {9A95F0E4-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {9A95F0E4-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {9A95F0E4-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {7F5DE0A1-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {0A5AF6BE-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {1B23F05D-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {1B23F05D-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {1B23F05D-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {1B23F05D-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {1B23F05D-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {1B23F05D-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {1B23F05D-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {1B23F05D-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {4A809018-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {4A809018-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {4A809018-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {4A809018-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {4A809018-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {4A809018-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {4A809018-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {4A809018-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {1F2066BE-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {1F2066BE-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {1F2066BE-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {1F2066BE-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {1F2066BE-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {1F2066BE-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {1F2066BE-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {1F2066BE-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {AE773E7F-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {AE773E7F-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {AE773E7F-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {AE773E7F-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {AE773E7F-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {AE773E7F-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {AE773E7F-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {AE773E7F-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {7D314A98-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {7D314A98-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {7D314A98-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {7D314A98-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {7D314A98-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {7D314A98-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {7D314A98-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {7D314A98-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {09714CB8-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {09714CB8-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {09714CB8-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {09714CB8-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {09714CB8-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {09714CB8-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {09714CB8-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {09714CB8-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {37AB26B9-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {37AB26B9-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {37AB26B9-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {37AB26B9-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {37AB26B9-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {37AB26B9-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {37AB26B9-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {37AB26B9-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {9392D1EE-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {9392D1EE-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {9392D1EE-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {9392D1EE-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {9392D1EE-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {9392D1EE-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {9392D1EE-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {9392D1EE-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {7D66FE10-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {7D66FE10-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {7D66FE10-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {7D66FE10-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {7D66FE10-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {7D66FE10-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {7D66FE10-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {7D66FE10-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {09034A53-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {09034A53-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {09034A53-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {09034A53-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {09034A53-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {09034A53-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {09034A53-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {09034A53-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {697786BE-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {697786BE-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {697786BE-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {697786BE-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {697786BE-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {697786BE-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {697786BE-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {697786BE-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
- {51E5F6B9-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.ActiveCfg = Debug|Win32
- {51E5F6B9-FECA-1BAD-2235-047BCDC7409E}.Debug|Win32.Build.0 = Debug|Win32
- {51E5F6B9-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.ActiveCfg = Debug|x64
- {51E5F6B9-FECA-1BAD-2235-047BCDC7409E}.Debug|x64.Build.0 = Debug|x64
- {51E5F6B9-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.ActiveCfg = Release|Win32
- {51E5F6B9-FECA-1BAD-2235-047BCDC7409E}.Release|Win32.Build.0 = Release|Win32
- {51E5F6B9-FECA-1BAD-2235-047BCDC7409E}.Release|x64.ActiveCfg = Release|x64
- {51E5F6B9-FECA-1BAD-2235-047BCDC7409E}.Release|x64.Build.0 = Release|x64
+ {9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {9A95F0E4-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {7F5DE0A1-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {0A5AF6BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {1B23F05D-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {4A809018-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4A809018-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {4A809018-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {4A809018-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {4A809018-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {4A809018-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {4A809018-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {4A809018-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {1F2066BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {AE773E7F-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {7D314A98-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7D314A98-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {7D314A98-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {7D314A98-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {7D314A98-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {7D314A98-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {7D314A98-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {7D314A98-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {09714CB8-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {09714CB8-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {09714CB8-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {09714CB8-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {09714CB8-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {09714CB8-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {09714CB8-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {09714CB8-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {37AB26B9-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {09034A53-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {09034A53-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {09034A53-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {09034A53-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {09034A53-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {09034A53-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {09034A53-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {09034A53-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {697786BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {697786BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {697786BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {697786BE-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {697786BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {697786BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {697786BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {697786BE-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
+ {51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}.Debug|Win32.Build.0 = Debug|Win32
+ {51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.ActiveCfg = Debug|x64
+ {51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}.Debug|x64.Build.0 = Debug|x64
+ {51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.ActiveCfg = Release|Win32
+ {51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}.Release|Win32.Build.0 = Release|Win32
+ {51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.ActiveCfg = Release|x64
+ {51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/qpid/cpp/src/tests/topic_listener.cpp b/qpid/cpp/src/tests/topic_listener.cpp index 7bdc2c32de..1f0b3f5377 100644 --- a/qpid/cpp/src/tests/topic_listener.cpp +++ b/qpid/cpp/src/tests/topic_listener.cpp @@ -37,6 +37,7 @@ #include "qpid/client/MessageListener.h" #include "qpid/client/Session.h" #include "qpid/client/SubscriptionManager.h" +#include "qpid/sys/SystemInfo.h" #include "qpid/sys/Time.h" #include "qpid/framing/FieldValue.h" #include <iostream> @@ -132,7 +133,7 @@ int main(int argc, char** argv){ if( args.statusqueue.length() > 0 ) { stringstream msg_str; - msg_str << "topic_listener: " << (int)getpid(); + msg_str << "topic_listener: " << qpid::sys::SystemInfo::getProcessId(); session.messageTransfer(arg::content=Message(msg_str.str(), args.statusqueue)); cout << "Ready status put on queue '" << args.statusqueue << "'" << endl; } diff --git a/qpid/cpp/src/tests/topic_listener.vcproj b/qpid/cpp/src/tests/topic_listener.vcproj index eedfe14687..0be31b8348 100644 --- a/qpid/cpp/src/tests/topic_listener.vcproj +++ b/qpid/cpp/src/tests/topic_listener.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="topic_listener"
- ProjectGUID="{9392D1EE-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{9392D1EE-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="topic_listener"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\topic_listener\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\topic_listener\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\topic_listener.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\topic_listener\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\topic_listener\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\topic_listener.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\topic_listener\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\topic_listener\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\topic_listener.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\topic_listener\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\topic_listener\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\topic_listener.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/topic_publisher.vcproj b/qpid/cpp/src/tests/topic_publisher.vcproj index a059adb398..016c6d4a38 100644 --- a/qpid/cpp/src/tests/topic_publisher.vcproj +++ b/qpid/cpp/src/tests/topic_publisher.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="topic_publisher"
- ProjectGUID="{7D66FE10-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{7D66FE10-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="topic_publisher"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\topic_publisher\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\topic_publisher\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\topic_publisher.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\topic_publisher\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\topic_publisher\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\topic_publisher.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\topic_publisher\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\topic_publisher\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\topic_publisher.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\topic_publisher\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\topic_publisher\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\topic_publisher.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/txjob.vcproj b/qpid/cpp/src/tests/txjob.vcproj index 69bdff2e8d..19fe3fba12 100644 --- a/qpid/cpp/src/tests/txjob.vcproj +++ b/qpid/cpp/src/tests/txjob.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="txjob"
- ProjectGUID="{09034A53-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{09034A53-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="txjob"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\txjob\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\txjob\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\txjob.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\txjob\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\txjob\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\txjob.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\txjob\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\txjob\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\txjob.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\txjob\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\txjob\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\txjob.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/txshift.cpp b/qpid/cpp/src/tests/txshift.cpp index 5db08d7a53..dd67710526 100644 --- a/qpid/cpp/src/tests/txshift.cpp +++ b/qpid/cpp/src/tests/txshift.cpp @@ -155,6 +155,7 @@ struct Worker : FailoverManager::Command, Runnable SubscriptionManager subs(session); transfer.subscribeToControl(subs); subs.run(); + session.txCommit();//commit accept of control messages } }; @@ -173,8 +174,8 @@ int main(int argc, char** argv) for (size_t i = 0; i < opts.workers; i++) { workers.push_back(new Worker(connection, opts.workQueue)); } - for_each(workers.begin(), workers.end(), boost::bind(&Worker::start, _1)); - for_each(workers.begin(), workers.end(), boost::bind(&Worker::join, _1)); + std::for_each(workers.begin(), workers.end(), boost::bind(&Worker::start, _1)); + std::for_each(workers.begin(), workers.end(), boost::bind(&Worker::join, _1)); } return 0; diff --git a/qpid/cpp/src/tests/txshift.vcproj b/qpid/cpp/src/tests/txshift.vcproj index aa7d6ca303..3212881351 100644 --- a/qpid/cpp/src/tests/txshift.vcproj +++ b/qpid/cpp/src/tests/txshift.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="txshift"
- ProjectGUID="{6E3B2A6B-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{6E3B2A6B-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="txshift"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\txshift\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\txshift\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\txshift.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\txshift\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\txshift\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\txshift.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\txshift\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\txshift\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\txshift.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\txshift\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\txshift\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\txshift.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/txtest.vcproj b/qpid/cpp/src/tests/txtest.vcproj index a56e820dc0..663291a9d5 100644 --- a/qpid/cpp/src/tests/txtest.vcproj +++ b/qpid/cpp/src/tests/txtest.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="txtest"
- ProjectGUID="{697786BE-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{697786BE-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="txtest"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\txtest\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\txtest\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -55,7 +55,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\txtest.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\txtest\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\txtest\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -135,7 +135,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\txtest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\txtest\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\txtest\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -218,7 +218,7 @@ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib"
OutputFile="$(OutDir)\txtest.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\txtest\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\txtest\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -299,7 +299,7 @@ Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib"
OutputFile="$(OutDir)\txtest.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
diff --git a/qpid/cpp/src/tests/unit_test.h b/qpid/cpp/src/tests/unit_test.h index df3ebfb1fe..fc542e62ad 100644 --- a/qpid/cpp/src/tests/unit_test.h +++ b/qpid/cpp/src/tests/unit_test.h @@ -61,7 +61,14 @@ namespace { struct test_name { void test_method(); }; } \ void test_name::test_method() -#endif // Workaround for BOOST_AUTO_TEST_SUITE_EXPECTED_FAILURES +#endif // Workaround for BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES + +// Correct syntax for boost > 1.36 +#if (BOOST_VERSION > 103500) +# define QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(name,n) \ + BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(name,n) \ + BOOST_AUTO_TEST_CASE(name) +#endif // Correct syntax for boost > 1.36 // // Default definitions for latest version of boost. diff --git a/qpid/cpp/src/tests/unit_test.vcproj b/qpid/cpp/src/tests/unit_test.vcproj index ab6d13cd62..8710b617f8 100644 --- a/qpid/cpp/src/tests/unit_test.vcproj +++ b/qpid/cpp/src/tests/unit_test.vcproj @@ -3,7 +3,7 @@ ProjectType="Visual C++"
Version="9.00"
Name="unit_test"
- ProjectGUID="{51E5F6B9-FECA-1BAD-2235-047BCDC7409E}"
+ ProjectGUID="{51E5F6B9-FECA-1BAD-2431-8A11DB0D67CE}"
RootNamespace="unit_test"
Keyword="Win32Proj"
SignManifests="true"
@@ -21,8 +21,8 @@ <Configurations>
<Configuration
Name="Debug|Win32"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\unit_test\I386"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\unit_test\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -52,22 +52,22 @@ Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
- PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
- DisableSpecificWarnings="4244;4800"
+ DisableSpecificWarnings="4244;4800;4290;4355"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
+ PreprocessorDefinitions="_DEBUG;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
Culture="1033"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
/>
@@ -76,7 +76,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib qpidbrokerd.lib qmfconsoled.lib"
OutputFile="$(OutDir)\unit_test.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -103,8 +103,8 @@ </Configuration>
<Configuration
Name="Release|Win32"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\unit_test\I386"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\unit_test\I386"
ConfigurationType="1"
CharacterSet="0"
@@ -134,19 +134,19 @@ Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
- PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
- DisableSpecificWarnings="4244;4800"
+ DisableSpecificWarnings="4244;4800;4290;4355"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
+ PreprocessorDefinitions="NDEBUG;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
Culture="1033"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
/>
@@ -155,7 +155,7 @@ />
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib qpidbroker.lib qmfconsole.lib"
OutputFile="$(OutDir)\unit_test.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -184,8 +184,8 @@ </Configuration>
<Configuration
Name="Debug|x64"
- OutputDirectory="Static_Debug"
- IntermediateDirectory="Static_Debug\unit_test\AMD64"
+ OutputDirectory="."
+ IntermediateDirectory="Debug\unit_test\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -215,22 +215,22 @@ Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
- PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
+ PreprocessorDefinitions="_DEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="false"
BasicRuntimeChecks="3"
- RuntimeLibrary="1"
+ RuntimeLibrary="3"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
- DisableSpecificWarnings="4244;4800"
+ DisableSpecificWarnings="4244;4800;4290;4355"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_WIN64"
+ PreprocessorDefinitions="_DEBUG;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_WIN64"
Culture="1033"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
/>
@@ -240,7 +240,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommonsd.lib qpidclientsd.lib qmfconsolesd.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommond.lib qpidclientd.lib qpidbrokerd.lib qmfconsoled.lib"
OutputFile="$(OutDir)\unit_test.exe"
LinkIncremental="2"
SuppressStartupBanner="true"
@@ -267,8 +267,8 @@ </Configuration>
<Configuration
Name="Release|x64"
- OutputDirectory="Static_Release"
- IntermediateDirectory="Static_Release\unit_test\AMD64"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release\unit_test\AMD64"
ConfigurationType="1"
CharacterSet="0"
@@ -298,19 +298,19 @@ Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
- PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS"
- RuntimeLibrary="0"
+ PreprocessorDefinitions="NDEBUG;WIN32;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;_AMD64_;_WIN64;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS"
+ RuntimeLibrary="2"
RuntimeTypeInfo="true"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
- DisableSpecificWarnings="4244;4800"
+ DisableSpecificWarnings="4244;4800;4290;4355"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_WIN64"
+ PreprocessorDefinitions="NDEBUG;NOMINMAX;WIN32_LEAN_AND_MEAN;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;_WIN64"
Culture="1033"
AdditionalIncludeDirectories="$(BOOST_ROOT)\include\$(BOOST_VERSION),$(BOOST_ROOT)\.,..,..\gen"
/>
@@ -320,7 +320,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/machine:AMD64"
- AdditionalDependencies="qpidcommons.lib qpidclients.lib qmfconsoles.lib ws2_32.lib rpcrt4.lib"
+ AdditionalDependencies="qpidcommon.lib qpidclient.lib qpidbroker.lib qmfconsole.lib"
OutputFile="$(OutDir)\unit_test.exe"
LinkIncremental="1"
SuppressStartupBanner="true"
@@ -361,15 +361,33 @@ RelativePath="Array.cpp">
</File>
<File
+ RelativePath="AsyncCompletion.cpp">
+ </File>
+ <File
RelativePath="AtomicValue.cpp">
</File>
<File
RelativePath="Blob.cpp">
</File>
<File
+ RelativePath="ClientSessionTest.cpp">
+ </File>
+ <File
RelativePath="ConsoleTest.cpp">
</File>
<File
+ RelativePath="DeliveryRecordTest.cpp">
+ </File>
+ <File
+ RelativePath="DtxWorkRecordTest.cpp">
+ </File>
+ <File
+ RelativePath="exception_test.cpp">
+ </File>
+ <File
+ RelativePath="ExchangeTest.cpp">
+ </File>
+ <File
RelativePath="FieldTable.cpp">
</File>
<File
@@ -379,9 +397,15 @@ RelativePath="FramingTest.cpp">
</File>
<File
+ RelativePath="HeadersExchangeTest.cpp">
+ </File>
+ <File
RelativePath="HeaderTest.cpp">
</File>
<File
+ RelativePath="IncompleteMessageList.cpp">
+ </File>
+ <File
RelativePath="InlineAllocator.cpp">
</File>
<File
@@ -394,6 +418,15 @@ RelativePath="ManagementTest.cpp">
</File>
<File
+ RelativePath="MessageBuilderTest.cpp">
+ </File>
+ <File
+ RelativePath="MessageReplayTracker.cpp">
+ </File>
+ <File
+ RelativePath="MessageTest.cpp">
+ </File>
+ <File
RelativePath="ProxyTest.cpp">
</File>
<File
@@ -403,6 +436,15 @@ RelativePath="QueueOptionsTest.cpp">
</File>
<File
+ RelativePath="QueuePolicyTest.cpp">
+ </File>
+ <File
+ RelativePath="QueueRegistryTest.cpp">
+ </File>
+ <File
+ RelativePath="QueueTest.cpp">
+ </File>
+ <File
RelativePath="RangeSet.cpp">
</File>
<File
@@ -430,6 +472,18 @@ RelativePath="StringUtils.cpp">
</File>
<File
+ RelativePath="TimerTest.cpp">
+ </File>
+ <File
+ RelativePath="TopicExchangeTest.cpp">
+ </File>
+ <File
+ RelativePath="TxBufferTest.cpp">
+ </File>
+ <File
+ RelativePath="TxPublishTest.cpp">
+ </File>
+ <File
RelativePath="unit_test.cpp">
</File>
<File
|
