diff --git a/compiler-rt/lib/msan/tests/msan_test.cc b/compiler-rt/lib/msan/tests/msan_test.cc index e7b4a813a6e3..6aba0de24e0b 100644 --- a/compiler-rt/lib/msan/tests/msan_test.cc +++ b/compiler-rt/lib/msan/tests/msan_test.cc @@ -868,8 +868,11 @@ TEST(MemorySanitizer, accept) { res = fcntl(connect_socket, F_SETFL, O_NONBLOCK); ASSERT_EQ(0, res); res = connect(connect_socket, (struct sockaddr *)&sai, sizeof(sai)); - ASSERT_EQ(-1, res); - ASSERT_EQ(EINPROGRESS, errno); + // On FreeBSD this connection completes immediately. + if (res != 0) { + ASSERT_EQ(-1, res); + ASSERT_EQ(EINPROGRESS, errno); + } __msan_poison(&sai, sizeof(sai)); int new_sock = accept(listen_socket, (struct sockaddr *)&sai, &sz);