summaryrefslogtreecommitdiff
path: root/cpp/src/tests/ClientSessionTest.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-01-24 22:26:12 +0000
committerAlan Conway <aconway@apache.org>2008-01-24 22:26:12 +0000
commitf0a31beb7a609591e7b34e60ddfd85e9e183fbc0 (patch)
tree5582c3f04ee1b417d11050b0c994da657db09b39 /cpp/src/tests/ClientSessionTest.cpp
parentf2ab2fa9fcb713eedf21e98a2a3f9fab8e76dead (diff)
downloadqpid-python-f0a31beb7a609591e7b34e60ddfd85e9e183fbc0.tar.gz
Improved/additional client API tests.
- Replaced InProcessBroker with a more accurate loopback BrokerFixture. - Added asserts for mutex/condition/thread errors in debug build. - Added client tests for several exception conditions. - Added peer address to log ouput, client/server distinguished by (addr) or [addr] - Fixed various deadlocks & races exposed by the new asserts & tests. File-by-file: New BrokerFixture replaces InProcessBroker D src/tests/InProcessBroker.h M src/tests/BrokerFixture.h M src/tests/SocketProxy.h M src/tests/Makefile.am Made it run a bit faster. M src/tests/quick_perftest Redundant D src/tests/APRBaseTest.cpp Updated tests to use BrokerFixture M src/tests/ClientChannelTest.cpp M src/tests/exception_test.cpp M src/tests/ClientSessionTest.cpp Print thread IDs in decimal, same as GDB. M src/qpid/log/Logger.cpp Assert mutex/condition ops in debug build. M src/qpid/sys/posix/check.h M src/qpid/sys/posix/Mutex.h M src/qpid/sys/posix/Condition.h M src/qpid/sys/posix/Thread.h Added toFd() so SocketProxy can use ::select() M src/qpid/sys/Socket.h M src/qpid/sys/posix/Socket.cpp Fixes for races & deadlocks shown up by new tests & asserts. Mostly shutdown/close issues. M src/qpid/client/ConnectionHandler.h M src/qpid/client/ConnectionImpl.cpp M src/qpid/client/Demux.h M src/qpid/client/SessionCore.cpp M src/qpid/client/ConnectionHandler.cpp M src/qpid/client/Connector.h M src/qpid/client/Demux.cpp M src/qpid/client/Dispatcher.cpp M src/qpid/client/ConnectionImpl.h Logging peer address. M src/qpid/sys/AsynchIOAcceptor.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@615063 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/ClientSessionTest.cpp')
-rw-r--r--cpp/src/tests/ClientSessionTest.cpp26
1 files changed, 2 insertions, 24 deletions
diff --git a/cpp/src/tests/ClientSessionTest.cpp b/cpp/src/tests/ClientSessionTest.cpp
index 5f45e1f938..82db7b9545 100644
--- a/cpp/src/tests/ClientSessionTest.cpp
+++ b/cpp/src/tests/ClientSessionTest.cpp
@@ -20,7 +20,6 @@
*/
#include "qpid_test_plugin.h"
#include "BrokerFixture.h"
-#include "SocketProxy.h"
#include "qpid/client/Dispatcher.h"
#include "qpid/client/Session_0_10.h"
#include "qpid/framing/TransferContent.h"
@@ -62,7 +61,7 @@ struct DummyListener : public MessageListener
}
};
-class ClientSessionTest : public CppUnit::TestCase, public BrokerFixture
+class ClientSessionTest : public CppUnit::TestCase, public ProxySessionFixture
{
CPPUNIT_TEST_SUITE(ClientSessionTest);
CPPUNIT_TEST(testQueueQuery);
@@ -71,7 +70,6 @@ class ClientSessionTest : public CppUnit::TestCase, public BrokerFixture
CPPUNIT_TEST(testResumeExpiredError);
CPPUNIT_TEST(testUseSuspendedError);
CPPUNIT_TEST(testSuspendResume);
- CPPUNIT_TEST(testDisconnectResume);
CPPUNIT_TEST_SUITE_END();
public:
@@ -85,11 +83,6 @@ class ClientSessionTest : public CppUnit::TestCase, public BrokerFixture
session.messageFlow(destination=dest, unit=1, value=0xFFFFFFFF);//bytes
}
- bool queueExists(const std::string& q) {
- TypedResult<QueueQueryResult> result = session.queueQuery(q);
- return result.get().getQueue() == q;
- }
-
void testQueueQuery()
{
session =connection.newSession();
@@ -166,26 +159,11 @@ class ClientSessionTest : public CppUnit::TestCase, public BrokerFixture
declareSubscribe();
session.suspend();
// Make sure we are still subscribed after resume.
- connection.resume(session);
+ connection.resume(session);
session.messageTransfer(content=TransferContent("my-message", "my-queue"));
FrameSet::shared_ptr msg = session.get();
CPPUNIT_ASSERT_EQUAL(string("my-message"), msg->getContent());
}
-
- void testDisconnectResume() {
- // FIXME aconway 2007-12-11: Test hanging.
-// ProxyConnection c(broker->getPort());
-// Session_0_10 s = c.session;
-// s.queueDeclare(queue="before");
-// CPPUNIT_ASSERT(queueExists("before"));
-// s.queueDeclare(queue=string("after"));
-// c.proxy.client.close(); // Disconnect the client.
-// Connection c2;
-// open(c2);
-// c2.resume(s);
-// CPPUNIT_ASSERT(queueExists("after"));
-// c2.close();
- }
};
// Make this test suite a plugin.