5 #include <wayland-server.h>
6 #include <libds/backend/wayland.h>
8 static struct ds_backend *
9 create_possible_wl_backend(struct wl_display *display)
11 struct ds_backend *backend;
14 for (int i = 0; i < 5; i++) {
15 snprintf(wl_name, sizeof wl_name, "wayland-%d", i);
16 backend = ds_wl_backend_create(display, wl_name);
25 test_wl_backend_create(void)
27 struct wl_display *display;
28 struct ds_backend *backend;
30 display = wl_display_create();
32 backend = create_possible_wl_backend(display);
35 ds_backend_destroy(backend);
40 struct wl_listener backend_destroy;
45 cb_backend_destroy(struct wl_listener *listener, void *data)
49 test = wl_container_of(listener, test, backend_destroy);
50 test->cb_called = true;
54 test_wl_backend_destroy_signal(void)
56 struct wl_display *display;
57 struct ds_backend *backend;
60 display = wl_display_create();
62 backend = create_possible_wl_backend(display);
65 test.cb_called = false;
66 test.backend_destroy.notify = cb_backend_destroy;
67 ds_backend_add_destroy_listener(backend, &test.backend_destroy);
69 wl_display_destroy(display);
70 assert(test.cb_called);
76 test_wl_backend_create();
77 test_wl_backend_destroy_signal();