static struct libinput * open_device(const struct libinput_interface *interface, void *userdata, const char *path, int verbose) { struct libinput_device *device; struct libinput *li; li = libinput_path_create_context(interface, userdata); if (!li) { fprintf(stderr, "Failed to initialize context from %s\n", path); return NULL; } if (verbose) { libinput_log_set_handler(li, log_handler); libinput_log_set_priority(li, LIBINPUT_LOG_PRIORITY_DEBUG); } device = libinput_path_add_device(li, path); if (!device) { fprintf(stderr, "Failed to initialized device %s\n", path); libinput_unref(li); li = NULL; } return li; }
END_TEST START_TEST(log_priority) { struct libinput *li; li = libinput_path_create_context(&simple_interface, NULL); libinput_log_set_priority(li, LIBINPUT_LOG_PRIORITY_ERROR); libinput_log_set_handler(li, simple_log_handler); log_handler_context = li; libinput_path_add_device(li, "/tmp"); ck_assert_int_eq(log_handler_called, 1); libinput_log_set_priority(li, LIBINPUT_LOG_PRIORITY_INFO); /* event0 is usually Lid Switch which prints an info that we don't handle it */ libinput_path_add_device(li, "/dev/input/event0"); ck_assert_int_gt(log_handler_called, 1); log_handler_called = 0; libinput_unref(li); log_handler_context = NULL; }
END_TEST START_TEST(log_handler_NULL) { struct libinput *li; li = libinput_path_create_context(&simple_interface, NULL); libinput_log_set_priority(li, LIBINPUT_LOG_PRIORITY_DEBUG); libinput_log_set_handler(li, NULL); libinput_path_add_device(li, "/tmp"); ck_assert_int_eq(log_handler_called, 0); log_handler_called = 0; libinput_unref(li); }
static struct libinput * open_udev(const struct libinput_interface *interface, void *userdata, const char *seat, int verbose) { struct libinput *li; struct udev *udev = udev_new(); if (!udev) { fprintf(stderr, "Failed to initialize udev\n"); return NULL; } li = libinput_udev_create_context(interface, userdata, udev); if (!li) { fprintf(stderr, "Failed to initialize context from udev\n"); goto out; } if (verbose) { libinput_log_set_handler(li, log_handler); libinput_log_set_priority(li, LIBINPUT_LOG_PRIORITY_DEBUG); } if (libinput_udev_assign_seat(li, seat)) { fprintf(stderr, "Failed to set seat\n"); libinput_unref(li); li = NULL; goto out; } out: udev_unref(udev); return li; }