Hi David, David Fang <f...@csl.cornell.edu> skribis:
>> Can you try this (in a UTF-8 terminal): >> >> (use-modules (ice-9 i18n)) >> (setlocale LC_ALL "tr_TR.UTF-8") >> (char-locale-upcase #\i) [...] > scheme@(guile-user)> (use-modules (ice-9 i18n)) > scheme@(guile-user)> (setlocale LC_ALL "tr_TR.UTF-8") > $1 = "tr_TR.UTF-8" > scheme@(guile-user)> (char-locale-upcase #\i) > $2 = #\I > scheme@(guile-user)> > > Does that look right? No, it should be İ, so it means that this version of Darwin has invalid Turkish locale data. Can show what %host-type is on your system? I’ll add an exception to skip these tests on this platform. >>> FAIL: net-db.test: getaddrinfo: wrong service name >> >> Can you try this: >> >> (getaddrinfo "127.0.0.1" "does-not-exist" AI_NUMERICHOST) > > scheme@(guile-user)> (getaddrinfo "127.0.0.1" "does-not-exist" > AI_NUMERICHOST) > ERROR: In procedure getaddrinfo: > ERROR: In procedure getaddrinfo: No address associated with nodename Can you apply this patch, run ‘./check-guile net-db.test’, and report back?
diff --git a/test-suite/tests/net-db.test b/test-suite/tests/net-db.test index 89ebb1b..8b14a92 100644 --- a/test-suite/tests/net-db.test +++ b/test-suite/tests/net-db.test @@ -102,5 +102,7 @@ ;; 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)) + (= errcode EAI_NONAME) + (and (defined? 'EAI_NODATA) + (= errcode EAI_NODATA))) (string? (gai-strerror errcode))))))))
> Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. > > >>> ERROR: regexp.test: regexp-quote: regexp/extended: (char 254 #\þ >>> "þ") - >>> arguments: ((regular-expression-syntax "make-regexp" "empty >>> (sub)expression" #f ("þ"))) >> >> Hm? >> >>> FAIL: regexp.test: regexp-quote: regexp/extended: (string "aX" 254 >>> #\þ "aþ" "aþ") >>> FAIL: regexp.test: regexp-quote: regexp/extended: string of all chars >> >> Can you try: >> >> (setlocale LC_ALL "en_US.ISO-8859-1") ;; or some other ISO-8859-1 locale >> (let* ((s (string (integer->char 254))) >> (q (regexp-quote s))) >> (regexp-exec (make-regexp q regexp/extended) s)) [...] > scheme@(guile-user)> (setlocale LC_ALL "en_US.ISO8859-1") > $1 = "en_US.ISO8859-1" > scheme@(guile-user)> (let* ((s (string (integer->char 254))) (q > (regexp-quote s))) (regexp-exec (make-regexp q regexp/extended) s)) > ERROR: In procedure make-regexp: > ERROR: In procedure make-regexp: empty (sub)expression This looks like a bug of Darwin’s regcomp that’s likely to be solved by using Gnulib’s ‘regex’ module. If you don’t mind, I’ll provide you with a new tarball to test when we’re done with the other issues. Thanks for your patient investigation! Ludo’.