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.
(fold (lambda (ai ok?)
(let ((sa (addrinfo:addr ai)))
(and ok?
- (> (logand (addrinfo:flags ai) AI_ADDRCONFIG) 0)
(= (sockaddr:port sa) 80))))
#t
ai))))
(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))))))))