POSIX locale tests fail with ICU 64.x
I ran into some test failures while building evolution-data-server, and I think I know what caused them. Starting with version 64.1, ICU no longer recognizes the "POSIX" locale used by the tests. The change in ICU was made in commit 1afef30549d93c17bb966c6803d5d943cf055925, which you can view at https://github.com/unicode-org/icu/commit/1afef30549d93c17bb966c6803d5d943cf055925#diff-602a561c8c03ada6a956b657471a691aL471. This causes the following tests to fail:
- test-book-cache-cursor-change-locale
- test-book-cache-cursor-move-by-posix
- test-sqlite-cursor-change-locale
- test-sqlite-cursor-move-by-posix
The tests pass if they use "en_US_POSIX" instead of "POSIX". I wonder if the "canonicalize_locale" function (in "e-collator.c") should turn "C" and "POSIX" into "en_US_POSIX" before handing it off to ICU. Otherwise, I guess the tests should use "en_US_POSIX" directly.