From 5fd63d1c7fc8ea8d0aff30abc6403aa4491b6f81 Mon Sep 17 00:00:00 2001 From: Andrei Vagin Date: Wed, 21 Aug 2019 19:05:56 -0700 Subject: [PATCH] tests: retry connect if it fails with EINTR test/syscalls/linux/proc_net_tcp.cc:252: Failure Value of: connect(client->get(), &addr, addrlen) Expected: not -1 (success) Actual: -1 (of type int), with errno PosixError(errno=4 Interrupted system call) PiperOrigin-RevId: 264743815 --- test/syscalls/linux/proc_net_tcp.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/syscalls/linux/proc_net_tcp.cc b/test/syscalls/linux/proc_net_tcp.cc index 2ca7b6ad7..498f62d9c 100644 --- a/test/syscalls/linux/proc_net_tcp.cc +++ b/test/syscalls/linux/proc_net_tcp.cc @@ -249,7 +249,8 @@ TEST(ProcNetTCP, State) { std::unique_ptr client = ASSERT_NO_ERRNO_AND_VALUE(IPv4TCPUnboundSocket(0).Create()); - ASSERT_THAT(connect(client->get(), &addr, addrlen), SyscallSucceeds()); + ASSERT_THAT(RetryEINTR(connect)(client->get(), &addr, addrlen), + SyscallSucceeds()); entries = ASSERT_NO_ERRNO_AND_VALUE(ProcNetTCPEntries()); ASSERT_TRUE(FindByLocalAddr(entries, &listen_entry, &addr)); EXPECT_EQ(listen_entry.state, TCP_LISTEN);