|
|
|
@@ -0,0 +1,199 @@
|
|
|
|
|
diff --git i/tests/camera.c w/tests/camera.c
|
|
|
|
|
index 4fefbe4..7957d72 100644
|
|
|
|
|
--- i/tests/camera.c
|
|
|
|
|
+++ w/tests/camera.c
|
|
|
|
|
@@ -239,29 +239,31 @@ test_camera_lockdown (void)
|
|
|
|
|
require_pipewire ();
|
|
|
|
|
reset_camera_permissions ();
|
|
|
|
|
xdp_impl_lockdown_set_disable_camera (lockdown, TRUE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
|
|
|
|
|
keyfile = g_key_file_new ();
|
|
|
|
|
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "delay", 200);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "marker", 4);
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "response", 0);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "response", 2);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
|
|
|
|
|
|
|
|
|
|
path = g_build_filename (outdir, "access", NULL);
|
|
|
|
|
g_key_file_save_to_file (keyfile, path, &error);
|
|
|
|
|
g_assert_no_error (error);
|
|
|
|
|
|
|
|
|
|
portal = xdp_portal_new ();
|
|
|
|
|
|
|
|
|
|
got_info = 0;
|
|
|
|
|
xdp_portal_access_camera (portal, NULL, 0, NULL, camera_cb, keyfile);
|
|
|
|
|
|
|
|
|
|
while (!got_info)
|
|
|
|
|
g_main_context_iteration (NULL, TRUE);
|
|
|
|
|
|
|
|
|
|
xdp_impl_lockdown_set_disable_camera (lockdown, FALSE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Test the effect of the user denying the access dialog */
|
|
|
|
|
diff --git i/tests/filechooser.c w/tests/filechooser.c
|
|
|
|
|
index a5f9b2c..799f24b 100644
|
|
|
|
|
--- i/tests/filechooser.c
|
|
|
|
|
+++ w/tests/filechooser.c
|
|
|
|
|
@@ -871,29 +871,31 @@ test_save_file_lockdown (void)
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
xdp_impl_lockdown_set_disable_save_to_disk (lockdown, TRUE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
|
|
|
|
|
keyfile = g_key_file_new ();
|
|
|
|
|
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "delay", 200);
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "response", 0);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "response", 2);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
|
|
|
|
|
g_key_file_set_string_list (keyfile, "result", "uris", uris, g_strv_length ((char **)uris));
|
|
|
|
|
|
|
|
|
|
path = g_build_filename (outdir, "filechooser", NULL);
|
|
|
|
|
g_key_file_save_to_file (keyfile, path, &error);
|
|
|
|
|
g_assert_no_error (error);
|
|
|
|
|
|
|
|
|
|
portal = xdp_portal_new ();
|
|
|
|
|
|
|
|
|
|
got_info = 0;
|
|
|
|
|
xdp_portal_save_file (portal, NULL, "test", "test_file.txt", NULL, NULL, NULL, NULL, NULL, 0, NULL, save_file_cb, keyfile);
|
|
|
|
|
|
|
|
|
|
while (!got_info)
|
|
|
|
|
g_main_context_iteration (NULL, TRUE);
|
|
|
|
|
|
|
|
|
|
xdp_impl_lockdown_set_disable_save_to_disk (lockdown, FALSE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
diff --git i/tests/location.c w/tests/location.c
|
|
|
|
|
index 0395f77..89cdef6 100644
|
|
|
|
|
--- i/tests/location.c
|
|
|
|
|
+++ w/tests/location.c
|
|
|
|
|
@@ -30,10 +30,8 @@ test_location_basic (void)
|
|
|
|
|
{
|
|
|
|
|
g_autoptr(XdpPortal) portal = NULL;
|
|
|
|
|
|
|
|
|
|
-#ifndef HAVE_GEOCLUE
|
|
|
|
|
g_test_skip ("Skipping tests that require geoclue");
|
|
|
|
|
return;
|
|
|
|
|
-#endif
|
|
|
|
|
|
|
|
|
|
portal = xdp_portal_new ();
|
|
|
|
|
|
|
|
|
|
@@ -67,10 +65,8 @@ test_location_accuracy (void)
|
|
|
|
|
{
|
|
|
|
|
g_autoptr(XdpPortal) portal = NULL;
|
|
|
|
|
|
|
|
|
|
-#ifndef HAVE_GEOCLUE
|
|
|
|
|
g_test_skip ("Skipping tests that require geoclue");
|
|
|
|
|
return;
|
|
|
|
|
-#endif
|
|
|
|
|
|
|
|
|
|
portal = xdp_portal_new ();
|
|
|
|
|
|
|
|
|
|
diff --git i/tests/openuri.c w/tests/openuri.c
|
|
|
|
|
index ddff074..ba02bfd 100644
|
|
|
|
|
--- i/tests/openuri.c
|
|
|
|
|
+++ w/tests/openuri.c
|
|
|
|
|
@@ -366,28 +366,30 @@ test_open_uri_lockdown (void)
|
|
|
|
|
g_autofree char *path = NULL;
|
|
|
|
|
|
|
|
|
|
xdp_impl_lockdown_set_disable_application_handlers (lockdown, TRUE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
|
|
|
|
|
keyfile = g_key_file_new ();
|
|
|
|
|
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "delay", 200);
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "response", 0);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "response", 2);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
|
|
|
|
|
|
|
|
|
|
path = g_build_filename (outdir, "appchooser", NULL);
|
|
|
|
|
g_key_file_save_to_file (keyfile, path, &error);
|
|
|
|
|
g_assert_no_error (error);
|
|
|
|
|
|
|
|
|
|
portal = xdp_portal_new ();
|
|
|
|
|
|
|
|
|
|
got_info = 0;
|
|
|
|
|
xdp_portal_open_uri (portal, NULL, "http://www.flatpak.org", 0, NULL, open_uri_cb, keyfile);
|
|
|
|
|
|
|
|
|
|
while (!got_info)
|
|
|
|
|
g_main_context_iteration (NULL, TRUE);
|
|
|
|
|
|
|
|
|
|
xdp_impl_lockdown_set_disable_application_handlers (lockdown, FALSE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
|
diff --git i/tests/print.c w/tests/print.c
|
|
|
|
|
index 1b9be72..ddcac42 100644
|
|
|
|
|
--- i/tests/print.c
|
|
|
|
|
+++ w/tests/print.c
|
|
|
|
|
@@ -187,28 +187,30 @@ test_prepare_print_lockdown (void)
|
|
|
|
|
g_autofree char *path = NULL;
|
|
|
|
|
|
|
|
|
|
xdp_impl_lockdown_set_disable_printing (lockdown, TRUE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
|
|
|
|
|
keyfile = g_key_file_new ();
|
|
|
|
|
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "delay", 200);
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "response", 0);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "response", 2);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
|
|
|
|
|
|
|
|
|
|
path = g_build_filename (outdir, "print", NULL);
|
|
|
|
|
g_key_file_save_to_file (keyfile, path, &error);
|
|
|
|
|
g_assert_no_error (error);
|
|
|
|
|
|
|
|
|
|
portal = xdp_portal_new ();
|
|
|
|
|
|
|
|
|
|
got_info = 0;
|
|
|
|
|
xdp_portal_prepare_print (portal, NULL, "test", NULL, NULL, 0, NULL, prepare_cb, keyfile);
|
|
|
|
|
|
|
|
|
|
while (!got_info)
|
|
|
|
|
g_main_context_iteration (NULL, TRUE);
|
|
|
|
|
|
|
|
|
|
xdp_impl_lockdown_set_disable_printing (lockdown, FALSE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
|
@@ -427,28 +429,30 @@ test_print_lockdown (void)
|
|
|
|
|
g_autoptr(GDBusConnection) session_bus = NULL;
|
|
|
|
|
|
|
|
|
|
xdp_impl_lockdown_set_disable_printing (lockdown, TRUE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
|
|
|
|
|
keyfile = g_key_file_new ();
|
|
|
|
|
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "delay", 200);
|
|
|
|
|
g_key_file_set_integer (keyfile, "backend", "response", 0);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "response", 2);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
|
|
|
|
|
g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
|
|
|
|
|
|
|
|
|
|
path = g_build_filename (outdir, "print", NULL);
|
|
|
|
|
g_key_file_save_to_file (keyfile, path, &error);
|
|
|
|
|
g_assert_no_error (error);
|
|
|
|
|
|
|
|
|
|
portal = xdp_portal_new ();
|
|
|
|
|
|
|
|
|
|
got_info = 0;
|
|
|
|
|
xdp_portal_print_file (portal, NULL, "test", 0, path, 0, NULL, print_cb, keyfile);
|
|
|
|
|
|
|
|
|
|
while (!got_info)
|
|
|
|
|
g_main_context_iteration (NULL, TRUE);
|
|
|
|
|
|
|
|
|
|
xdp_impl_lockdown_set_disable_printing (lockdown, FALSE);
|
|
|
|
|
+ sleep (1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void
|