From 25bc75c4316497c95b1c3fc17f1678ac47d32041 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 15 Feb 2010 16:10:01 +0100 Subject: [PATCH] Fix `getaddrinfo' tests. Thanks to Ken Raeburn. * test-suite/tests/net-db.test ("getaddrinfo")["port 80"]: Fix bogus check of `addrinfo:flags' (POSIX says that the "contents of the ai_flags field of the returned structures are undefined."). ("wrong service name"): Accept `EAI_NONAME' as a valid error code. --- test-suite/tests/net-db.test | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test-suite/tests/net-db.test b/test-suite/tests/net-db.test index 23a534d9a..7364d82ad 100644 --- a/test-suite/tests/net-db.test +++ b/test-suite/tests/net-db.test @@ -50,7 +50,6 @@ (fold (lambda (ai ok?) (let ((sa (addrinfo:addr ai))) (and ok? - (> (logand (addrinfo:flags ai) AI_ADDRCONFIG) 0) (= (sockaddr:port sa) 80)))) #t ai)))) @@ -73,5 +72,8 @@ (getaddrinfo "127.0.0.1" "does-not-exist" AI_NUMERICHOST) #f) (lambda (key errcode) - (and (= errcode EAI_SERVICE) + ;; According to POSIX, both error codes are valid (glibc 2.11 + ;; chooses `EAI_SERVICE'; Darwin chooses `EAI_NONAME'.) + (and (or (= errcode EAI_SERVICE) + (= errcode EAI_NONAME)) (string? (gai-strerror errcode))))))))