diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2016-01-26 16:37:41 +1300 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2016-01-26 16:37:41 +1300 |
commit | c431f596b8c4bcff38acd7a2aba824b733840521 (patch) | |
tree | 0f72a94c75af95b028d7c034a772ff9bcd029389 /tests/src/test-runner.c | |
parent | 64193adbfe78c0ac71e04341499ce317c79c2286 (diff) | |
download | lightdm-c431f596b8c4bcff38acd7a2aba824b733840521.tar.gz |
Add tests for new ConsoleKit XDG_RUNTIME_DIR support
Diffstat (limited to 'tests/src/test-runner.c')
-rw-r--r-- | tests/src/test-runner.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/tests/src/test-runner.c b/tests/src/test-runner.c index 5694e5f4..1cc6962b 100644 --- a/tests/src/test-runner.c +++ b/tests/src/test-runner.c @@ -1395,7 +1395,11 @@ handle_ck_session_call (GDBusConnection *connection, { CKSession *session = user_data; - if (strcmp (method_name, "Lock") == 0) + if (strcmp (method_name, "GetXDGRuntimeDir") == 0 && !g_key_file_get_boolean (config, "test-runner-config", "ck-no-xdg-runtime", NULL)) + { + g_dbus_method_invocation_return_value (invocation, g_variant_new ("(s)", "/run/console-kit")); + } + else if (strcmp (method_name, "Lock") == 0) { if (!session->locked) check_status ("CONSOLE-KIT LOCK-SESSION"); @@ -1464,9 +1468,20 @@ ck_name_acquired_cb (GDBusConnection *connection, { handle_ck_call, }; + const gchar *ck_session_interface_old = + "<node>" + " <interface name='org.freedesktop.ConsoleKit.Session'>" + " <method name='Lock'/>" + " <method name='Unlock'/>" + " <method name='Activate'/>" + " </interface>" + "</node>"; const gchar *ck_session_interface = "<node>" " <interface name='org.freedesktop.ConsoleKit.Session'>" + " <method name='GetXDGRuntimeDir'>" + " <arg name='dir' direction='out' type='s'/>" + " </method>" " <method name='Lock'/>" " <method name='Unlock'/>" " <method name='Activate'/>" @@ -1481,7 +1496,10 @@ ck_name_acquired_cb (GDBusConnection *connection, g_clear_error (&error); if (!ck_info) return; - ck_session_info = g_dbus_node_info_new_for_xml (ck_session_interface, &error); + if (g_key_file_get_boolean (config, "test-runner-config", "ck-no-xdg-runtime", NULL)) + ck_session_info = g_dbus_node_info_new_for_xml (ck_session_interface_old, &error); + else + ck_session_info = g_dbus_node_info_new_for_xml (ck_session_interface, &error); if (error) g_warning ("Failed to parse D-Bus interface: %s", error->message); g_clear_error (&error); |