[geary/mjog/ci-updates: 2/2] Remove Flatpak test locale hack, just use en_US.UTF-8 for now
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/mjog/ci-updates: 2/2] Remove Flatpak test locale hack, just use en_US.UTF-8 for now
- Date: Tue, 15 Oct 2019 07:13:43 +0000 (UTC)
commit b11b1ed4a8a249d1e25adea4997e90fef9bbe53d
Author: Michael Gratton <mike vee net>
Date: Mon Oct 7 19:22:22 2019 +1100
Remove Flatpak test locale hack, just use en_US.UTF-8 for now
FDO 19.08 runtime now includes C.UTF-8 locale, but since Fedora
now ships one that collates high-bit chars, it differs compared
to Debian et al's and FDO.
As a result, just use en_US.UTF-8 for now, probably until glibc
actually ships it and so they all agree.
.gitlab-ci.yml | 5 +++++
test/engine/imap-db/imap-db-database-test.vala | 16 +++-------------
test/test-client.vala | 7 +++++--
test/test-engine.vala | 15 +++++----------
4 files changed, 18 insertions(+), 25 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bc30df20..3a438e21 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -13,6 +13,10 @@ variables:
# See Infrastructure/Infrastructure#97.
TEST_ARGS: -t 10
+ # Locale used for unit tests. See notes in test/test-engine.vala and
+ # test/test-client.vala.
+ TEST_LOCALE: en_US.UTF-8
+
# Build
BUILD_DIR: build
CONFIG_CMD: meson --buildtype=debug $BUILD_DIR
@@ -65,6 +69,7 @@ ubuntu:
before_script:
- apt-get update
- apt-get install -q -y --no-install-recommends $UBUNTU_DEPS $UBUNTU_TEST_DEPS
+ - locale-gen $TEST_LOCALE
script:
- $CONFIG_CMD
- $BUILD_CMD
diff --git a/test/engine/imap-db/imap-db-database-test.vala b/test/engine/imap-db/imap-db-database-test.vala
index 5b758c2a..1341f2d8 100644
--- a/test/engine/imap-db/imap-db-database-test.vala
+++ b/test/engine/imap-db/imap-db-database-test.vala
@@ -143,23 +143,13 @@ class Geary.ImapDB.DatabaseTest : TestCase {
db.exec("""
CREATE TABLE Test (id INTEGER PRIMARY KEY, test_str TEXT);
INSERT INTO Test (test_str) VALUES ('a');
+ INSERT INTO Test (test_str) VALUES ('b');
INSERT INTO Test (test_str) VALUES ('B');
INSERT INTO Test (test_str) VALUES ('BB');
- INSERT INTO Test (test_str) VALUES ('🤯');
+ INSERT INTO Test (test_str) VALUES ('á');
""");
- string[] expected = { "a", "BB", "B", "🤯" };
- // Distros don't ship well-known locales other than C.UTF-8 by
- // default, but Flatpak does not currently ship C.UTF-8 at
- // all, so need to support both. :(
- //
- // See test-engine.vala and
- // https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues/812
- if (GLib.Intl.setlocale(LocaleCategory.COLLATE, null) != "C.UTF-8") {
- // en_US.UTF-8:
- expected = { "BB", "B", "a", "🤯" };
- }
-
+ string[] expected = { "BB", "B", "b", "á", "a" };
Db.Result result = db.query(
"SELECT test_str FROM Test ORDER BY test_str COLLATE UTF8COLL DESC"
);
diff --git a/test/test-client.vala b/test/test-client.vala
index 6665582b..25567a3a 100644
--- a/test/test-client.vala
+++ b/test/test-client.vala
@@ -27,8 +27,11 @@ int main(string[] args) {
*/
// Ensure things like e.g. GLib's formatting routines uses a
- // UTF-8-based locale rather ASCII
- GLib.Intl.setlocale(LocaleCategory.ALL, "C.UTF-8");
+ // well-known UTF-8-based locale rather ASCII. Would like to use
+ // C.UTF-8 here, but currently only Debian et al and Fedora ship
+ // it, and as of Fedora 32 they disagree on collation order for
+ // non-ASCII chars.
+ GLib.Intl.setlocale(LocaleCategory.ALL, "en_US.UTF-8");
Gtk.init(ref args);
Test.init(ref args);
diff --git a/test/test-engine.vala b/test/test-engine.vala
index 0f28510a..d8cc5c6d 100644
--- a/test/test-engine.vala
+++ b/test/test-engine.vala
@@ -11,16 +11,11 @@ int main(string[] args) {
*/
// Ensure things like e.g. GLib's formatting routines uses a
- // well-known UTF-8-based locale rather ASCII.
- //
- // Distros don't ship well-known locales other than C.UTF-8 by
- // default, but Flatpak does not currently support C.UTF-8, so
- // need to try both. :(
- // https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues/812
- string? locale = GLib.Intl.setlocale(LocaleCategory.ALL, "C.UTF-8");
- if (locale == null) {
- GLib.Intl.setlocale(LocaleCategory.ALL, "en_US.UTF-8");
- }
+ // well-known UTF-8-based locale rather ASCII. Would like to use
+ // C.UTF-8 here, but currently only Debian et al and Fedora ship
+ // it, and as of Fedora 32 they disagree on collation order for
+ // non-ASCII chars.
+ GLib.Intl.setlocale(LocaleCategory.ALL, "en_US.UTF-8");
Test.init(ref args);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]