[prev in list] [next in list] [prev in thread] [next in thread]
List: activemq-commits
Subject: svn commit: r938707 - in
From: tabish () apache ! org
Date: 2010-04-27 22:33:59
Message-ID: 20100427223359.D35B7238899B () eris ! apache ! org
[Download RAW message or body]
Author: tabish
Date: Tue Apr 27 22:33:59 2010
New Revision: 938707
URL: http://svn.apache.org/viewvc?rev=938707&view=rev
Log:
Add some more Socket Tests, no issues found.
Modified:
activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.cpp
activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.h
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.cpp?rev=938707&r1=938706&r2=938707&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.cpp \
(original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.cpp Tue \
Apr 27 22:33:59 2010 @@ -181,6 +181,121 @@ void SocketTest::testGetTcpNoDelay() {
false, client.getTcpNoDelay() );
}
+////////////////////////////////////////////////////////////////////////////////
+void SocketTest::testIsConnected() {
+
+ ServerSocket server(0);
+ Socket client( "localhost", server.getLocalPort() );
+
+ std::auto_ptr<Socket> worker( server.accept() );
+
+ CPPUNIT_ASSERT_MESSAGE( "Socket indicated not connected when it should be",
+ client.isConnected() );
+
+ client.close();
+ worker->close();
+ server.close();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void SocketTest::testIsClosed() {
+
+ ServerSocket server(0);
+ Socket client( "localhost", server.getLocalPort() );
+
+ std::auto_ptr<Socket> worker( server.accept() );
+
+ // validate isClosed returns expected values
+ CPPUNIT_ASSERT_MESSAGE( "Socket should indicate it is not closed(1):",
+ !client.isClosed() );
+ client.close();
+ CPPUNIT_ASSERT_MESSAGE( "Socket should indicate it is closed(1):",
+ client.isClosed() );
+
+ // validate that isClosed works ok for sockets returned from
+ // ServerSocket.accept()
+ CPPUNIT_ASSERT_MESSAGE( "Accepted Socket should indicate it is not closed:",
+ !worker->isClosed() );
+ worker->close();
+ CPPUNIT_ASSERT_MESSAGE( "Accepted Socket should indicate it is closed:",
+ worker->isClosed() );
+
+ // and finally for the server socket
+ CPPUNIT_ASSERT_MESSAGE( "Server Socket should indicate it is not closed:",
+ !server.isClosed() );
+ server.close();
+ CPPUNIT_ASSERT_MESSAGE( "Server Socket should indicate it is closed:",
+ server.isClosed() );
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void SocketTest::testIsInputShutdown() {
+
+ ServerSocket server(0);
+ Socket client( "localhost", server.getLocalPort() );
+
+ std::auto_ptr<Socket> worker( server.accept() );
+
+ InputStream* theInput = client.getInputStream();
+ OutputStream* theOutput = worker->getOutputStream();
+
+ // make sure we get the right answer with newly connected socket
+ CPPUNIT_ASSERT_MESSAGE( "Socket indicated input shutdown when it should not \
have", + !client.isInputShutdown() );
+
+ // shutdown the output
+ client.shutdownInput();
+
+ // make sure we get the right answer once it is shut down
+ CPPUNIT_ASSERT_MESSAGE( "Socket indicated input was NOT shutdown when it should \
have been", + client.isInputShutdown() );
+
+ client.close();
+ worker->close();
+ server.close();
+
+ // make sure we get the right answer for closed sockets
+ CPPUNIT_ASSERT_MESSAGE( "Socket indicated input was shutdown when socket was \
closed", + !worker->isInputShutdown() );
+
+ theInput->close();
+ theOutput->close();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+void SocketTest::testIsOutputShutdown() {
+
+ ServerSocket server(0);
+ Socket client( "localhost", server.getLocalPort() );
+
+ std::auto_ptr<Socket> worker( server.accept() );
+
+ InputStream* theInput = client.getInputStream();
+ OutputStream* theOutput = worker->getOutputStream();
+
+ // make sure we get the right answer with newly connected socket
+ CPPUNIT_ASSERT_MESSAGE( "Socket indicated output shutdown when it should not \
have", + !worker->isOutputShutdown() );
+
+ // shutdown the output
+ worker->shutdownOutput();
+
+ // make sure we get the right answer once it is shut down
+ CPPUNIT_ASSERT_MESSAGE( "Socket indicated output was NOT shutdown when it should \
have been", + worker->isOutputShutdown() );
+
+ client.close();
+ worker->close();
+ server.close();
+
+ // make sure we get the right answer for closed sockets
+ CPPUNIT_ASSERT_MESSAGE( "Socket indicated output was output shutdown when the \
socket was closed", + !client.isOutputShutdown() );
+
+ theInput->close();
+ theOutput->close();
+}
+
// TODO - Remove or replace old tests
////////////////////////////////////////////////////////////////////////////////
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.h
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.h?rev=938707&r1=938706&r2=938707&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.h \
(original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test/decaf/net/SocketTest.h Tue Apr \
27 22:33:59 2010 @@ -37,6 +37,10 @@ namespace net{
CPPUNIT_TEST( testGetSoLinger );
CPPUNIT_TEST( testGetSoTimeout );
CPPUNIT_TEST( testGetTcpNoDelay );
+ CPPUNIT_TEST( testIsConnected );
+ CPPUNIT_TEST( testIsClosed );
+ CPPUNIT_TEST( testIsInputShutdown );
+ CPPUNIT_TEST( testIsOutputShutdown );
CPPUNIT_TEST( testTx );
CPPUNIT_TEST( testTrx );
@@ -62,6 +66,10 @@ namespace net{
void testGetSoLinger();
void testGetSoTimeout();
void testGetTcpNoDelay();
+ void testIsConnected();
+ void testIsClosed();
+ void testIsInputShutdown();
+ void testIsOutputShutdown();
// Old Tests
void testConnect();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic