From aff56ec25d6d1d3ccecbd8c3f9fb408ae2cc8422 Mon Sep 17 00:00:00 2001 From: Peter Johnston Date: Wed, 13 Mar 2024 10:43:24 -0700 Subject: [PATCH] Skip TCP_DEFER_ACCEPT test if we sleep for longer than timeout FIXED: https://fxbug.dev/326254381 PiperOrigin-RevId: 615470990 --- test/syscalls/linux/socket_inet_loopback.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/syscalls/linux/socket_inet_loopback.cc b/test/syscalls/linux/socket_inet_loopback.cc index 08348f1c2..56e2974bc 100644 --- a/test/syscalls/linux/socket_inet_loopback.cc +++ b/test/syscalls/linux/socket_inet_loopback.cc @@ -1571,7 +1571,13 @@ TEST_P(SocketInetLoopbackTest, TCPDeferAcceptTimeout) { // Verify that there is no acceptable connection before TCP_DEFER_ACCEPT // timeout is hit. + const auto start = absl::Now(); absl::SleepFor(absl::Seconds(kTCPDeferAccept - 1)); + // It's possible that we ended up sleeping for longer than the + // TCP_DEFER_ACCEPT timeout. If this happens, skip this test. + if (absl::Now() >= start + absl::Seconds(kTCPDeferAccept)) { + GTEST_SKIP(); + } ASSERT_THAT(accept(listen_fd.get(), nullptr, nullptr), SyscallFailsWithErrno(EWOULDBLOCK));