return (endpoint_copy);
}
+ /// @brief Opens TCP acceptor and sets 'reuse address' option.
+ void acceptorOpen() {
+ acceptor_.open(endpoint_);
+ acceptor_.setOption(TestTCPAcceptor::ReuseAddress(true));
+ }
+
/// @brief Starts accepting TCP connections.
///
/// This method creates new Acceptor instance and calls accept() to start
setMaxConnections(10);
// Initialize acceptor.
- acceptor_.open(endpoint_);
+ acceptorOpen();
acceptor_.bind(endpoint_);
acceptor_.listen();
// Initially the descriptor should be invalid (negative).
ASSERT_LT(acceptor_.getNative(), 0);
// Now open the socket and make sure the returned descriptor is now valid.
- ASSERT_NO_THROW(acceptor_.open(endpoint_));
+ ASSERT_NO_THROW(acceptorOpen());
EXPECT_GE(acceptor_.getNative(), 0);
}
+// macOS 10.12.3 has a bug which causes the connections to not enter
+// the TIME-WAIT state and they never get closed.
+#if !defined (OS_OSX)
// Test that TCPAcceptor::close works properly.
TEST_F(TCPAcceptorTest, close) {
// Initialize acceptor.
- acceptor_.open(endpoint_);
+ acceptorOpen();
acceptor_.bind(endpoint_);
acceptor_.listen();
EXPECT_EQ(1, connections_.size());
}
+#endif
+
}