Re: [PATCH BlueZ 1/8] unit: Add gdbus/client_proxy_removed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Mon, Sep 9, 2013 at 5:49 PM, Luiz Augusto von Dentz
<luiz.dentz@xxxxxxxxx> wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>
>
> This tests if watches created using g_dbus_proxy_set_removed_watch works
> when the interface is removed.
> ---
>  unit/test-gdbus-client.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 57 insertions(+)
>
> diff --git a/unit/test-gdbus-client.c b/unit/test-gdbus-client.c
> index 488d4ec..30b0ce3 100644
> --- a/unit/test-gdbus-client.c
> +++ b/unit/test-gdbus-client.c
> @@ -848,6 +848,61 @@ static void client_check_order(void)
>         destroy_context(context);
>  }
>
> +static void proxy_removed(GDBusProxy *proxy, void *user_data)
> +{
> +       struct context *context = user_data;
> +
> +       if (g_test_verbose())
> +               g_print("proxy removed\n");
> +
> +       g_main_loop_quit(context->main_loop);
> +}
> +
> +static void proxy_set_removed(GDBusProxy *proxy, void *user_data)
> +{
> +       struct context *context = user_data;
> +
> +       if (g_test_verbose())
> +               g_print("proxy %s found\n",
> +                                       g_dbus_proxy_get_interface(proxy));
> +
> +       g_assert(g_dbus_proxy_set_removed_watch(proxy, proxy_removed, context));
> +
> +       context->timeout_source = g_timeout_add_seconds(2, timeout_test,
> +                                                               context);
> +
> +       g_dbus_unregister_interface(context->dbus_conn, SERVICE_PATH,
> +                                                               SERVICE_NAME);
> +}
> +
> +static void client_proxy_removed(void)
> +{
> +       struct context *context = create_context();
> +       static const GDBusPropertyTable string_properties[] = {
> +               { "String", "s", get_string, set_string, string_exists },
> +               { },
> +       };
> +
> +       if (context == NULL)
> +               return;
> +
> +       g_dbus_register_interface(context->dbus_conn,
> +                               SERVICE_PATH, SERVICE_NAME,
> +                               methods, signals, string_properties,
> +                               context, NULL);
> +
> +       context->dbus_client = g_dbus_client_new(context->dbus_conn,
> +                                               SERVICE_NAME, SERVICE_PATH);
> +
> +       g_dbus_client_set_proxy_handlers(context->dbus_client,
> +                                               proxy_set_removed, NULL, NULL,
> +                                               context);
> +
> +       g_main_loop_run(context->main_loop);
> +
> +       destroy_context(context);
> +}
> +
>  int main(int argc, char *argv[])
>  {
>         g_test_init(&argc, &argv, NULL);
> @@ -880,5 +935,7 @@ int main(int argc, char *argv[])
>
>         g_test_add_func("/gdbus/client_check_order", client_check_order);
>
> +       g_test_add_func("/gdbus/client_proxy_removed", client_proxy_removed);
> +
>         return g_test_run();
>  }
> --
> 1.8.3.1

This patch-set has been pushed upstream.


-- 
Luiz Augusto von Dentz
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux