summaryrefslogtreecommitdiff
path: root/src/locale/test-keymap-util.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-06-04 18:15:42 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-06-11 11:24:06 -0400
commitcabffaf86c17cdf74f92b8ef168fb9668f699c14 (patch)
tree9eabd4df8617e89b12436f03c655a2565c657e26 /src/locale/test-keymap-util.c
parent03a44125b8af43df6ef8f4af63a8e48607de1a0d (diff)
test-keymap-util: use kbd-model-map/language-fallback-map from $(srcdir)
This adds (undocumented) environment variables SYSTEMD_KBD_MODEL_MAP and SYSTEMD_LANGUAGE_FALLBACK_MAP, which, if set, override compiled-in locations of those two files. Instead of skipping tests when the maps are not installed, just use the one from the source dir. We still cannot do the mappings the other way if /usr/lib/kbd/keymaps is not present, so truncate the tests in that case. Also tweak the debug messages a bit to make it easier to see which function is failing.
Diffstat (limited to 'src/locale/test-keymap-util.c')
-rw-r--r--src/locale/test-keymap-util.c38
1 files changed, 17 insertions, 21 deletions
diff --git a/src/locale/test-keymap-util.c b/src/locale/test-keymap-util.c
index 1e30fa4cb0..7e2c9e505a 100644
--- a/src/locale/test-keymap-util.c
+++ b/src/locale/test-keymap-util.c
@@ -24,16 +24,10 @@
static void test_find_language_fallback(void) {
_cleanup_free_ char *ans = NULL, *ans2 = NULL;
- int r;
- log_info("/* %s */", __func__);
+ log_info("/*** %s ***/", __func__);
- r = find_language_fallback("foobar", &ans);
- if (r == -ENOENT) {
- log_info_errno(r, "Skipping language fallback tests: %m");
- return;
- }
- assert_se(r == 0);
+ assert_se(find_language_fallback("foobar", &ans) == 0);
assert_se(ans == NULL);
assert_se(find_language_fallback("csb", &ans) == 0);
@@ -50,16 +44,17 @@ static void test_find_converted_keymap(void) {
_cleanup_free_ char *ans = NULL, *ans2 = NULL;
int r;
- log_info("/* %s */", __func__);
+ log_info("/*** %s ***/", __func__);
assert_se(find_converted_keymap("pl", "foobar", &ans) == 0);
assert_se(ans == NULL);
r = find_converted_keymap("pl", NULL, &ans);
if (r == 0) {
- log_info_errno(r, "Skipping find_converted_keymap tests: %m");
+ log_info("Skipping rest of %s: keymaps are not installed", __func__);
return;
}
+
assert_se(r == 1);
assert_se(streq(ans, "pl"));
@@ -70,17 +65,11 @@ static void test_find_converted_keymap(void) {
static void test_find_legacy_keymap(void) {
Context c = {};
_cleanup_free_ char *ans = NULL, *ans2 = NULL;
- int r;
- log_info("/* %s */", __func__);
+ log_info("/*** %s ***/", __func__);
c.x11_layout = (char*) "foobar";
- r = find_legacy_keymap(&c, &ans);
- if (r == -ENOENT) {
- log_info_errno(r, "Skipping test_legacy_keymap tests: %m");
- return;
- }
- assert_se(r == 0);
+ assert_se(find_legacy_keymap(&c, &ans) == 0);
assert_se(ans == NULL);
c.x11_layout = (char*) "pl";
@@ -95,7 +84,7 @@ static void test_find_legacy_keymap(void) {
static void test_vconsole_convert_to_x11(void) {
_cleanup_(context_free) Context c = {};
- log_info("/* %s */", __func__);
+ log_info("/*** %s ***/", __func__);
log_info("/* test emptying first (:) */");
assert_se(free_and_strdup(&c.x11_layout, "foo") >= 0);
@@ -148,8 +137,9 @@ static void test_vconsole_convert_to_x11(void) {
static void test_x11_convert_to_vconsole(void) {
_cleanup_(context_free) Context c = {};
+ int r;
- log_info("/* %s */", __func__);
+ log_info("/*** %s ***/", __func__);
log_info("/* test emptying first (:) */");
assert_se(free_and_strdup(&c.vc_keymap, "foobar") >= 0);
@@ -176,7 +166,13 @@ static void test_x11_convert_to_vconsole(void) {
log_info("/* test with known variant, new mapping (es:dvorak) */");
assert_se(free_and_strdup(&c.x11_variant, "dvorak") >= 0);
- assert_se(x11_convert_to_vconsole(&c) == 1);
+ r = x11_convert_to_vconsole(&c);
+ if (r == 0) {
+ log_info("Skipping rest of %s: keymaps are not installed", __func__);
+ return;
+ }
+
+ assert_se(r == 1);
assert_se(streq(c.vc_keymap, "es-dvorak"));
log_info("/* test with old mapping (fr:latin9) */");