From 7c04ac2559df93cf4b7ece51b7a2c586c68737dd Mon Sep 17 00:00:00 2001 From: Lizan Zhou Date: Thu, 16 Aug 2018 08:06:48 -0700 Subject: [PATCH] test: fix V6EmptyOptions in coverage with IPv6 enable (#4155) Signed-off-by: Lizan Zhou --- .../network/addr_family_aware_socket_option_impl_test.cc | 2 -- test/common/network/socket_option_test.h | 9 ++++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/test/common/network/addr_family_aware_socket_option_impl_test.cc b/test/common/network/addr_family_aware_socket_option_impl_test.cc index 90f2334b794..3c6c16a0d9c 100644 --- a/test/common/network/addr_family_aware_socket_option_impl_test.cc +++ b/test/common/network/addr_family_aware_socket_option_impl_test.cc @@ -49,8 +49,6 @@ TEST_F(AddrFamilyAwareSocketOptionImplTest, V4EmptyOptionNames) { // If a platform doesn't support IPv4 and IPv6 socket option variants for an IPv4 address, we fail TEST_F(AddrFamilyAwareSocketOptionImplTest, V6EmptyOptionNames) { - EXPECT_CALL(os_sys_calls_, socket(_, _, _)); - EXPECT_CALL(os_sys_calls_, close(_)); Address::Ipv6Instance address("::1:2:3:4", 5678); const int fd = address.socket(Address::SocketType::Stream); EXPECT_CALL(socket_, fd()).WillRepeatedly(Return(fd)); diff --git a/test/common/network/socket_option_test.h b/test/common/network/socket_option_test.h index efe1a053375..4ba3f83f907 100644 --- a/test/common/network/socket_option_test.h +++ b/test/common/network/socket_option_test.h @@ -23,7 +23,14 @@ class SocketOptionTest : public testing::Test { NiceMock socket_; Api::MockOsSysCalls os_sys_calls_; - TestThreadsafeSingletonInjector os_calls{&os_sys_calls_}; + + TestThreadsafeSingletonInjector os_calls_{[this]() { + // Before injecting OsSysCallsImpl, make sure validateIpv{4,6}Supported is called so the static + // bool is initialized without requiring to mock ::socket and ::close. + std::make_unique("1.2.3.4", 5678); + std::make_unique("::1:2:3:4", 5678); + return &os_sys_calls_; + }()}; void testSetSocketOptionSuccess( Socket::Option& socket_option, Network::SocketOptionName option_name, int option_val,