summaryrefslogtreecommitdiff
path: root/cpp/src/tests/EventChannelConnectionTest.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-07-27 14:01:36 +0000
committerAlan Conway <aconway@apache.org>2007-07-27 14:01:36 +0000
commit58db5ac9e0a3d45b9667f7f6a3b2a99cb87d09e7 (patch)
tree3cf4996aab9f1798b4d2cf673e07f58906a4de5e /cpp/src/tests/EventChannelConnectionTest.cpp
parent31d415218c3a603501a08e38e89378e2a1540936 (diff)
downloadqpid-python-58db5ac9e0a3d45b9667f7f6a3b2a99cb87d09e7.tar.gz
* src/tests/ais_check, cluster.mk: Run AIS tests only if:
- CLUSTER makefile conditional set by configure. - Effective gid == ais - aisexec is running Otherwise print a warning. * src/tests/EventChannelConnectionTest.cpp * src/qpid/cluster/doxygen_overview.h Removed unused files. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@560234 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/EventChannelConnectionTest.cpp')
-rw-r--r--cpp/src/tests/EventChannelConnectionTest.cpp109
1 files changed, 0 insertions, 109 deletions
diff --git a/cpp/src/tests/EventChannelConnectionTest.cpp b/cpp/src/tests/EventChannelConnectionTest.cpp
deleted file mode 100644
index 28eea2fd20..0000000000
--- a/cpp/src/tests/EventChannelConnectionTest.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- *
- * 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 <iostream>
-#include <boost/bind.hpp>
-#include "qpid/framing/AMQHeartbeatBody.h"
-#include "qpid/framing/AMQFrame.h"
-#include "qpid/sys/posix/EventChannelConnection.h"
-#include "qpid/sys/ConnectionInputHandler.h"
-#include "qpid/sys/ConnectionInputHandlerFactory.h"
-#include "qpid/sys/Socket.h"
-#include "qpid_test_plugin.h"
-#include "MockConnectionInputHandler.h"
-
-using namespace qpid::sys;
-using namespace qpid::framing;
-using namespace std;
-
-class EventChannelConnectionTest : public CppUnit::TestCase
-{
- CPPUNIT_TEST_SUITE(EventChannelConnectionTest);
- CPPUNIT_TEST(testSendReceive);
- CPPUNIT_TEST(testCloseExternal);
- CPPUNIT_TEST(testCloseException);
- CPPUNIT_TEST_SUITE_END();
-
- public:
-
- void setUp() {
- threads = EventChannelThreads::create();
- CPPUNIT_ASSERT_EQUAL(0, ::pipe(pipe));
- connection.reset(
- new EventChannelConnection(threads, factory, pipe[0], pipe[1]));
- CPPUNIT_ASSERT(factory.handler != 0);
- }
-
- void tearDown() {
- threads->shutdown();
- threads->join();
- }
-
- void testSendReceive()
- {
- // Send a protocol initiation.
- Buffer buf(1024);
- ProtocolInitiation(4,2).encode(buf);
- buf.flip();
- ssize_t n = write(pipe[1], buf.start(), buf.available());
- CPPUNIT_ASSERT_EQUAL(ssize_t(buf.available()), n);
-
- // Verify session handler got the protocol init.
- ProtocolInitiation init = factory.handler->waitForProtocolInit();
- CPPUNIT_ASSERT_EQUAL(int(4), int(init.getMajor()));
- CPPUNIT_ASSERT_EQUAL(int(2), int(init.getMinor()));
-
- // Send a heartbeat frame, verify connection got it.
- connection->send(new AMQFrame(42, new AMQHeartbeatBody()));
- AMQFrame frame = factory.handler->waitForFrame();
- CPPUNIT_ASSERT_EQUAL(uint16_t(42), frame.getChannel());
- CPPUNIT_ASSERT_EQUAL(uint8_t(HEARTBEAT_BODY),
- frame.getBody()->type());
- threads->shutdown();
- }
-
- // Make sure the handler is closed if the connection is closed.
- void testCloseExternal() {
- connection->close();
- factory.handler->waitForClosed();
- }
-
- // Make sure the handler is closed if the connection closes or fails.
- // TODO aconway 2006-12-18: logs exception message in test output.
- void testCloseException() {
- ::close(pipe[0]);
- ::close(pipe[1]);
- // TODO aconway 2006-12-18: Shouldn't this be failing?
- connection->send(new AMQFrame(42, new AMQHeartbeatBody()));
- factory.handler->waitForClosed();
- }
-
- private:
- EventChannelThreads::shared_ptr threads;
- int pipe[2];
- std::auto_ptr<EventChannelConnection> connection;
- MockConnectionInputHandlerFactory factory;
-};
-
-// Make this test suite a plugin.
-CPPUNIT_PLUGIN_IMPLEMENT();
-CPPUNIT_TEST_SUITE_REGISTRATION(EventChannelConnectionTest);
-