From 689b369f5788c15f9b018246baa4e318082c0d79 Mon Sep 17 00:00:00 2001 From: Kevin Krakauer Date: Tue, 4 May 2021 16:49:11 -0700 Subject: tcp_socket_test: replace tcp_wmem with SO_SNDBUF PiperOrigin-RevId: 372022596 --- test/syscalls/linux/BUILD | 1 - test/syscalls/linux/tcp_socket.cc | 18 ++++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) (limited to 'test/syscalls/linux') diff --git a/test/syscalls/linux/BUILD b/test/syscalls/linux/BUILD index b07f556de..94a582256 100644 --- a/test/syscalls/linux/BUILD +++ b/test/syscalls/linux/BUILD @@ -3710,7 +3710,6 @@ cc_binary( deps = [ ":socket_test_util", "//test/util:file_descriptor", - "@com_google_absl//absl/strings", "@com_google_absl//absl/time", gtest, "//test/util:posix_error", diff --git a/test/syscalls/linux/tcp_socket.cc b/test/syscalls/linux/tcp_socket.cc index ef3452306..5bfdecc79 100644 --- a/test/syscalls/linux/tcp_socket.cc +++ b/test/syscalls/linux/tcp_socket.cc @@ -27,7 +27,6 @@ #include #include "gtest/gtest.h" -#include "absl/strings/str_split.h" #include "absl/time/clock.h" #include "absl/time/time.h" #include "test/syscalls/linux/socket_test_util.h" @@ -1145,17 +1144,6 @@ TEST_P(SimpleTcpSocketTest, SelfConnectSendRecv) { } TEST_P(SimpleTcpSocketTest, SelfConnectSend) { - // Ensure the write size is not larger than the write buffer. - size_t write_size = 512 << 10; // 512 KiB. - constexpr char kWMem[] = "/proc/sys/net/ipv4/tcp_wmem"; - std::string wmem = ASSERT_NO_ERRNO_AND_VALUE(GetContents(kWMem)); - std::vector vals = absl::StrSplit(wmem, absl::ByAnyChar("\t ")); - size_t max_wmem; - ASSERT_TRUE(absl::SimpleAtoi(vals.back(), &max_wmem)); - if (write_size > max_wmem) { - write_size = max_wmem; - } - // Initialize address to the loopback one. sockaddr_storage addr = ASSERT_NO_ERRNO_AND_VALUE(InetLoopbackAddr(GetParam())); @@ -1176,6 +1164,12 @@ TEST_P(SimpleTcpSocketTest, SelfConnectSend) { ASSERT_THAT(RetryEINTR(connect)(s.get(), AsSockAddr(&addr), addrlen), SyscallSucceeds()); + // Ensure the write buffer is large enough not to block on a single write. + size_t write_size = 512 << 10; // 512 KiB. + EXPECT_THAT(setsockopt(s.get(), SOL_SOCKET, SO_SNDBUF, &write_size, + sizeof(write_size)), + SyscallSucceedsWithValue(0)); + std::vector writebuf(write_size); // Try to send the whole thing. -- cgit v1.2.3