102 lines
3.6 KiB
Diff
102 lines
3.6 KiB
Diff
From fe56bdba1243cc5f6a652eb75d11ae1d1957ff7e Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
|
|
Date: Mon, 4 Mar 2024 08:18:54 +0100
|
|
Subject: [PATCH] tests: Skip some test when fr_FR locale isn't available
|
|
|
|
Some test require that locale so skip those when it is unavailable.
|
|
|
|
Closes: #392
|
|
---
|
|
src/test-mount-matrix.c | 8 ++++++--
|
|
tests/integration-test.py | 20 +++++++++++++++-----
|
|
2 files changed, 21 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/src/test-mount-matrix.c b/src/test-mount-matrix.c
|
|
index 0cf6c34..d0b608c 100644
|
|
--- a/src/test-mount-matrix.c
|
|
+++ b/src/test-mount-matrix.c
|
|
@@ -66,12 +66,16 @@ test_mount_matrix (void)
|
|
static void
|
|
test_comma_decimal_separator (void)
|
|
{
|
|
+ const char *fr_locale = "fr_FR.UTF-8";
|
|
char *old_locale;
|
|
AccelVec3 *vecs;
|
|
|
|
- old_locale = setlocale (LC_ALL, "fr_FR.UTF-8");
|
|
+ old_locale = setlocale (LC_ALL, fr_locale);
|
|
/* French locale not available? */
|
|
- g_assert_nonnull (old_locale);
|
|
+ if (!old_locale) {
|
|
+ g_test_skip_printf ("Local %s not available", fr_locale);
|
|
+ return;
|
|
+ }
|
|
|
|
/* Default matrix */
|
|
g_assert_true (parse_mount_matrix (DEFAULT_MATRIX, &vecs));
|
|
diff --git a/tests/integration-test.py b/tests/integration-test.py
|
|
index 20c0e92..4ccabb3 100755
|
|
--- a/tests/integration-test.py
|
|
+++ b/tests/integration-test.py
|
|
@@ -27,6 +27,7 @@ import tempfile
|
|
import psutil
|
|
import subprocess
|
|
import unittest
|
|
+import locale
|
|
import time
|
|
|
|
try:
|
|
@@ -50,6 +51,7 @@ SP_COMPASS = 'net.hadess.SensorProxy.Compass'
|
|
SP_COMPASS_PATH = '/net/hadess/SensorProxy/Compass'
|
|
|
|
class Tests(dbusmock.DBusTestCase):
|
|
+
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
# run from local build tree if we are in one, otherwise use system instance
|
|
@@ -92,6 +94,15 @@ class Tests(dbusmock.DBusTestCase):
|
|
cls.dbus = Gio.bus_get_sync(Gio.BusType.SYSTEM, None)
|
|
cls.dbus_con = cls.get_dbus(True)
|
|
|
|
+ # Some test outputs require the daemon to run under the fr locale:
|
|
+ # so check if that's available
|
|
+ try:
|
|
+ old_loc = locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
|
|
+ cls.has_fr = True
|
|
+ locale.setlocale(locale.LC_ALL, old_loc)
|
|
+ except:
|
|
+ cls.has_fr = False
|
|
+
|
|
@classmethod
|
|
def tearDownClass(cls):
|
|
cls.test_bus.down()
|
|
@@ -612,10 +623,9 @@ class Tests(dbusmock.DBusTestCase):
|
|
mock_file.write(data)
|
|
self.proxy.ClaimAccelerometer()
|
|
self.assertEventually(lambda: self.have_text_in_log('Accel sent by driver'))
|
|
- # If the 2nd test fails, it's likely that fr_FR.UTF-8 locale isn't supported
|
|
self.assertEqual(self.have_text_in_log('scale: 0,000000,0,000000,0,000000'), False)
|
|
- self.assertEqual(self.have_text_in_log('scale: 0,000010,0,000010,0,000010'), True)
|
|
-
|
|
+ if self.has_fr:
|
|
+ self.assertEqual(self.have_text_in_log('scale: 0,000010,0,000010,0,000010'), True)
|
|
self.stop_daemon()
|
|
|
|
def test_iio_scale_decimal_separator_offset(self):
|
|
@@ -715,9 +725,9 @@ class Tests(dbusmock.DBusTestCase):
|
|
|
|
self.proxy.ClaimAccelerometer()
|
|
self.assertEventually(lambda: self.have_text_in_log('Accel read from IIO on'))
|
|
- # If the 2nd test fails, it's likely that fr_FR.UTF-8 locale isn't supported
|
|
self.assertEqual(self.have_text_in_log('scale 1,000000,1,000000,1,000000'), False)
|
|
- self.assertEqual(self.have_text_in_log('scale 0,000001,0,000001,0,000001'), True)
|
|
+ if self.has_fr:
|
|
+ self.assertEqual(self.have_text_in_log('scale 0,000001,0,000001,0,000001'), True)
|
|
|
|
self.assertEventually(lambda: self.get_dbus_property('AccelerometerOrientation') == 'normal')
|
|
|
|
--
|
|
GitLab
|
|
|
|
|