From e52a44b8a4c11bc10685162e8e638357c01b9dc4 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Mon, 13 May 2024 07:55:20 +1200 Subject: [PATCH] Skip citext_utf8 test on Windows. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Back-patch of commit cff4e5a3 to 15 and 16, per request from Oleg Tselebrovskiy. Original commit message: On other Windows build farm animals it is already skipped because they don't use UTF-8 encoding. On "hamerkop", UTF-8 is used, and then the test fails. It is not clear to me (a non-Windows person looking only at buildfarm evidence) whether Windows is less sophisticated than other OSes and doesn't know how to downcase Turkish İ with the standard Unicode database, or if it is more sophisticated than other systems and uses locale-specific behavior like ICU does. Whichever the reason, the result is the same: we need to skip the test on Windows, just as we already do for ICU, at least until a Windows-savvy developer comes up with a better idea. The technique for detecting the OS is borrowed from collate.windows.win1252.sql. This was anticipated by commit c2e8bd27, but the problem only surfaced when Windows build farm animals started using Meson. Reviewed-by: Tom Lane Discussion: https://postgr.es/m/CA%2BhUKGJ1LeC3aE2qQYTK95rFVON3ZVoTQpTKJqxkHdtEyawH4A%40mail.gmail.com --- contrib/citext/expected/citext_utf8.out | 1 + contrib/citext/expected/citext_utf8_1.out | 1 + contrib/citext/sql/citext_utf8.sql | 1 + 3 files changed, 3 insertions(+) diff --git a/contrib/citext/expected/citext_utf8.out b/contrib/citext/expected/citext_utf8.out index 666b07ccec4..3159f238dd3 100644 --- a/contrib/citext/expected/citext_utf8.out +++ b/contrib/citext/expected/citext_utf8.out @@ -3,6 +3,7 @@ * and a Unicode-aware locale. */ SELECT getdatabaseencoding() <> 'UTF8' OR + version() ~ '(Visual C\+\+|mingw32|windows)' OR current_setting('lc_ctype') = 'C' AS skip_test \gset \if :skip_test diff --git a/contrib/citext/expected/citext_utf8_1.out b/contrib/citext/expected/citext_utf8_1.out index 433e9853497..d47836b2286 100644 --- a/contrib/citext/expected/citext_utf8_1.out +++ b/contrib/citext/expected/citext_utf8_1.out @@ -3,6 +3,7 @@ * and a Unicode-aware locale. */ SELECT getdatabaseencoding() <> 'UTF8' OR + version() ~ '(Visual C\+\+|mingw32|windows)' OR current_setting('lc_ctype') = 'C' AS skip_test \gset \if :skip_test diff --git a/contrib/citext/sql/citext_utf8.sql b/contrib/citext/sql/citext_utf8.sql index d068000b423..fc5da4e8beb 100644 --- a/contrib/citext/sql/citext_utf8.sql +++ b/contrib/citext/sql/citext_utf8.sql @@ -4,6 +4,7 @@ */ SELECT getdatabaseencoding() <> 'UTF8' OR + version() ~ '(Visual C\+\+|mingw32|windows)' OR current_setting('lc_ctype') = 'C' AS skip_test \gset \if :skip_test -- 2.39.5