[Msan] Fix the accept unit test to pass on FreeBSD
authorViktor Kutuzov <vkutuzov@accesssoftek.com>
Wed, 21 Jan 2015 09:46:21 +0000 (09:46 +0000)
committerViktor Kutuzov <vkutuzov@accesssoftek.com>
Wed, 21 Jan 2015 09:46:21 +0000 (09:46 +0000)
Differential Revision: http://reviews.llvm.org/D7083

llvm-svn: 226650

compiler-rt/lib/msan/tests/msan_test.cc

index e7b4a81..6aba0de 100644 (file)
@@ -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);