Subject: bug#62420: 29.0.60; fns-tests-collate-strings fails on Cygwin

From: Eli Zaretskii <[email-masked]>
Date: Sat, 25 Mar 2023 15:24:29 +0300

> Date: Fri, 24 Mar 2023 10:52:45 -0400
> From: Ken Brown <[email-masked]>
> 
> The reason is that en_DE.UTF-8 is actually a valid locale on Cygwin.
> [Cygwin gets its locale information from Windows.  The latter supports
> the RFC 5646 locale "en-DE", which is called "English (Germany)" in the
> "Region" settings.]
> 
> The following trivial patch fixes the problem:
> 
> --- a/test/src/fns-tests.el
> +++ b/test/src/fns-tests.el
> @@ -254,7 +254,7 @@ fns-tests-collate-strings
>     (should (string-collate-equalp "xyzzy" "XYZZY" nil t))
>      ;; Locale must be valid.
> -  (should-error (string-collate-equalp "xyzzy" "xyzzy" "en_DE.UTF-8")))
> +  (should-error (string-collate-equalp "xyzzy" "xyzzy" "en_XY.UTF-8")))
>    ;; There must be a check for valid codepoints.  (Check not 
> implemented yet)
>   ;  (should-error
> 
> 
> Is this OK for the emacs-29 branch?

Yes, thanks.

> [Note: The test will still fail on current Cygwin after this patch; but
> that's because of a bug in Cygwin, which has been fixed in the
> development sources for Cygwin 3.5.]

Maybe mention this in comments?  Bonus points for making it an
expected failure for Cygwin < 3.5, assuming the version of Cygwin
could be obtained by the test code.