POSIX does not explicitly say that stored value using setsockopt will be
returned by getsockopt.  At least for TCP_NODELAY on Darwin they do
differ.  Darwin returns internal define TF_NODELAY (4) instead of 1 the
test expected.  Since for boolean flags "non-zero is true", rewrite the
test to check just that.

* test-suite/tests/00-socket.test ("setsockopt AF_INET")
["IPPROTO_TCP TCP_NODELAY"]: Check for non-zero value from getsockopt.
---
 test-suite/tests/00-socket.test | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-suite/tests/00-socket.test b/test-suite/tests/00-socket.test
index b3692f61a..17e686225 100644
--- a/test-suite/tests/00-socket.test
+++ b/test-suite/tests/00-socket.test
@@ -147,7 +147,7 @@
       (pass-if "IPPROTO_TCP TCP_NODELAY"
        (let ((sock (socket AF_INET SOCK_STREAM 0)))
           (setsockopt sock IPPROTO_TCP TCP_NODELAY 1)
-          (eqv? 1 (getsockopt sock IPPROTO_TCP TCP_NODELAY))))))
+          (not (eqv? 0 (getsockopt sock IPPROTO_TCP TCP_NODELAY)))))))
 
 
 ;;;
-- 
2.45.2




Reply via email to