THRIFT-2441 Cannot shutdown TThreadedServer when clients are still connected
Author: James E. King, III <Jim.King@simplivity.com>
diff --git a/lib/cpp/test/TServerSocketTest.cpp b/lib/cpp/test/TServerSocketTest.cpp
index eee7c26..65f99f9 100644
--- a/lib/cpp/test/TServerSocketTest.cpp
+++ b/lib/cpp/test/TServerSocketTest.cpp
@@ -22,6 +22,7 @@
#include <thrift/transport/TServerSocket.h>
#include "TestPortFixture.h"
#include "TTransportCheckThrow.h"
+#include <iostream>
using apache::thrift::transport::TServerSocket;
using apache::thrift::transport::TSocket;
@@ -30,24 +31,18 @@
BOOST_FIXTURE_TEST_SUITE ( TServerSocketTest, TestPortFixture )
-class TestTServerSocket : public TServerSocket
-{
- public:
- TestTServerSocket(const std::string& address, int port) : TServerSocket(address, port) { }
- using TServerSocket::acceptImpl;
-};
-
BOOST_AUTO_TEST_CASE( test_bind_to_address )
{
- TestTServerSocket sock1("localhost", m_serverPort);
+ TServerSocket sock1("localhost", m_serverPort);
sock1.listen();
TSocket clientSock("localhost", m_serverPort);
clientSock.open();
- boost::shared_ptr<TTransport> accepted = sock1.acceptImpl();
+ boost::shared_ptr<TTransport> accepted = sock1.accept();
accepted->close();
sock1.close();
- TServerSocket sock2("this.is.truly.an.unrecognizable.address.", m_serverPort);
+ std::cout << "An error message from getaddrinfo on the console is expected:" << std::endl;
+ TServerSocket sock2("257.258.259.260", m_serverPort);
BOOST_CHECK_THROW(sock2.listen(), TTransportException);
sock2.close();
}