diff --git a/test/litest-bcm5974.c b/test/litest-bcm5974.c index 5a8ce8a3..6b7a22b1 100644 --- a/test/litest-bcm5974.c +++ b/test/litest-bcm5974.c @@ -95,7 +95,6 @@ static struct litest_device_interface interface = { void litest_create_bcm5974(struct litest_device *d) { - struct libevdev *dev; struct input_absinfo abs[] = { { ABS_X, 1472, 5472, 75 }, { ABS_Y, 1408, 4448, 129 }, @@ -105,36 +104,26 @@ litest_create_bcm5974(struct litest_device *d) { ABS_MT_POSITION_X, 1472, 5472, 75 }, { ABS_MT_POSITION_Y, 1408, 4448, 129 }, { ABS_MT_TRACKING_ID, 0, 65535, 0 }, - { ABS_MT_PRESSURE, 0, 255, 0 } + { ABS_MT_PRESSURE, 0, 255, 0 }, + { .value = -1 }, + }; + struct input_id id = { + .bustype = 0x3, + .vendor = 0x5ac, + .product = 0x249, }; - struct input_absinfo *a; - int rc; d->interface = &interface; - - dev = libevdev_new(); - ck_assert(dev != NULL); - - libevdev_set_name(dev, "bcm5974"); - libevdev_set_id_bustype(dev, 0x3); - libevdev_set_id_vendor(dev, 0x5ac); - libevdev_set_id_product(dev, 0x249); - libevdev_enable_event_code(dev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_FINGER, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_QUINTTAP, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOUCH, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_DOUBLETAP, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_TRIPLETAP, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_QUADTAP, NULL); - - ARRAY_FOR_EACH(abs, a) - libevdev_enable_event_code(dev, EV_ABS, a->value, a); - - rc = libevdev_uinput_create_from_device(dev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &d->uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(dev); + d->uinput = litest_create_uinput_abs_device("bcm5974", &id, + abs, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_TOOL_FINGER, + EV_KEY, BTN_TOOL_QUINTTAP, + EV_KEY, BTN_TOUCH, + EV_KEY, BTN_TOOL_DOUBLETAP, + EV_KEY, BTN_TOOL_TRIPLETAP, + EV_KEY, BTN_TOOL_QUADTAP, + -1, -1); } struct litest_test_device litest_bcm5974_device = { diff --git a/test/litest-generic-highres-touch.c b/test/litest-generic-highres-touch.c index 68615c37..bb226d6f 100644 --- a/test/litest-generic-highres-touch.c +++ b/test/litest-generic-highres-touch.c @@ -94,9 +94,6 @@ static struct litest_device_interface interface = { void litest_create_generic_highres_touch(struct litest_device *d) { - struct libevdev *dev; - int rc; - struct input_absinfo *a; struct input_absinfo abs[] = { { ABS_X, 0, 32767, 75 }, { ABS_Y, 0, 32767, 129 }, @@ -104,28 +101,21 @@ litest_create_generic_highres_touch(struct litest_device *d) { ABS_MT_POSITION_X, 0, 32767, 0, 0, 10 }, { ABS_MT_POSITION_Y, 0, 32767, 0, 0, 9 }, { ABS_MT_TRACKING_ID, 0, 65535, 0 }, + { .value = -1 }, + }; + struct input_id id = { + .bustype = 0x3, + .vendor = 0xabcd, /* Some random vendor. */ + .product = 0x1234, /* Some random product id. */ }; d->interface = &interface; - - dev = libevdev_new(); - ck_assert(dev != NULL); - - libevdev_set_name(dev, "Generic emulated highres touch device"); - libevdev_set_id_bustype(dev, 0x3); - libevdev_set_id_vendor(dev, 0xabcd); /* Some random vendor. */ - libevdev_set_id_product(dev, 0x1234); /* Some random product id. */ - libevdev_enable_event_code(dev, EV_KEY, BTN_TOUCH, NULL); - libevdev_enable_property(dev, INPUT_PROP_DIRECT); - - ARRAY_FOR_EACH(abs, a) - libevdev_enable_event_code(dev, EV_ABS, a->value, a); - - rc = libevdev_uinput_create_from_device(dev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &d->uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(dev); + d->uinput = litest_create_uinput_abs_device("Generic emulated highres touch device", + &id, + abs, + EV_KEY, BTN_TOUCH, + INPUT_PROP_MAX, INPUT_PROP_DIRECT, + -1, -1); } struct litest_test_device litest_generic_highres_touch_device = { diff --git a/test/litest-synaptics-st.c b/test/litest-synaptics-st.c index 2c7d371f..d13d9a2e 100644 --- a/test/litest-synaptics-st.c +++ b/test/litest-synaptics-st.c @@ -98,38 +98,27 @@ static struct litest_device_interface interface = { void litest_create_synaptics_touchpad(struct litest_device *d) { - struct libevdev *dev; struct input_absinfo abs[] = { { ABS_X, 1472, 5472, 75 }, { ABS_Y, 1408, 4448, 129 }, { ABS_PRESSURE, 0, 255, 0 }, { ABS_TOOL_WIDTH, 0, 15, 0 }, + { .value = -1 }, + }; + struct input_id id = { + .bustype = 0x11, + .vendor = 0x2, + .product = 0x7, }; - struct input_absinfo *a; - int rc; d->interface = &interface; - - dev = libevdev_new(); - ck_assert(dev != NULL); - - libevdev_set_name(dev, "SynPS/2 Synaptics TouchPad"); - libevdev_set_id_bustype(dev, 0x11); - libevdev_set_id_vendor(dev, 0x2); - libevdev_set_id_product(dev, 0x7); - libevdev_enable_event_code(dev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_FINGER, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOUCH, NULL); - - ARRAY_FOR_EACH(abs, a) - libevdev_enable_event_code(dev, EV_ABS, a->value, a); - - rc = libevdev_uinput_create_from_device(dev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &d->uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(dev); + d->uinput = litest_create_uinput_abs_device("SynPS/2 Synaptics TouchPad", &id, + abs, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_KEY, BTN_TOOL_FINGER, + EV_KEY, BTN_TOUCH, + -1, -1); } struct litest_test_device litest_synaptics_touchpad_device = { diff --git a/test/litest-synaptics.c b/test/litest-synaptics.c index e4a47835..c960db2d 100644 --- a/test/litest-synaptics.c +++ b/test/litest-synaptics.c @@ -97,7 +97,6 @@ static struct litest_device_interface interface = { void litest_create_synaptics_clickpad(struct litest_device *d) { - struct libevdev *dev; struct input_absinfo abs[] = { { ABS_X, 1472, 5472, 75 }, { ABS_Y, 1408, 4448, 129 }, @@ -107,36 +106,26 @@ litest_create_synaptics_clickpad(struct litest_device *d) { ABS_MT_POSITION_X, 1472, 5472, 75 }, { ABS_MT_POSITION_Y, 1408, 4448, 129 }, { ABS_MT_TRACKING_ID, 0, 65535, 0 }, - { ABS_MT_PRESSURE, 0, 255, 0 } + { ABS_MT_PRESSURE, 0, 255, 0 }, + { .value = -1 }, + }; + struct input_id id = { + .bustype = 0x11, + .vendor = 0x2, + .product = 0x11, }; - struct input_absinfo *a; - int rc; d->interface = &interface; - - dev = libevdev_new(); - ck_assert(dev != NULL); - - libevdev_set_name(dev, "SynPS/2 Synaptics TouchPad"); - libevdev_set_id_bustype(dev, 0x11); - libevdev_set_id_vendor(dev, 0x2); - libevdev_set_id_product(dev, 0x11); - libevdev_enable_event_code(dev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_FINGER, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_QUINTTAP, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOUCH, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_DOUBLETAP, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_TRIPLETAP, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOOL_QUADTAP, NULL); - - ARRAY_FOR_EACH(abs, a) - libevdev_enable_event_code(dev, EV_ABS, a->value, a); - - rc = libevdev_uinput_create_from_device(dev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &d->uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(dev); + d->uinput = litest_create_uinput_abs_device("SynPS/2 Synaptics TouchPad", &id, + abs, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_TOOL_FINGER, + EV_KEY, BTN_TOOL_QUINTTAP, + EV_KEY, BTN_TOUCH, + EV_KEY, BTN_TOOL_DOUBLETAP, + EV_KEY, BTN_TOOL_TRIPLETAP, + EV_KEY, BTN_TOOL_QUADTAP, + -1, -1); } struct litest_test_device litest_synaptics_clickpad_device = { diff --git a/test/litest-trackpoint.c b/test/litest-trackpoint.c index 68d58344..e0b79c51 100644 --- a/test/litest-trackpoint.c +++ b/test/litest-trackpoint.c @@ -40,28 +40,20 @@ static struct litest_device_interface interface = { static void litest_create_trackpoint(struct litest_device *d) { - struct libevdev *dev; - int rc; + struct input_id id = { + .bustype = 0x11, + .vendor = 0x2, + .product = 0xa, + }; d->interface = &interface; - dev = libevdev_new(); - ck_assert(dev != NULL); - - libevdev_set_name(dev, "TPPS/2 IBM TrackPoint"); - libevdev_set_id_bustype(dev, 0x11); - libevdev_set_id_vendor(dev, 0x2); - libevdev_set_id_product(dev, 0xa); - libevdev_enable_event_code(dev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(dev, EV_KEY, BTN_MIDDLE, NULL); - libevdev_enable_event_code(dev, EV_REL, REL_X, NULL); - libevdev_enable_event_code(dev, EV_REL, REL_Y, NULL); - - rc = libevdev_uinput_create_from_device(dev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &d->uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(dev); + d->uinput = litest_create_uinput_device("TPPS/2 IBM TrackPoint", &id, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_KEY, BTN_MIDDLE, + EV_REL, REL_X, + EV_REL, REL_Y, + -1, -1); } struct litest_test_device litest_trackpoint_device = { diff --git a/test/litest-wacom-touch.c b/test/litest-wacom-touch.c index 464d541e..01a5a5de 100644 --- a/test/litest-wacom-touch.c +++ b/test/litest-wacom-touch.c @@ -94,7 +94,6 @@ static struct litest_device_interface interface = { void litest_create_wacom_touch(struct litest_device *d) { - struct libevdev *dev; struct input_absinfo abs[] = { { ABS_X, 0, 2776, 75 }, { ABS_Y, 0, 1569, 129 }, @@ -102,30 +101,20 @@ litest_create_wacom_touch(struct litest_device *d) { ABS_MT_POSITION_X, 0, 2776, 0, 0, 10 }, { ABS_MT_POSITION_Y, 0, 1569, 0, 0, 9 }, { ABS_MT_TRACKING_ID, 0, 65535, 0 }, + { .value = -1 }, + }; + struct input_id id = { + .bustype = 0x3, + .vendor = 0x56a, + .product = 0xe6, }; - struct input_absinfo *a; - int rc; d->interface = &interface; - - dev = libevdev_new(); - ck_assert(dev != NULL); - - libevdev_set_name(dev, "Wacom ISDv4 E6 Finger"); - libevdev_set_id_bustype(dev, 0x3); - libevdev_set_id_vendor(dev, 0x56a); - libevdev_set_id_product(dev, 0xe6); - libevdev_enable_event_code(dev, EV_KEY, BTN_TOUCH, NULL); - libevdev_enable_property(dev, INPUT_PROP_DIRECT); - - ARRAY_FOR_EACH(abs, a) - libevdev_enable_event_code(dev, EV_ABS, a->value, a); - - rc = libevdev_uinput_create_from_device(dev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &d->uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(dev); + d->uinput = litest_create_uinput_abs_device("Wacom ISDv4 E6 Finger", &id, + abs, + EV_KEY, BTN_TOUCH, + INPUT_PROP_MAX, INPUT_PROP_DIRECT, + -1, -1); } struct litest_test_device litest_wacom_touch_device = { diff --git a/test/litest.c b/test/litest.c index 9241623a..f7fe24ec 100644 --- a/test/litest.c +++ b/test/litest.c @@ -490,3 +490,91 @@ litest_drain_events(struct libinput *li) libinput_dispatch(li); } } + +static struct libevdev_uinput * +litest_create_uinput_abs_device_v(const char *name, + struct input_id *id, + const struct input_absinfo *abs, + va_list args) +{ + struct libevdev_uinput *uinput; + struct libevdev *dev; + int type, code; + int rc; + const struct input_absinfo default_abs = { + .value = 0, + .minimum = 0, + .maximum = 0xffff, + .fuzz = 0, + .flat = 0, + .resolution = 100 + }; + + dev = libevdev_new(); + ck_assert(dev != NULL); + + libevdev_set_name(dev, name); + if (id) { + libevdev_set_id_bustype(dev, id->bustype); + libevdev_set_id_vendor(dev, id->vendor); + libevdev_set_id_product(dev, id->product); + } + + while (abs && abs->value != -1) { + rc = libevdev_enable_event_code(dev, EV_ABS, + abs->value, abs); + ck_assert_int_eq(rc, 0); + abs++; + } + + while ((type = va_arg(args, int)) != -1 && + (code = va_arg(args, int)) != -1) { + if (type == INPUT_PROP_MAX) { + rc = libevdev_enable_property(dev, code); + } else { + if (type != EV_SYN) + ck_assert(!libevdev_has_event_code(dev, type, code)); + rc = libevdev_enable_event_code(dev, type, code, + type == EV_ABS ? &default_abs : NULL); + } + ck_assert_int_eq(rc, 0); + } + + rc = libevdev_uinput_create_from_device(dev, + LIBEVDEV_UINPUT_OPEN_MANAGED, + &uinput); + ck_assert_int_eq(rc, 0); + + libevdev_free(dev); + + return uinput; +} + +struct libevdev_uinput * +litest_create_uinput_abs_device(const char *name, + struct input_id *id, + const struct input_absinfo *abs, + ...) +{ + struct libevdev_uinput *uinput; + va_list args; + + va_start(args, abs); + uinput = litest_create_uinput_abs_device_v(name, id, abs, args); + va_end(args); + + return uinput; +} + +struct libevdev_uinput * +litest_create_uinput_device(const char *name, struct input_id *id, ...) +{ + struct libevdev_uinput *uinput; + va_list args; + + va_start(args, id); + uinput = litest_create_uinput_abs_device_v(name, id, NULL, args); + va_end(args); + + return uinput; +} diff --git a/test/litest.h b/test/litest.h index 9f0f614a..75c517c4 100644 --- a/test/litest.h +++ b/test/litest.h @@ -100,4 +100,12 @@ void litest_button_click(struct litest_device *d, bool is_press); void litest_drain_events(struct libinput *li); +struct libevdev_uinput * litest_create_uinput_device(const char *name, + struct input_id *id, + ...); +struct libevdev_uinput * litest_create_uinput_abs_device(const char *name, + struct input_id *id, + const struct input_absinfo *abs, + ...); + #endif /* LITEST_H */ diff --git a/test/path.c b/test/path.c index 41ee5c6c..e9f80cb7 100644 --- a/test/path.c +++ b/test/path.c @@ -105,25 +105,16 @@ START_TEST(path_create_destroy) { struct libinput *li; struct libinput_device *device; - struct libevdev *evdev; struct libevdev_uinput *uinput; int rc; void *userdata = &rc; - evdev = libevdev_new(); - ck_assert(evdev != NULL); - - libevdev_set_name(evdev, "test device"); - libevdev_enable_event_code(evdev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(evdev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_X, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_Y, NULL); - - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(evdev); + uinput = litest_create_uinput_device("test device", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); li = libinput_path_create_context(&simple_interface, userdata); ck_assert(li != NULL); @@ -360,25 +351,16 @@ START_TEST(path_suspend) { struct libinput *li; struct libinput_device *device; - struct libevdev *evdev; struct libevdev_uinput *uinput; int rc; void *userdata = &rc; - evdev = libevdev_new(); - ck_assert(evdev != NULL); - - libevdev_set_name(evdev, "test device"); - libevdev_enable_event_code(evdev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(evdev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_X, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_Y, NULL); - - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(evdev); + uinput = litest_create_uinput_device("test device", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); li = libinput_path_create_context(&simple_interface, userdata); ck_assert(li != NULL); @@ -402,25 +384,16 @@ START_TEST(path_double_suspend) { struct libinput *li; struct libinput_device *device; - struct libevdev *evdev; struct libevdev_uinput *uinput; int rc; void *userdata = &rc; - evdev = libevdev_new(); - ck_assert(evdev != NULL); - - libevdev_set_name(evdev, "test device"); - libevdev_enable_event_code(evdev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(evdev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_X, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_Y, NULL); - - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(evdev); + uinput = litest_create_uinput_device("test device", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); li = libinput_path_create_context(&simple_interface, userdata); ck_assert(li != NULL); @@ -445,25 +418,16 @@ START_TEST(path_double_resume) { struct libinput *li; struct libinput_device *device; - struct libevdev *evdev; struct libevdev_uinput *uinput; int rc; void *userdata = &rc; - evdev = libevdev_new(); - ck_assert(evdev != NULL); - - libevdev_set_name(evdev, "test device"); - libevdev_enable_event_code(evdev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(evdev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_X, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_Y, NULL); - - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(evdev); + uinput = litest_create_uinput_device("test device", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); li = libinput_path_create_context(&simple_interface, userdata); ck_assert(li != NULL); @@ -489,33 +453,23 @@ START_TEST(path_add_device_suspend_resume) struct libinput *li; struct libinput_device *device; struct libinput_event *event; - struct libevdev *evdev; struct libevdev_uinput *uinput1, *uinput2; int rc; int nevents; void *userdata = &rc; - evdev = libevdev_new(); - ck_assert(evdev != NULL); - - libevdev_set_name(evdev, "test device"); - libevdev_enable_event_code(evdev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(evdev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_X, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_Y, NULL); - - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput1); - ck_assert_int_eq(rc, 0); - - libevdev_set_name(evdev, "test device 2"); - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput2); - ck_assert_int_eq(rc, 0); - - libevdev_free(evdev); + uinput1 = litest_create_uinput_device("test device", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); + uinput2 = litest_create_uinput_device("test device 2", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); li = libinput_path_create_context(&simple_interface, userdata); ck_assert(li != NULL); @@ -582,33 +536,23 @@ START_TEST(path_add_device_suspend_resume_fail) struct libinput *li; struct libinput_device *device; struct libinput_event *event; - struct libevdev *evdev; struct libevdev_uinput *uinput1, *uinput2; int rc; int nevents; void *userdata = &rc; - evdev = libevdev_new(); - ck_assert(evdev != NULL); - - libevdev_set_name(evdev, "test device"); - libevdev_enable_event_code(evdev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(evdev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_X, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_Y, NULL); - - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput1); - ck_assert_int_eq(rc, 0); - - libevdev_set_name(evdev, "test device 2"); - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput2); - ck_assert_int_eq(rc, 0); - - libevdev_free(evdev); + uinput1 = litest_create_uinput_device("test device", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); + uinput2 = litest_create_uinput_device("test device 2", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); li = libinput_path_create_context(&simple_interface, userdata); ck_assert(li != NULL); @@ -683,33 +627,23 @@ START_TEST(path_add_device_suspend_resume_remove_device) struct libinput *li; struct libinput_device *device; struct libinput_event *event; - struct libevdev *evdev; struct libevdev_uinput *uinput1, *uinput2; int rc; int nevents; void *userdata = &rc; - evdev = libevdev_new(); - ck_assert(evdev != NULL); - - libevdev_set_name(evdev, "test device"); - libevdev_enable_event_code(evdev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(evdev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_X, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_Y, NULL); - - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput1); - ck_assert_int_eq(rc, 0); - - libevdev_set_name(evdev, "test device 2"); - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput2); - ck_assert_int_eq(rc, 0); - - libevdev_free(evdev); + uinput1 = litest_create_uinput_device("test device", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); + uinput2 = litest_create_uinput_device("test device 2", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); li = libinput_path_create_context(&simple_interface, userdata); ck_assert(li != NULL); @@ -781,7 +715,6 @@ END_TEST START_TEST(path_seat_recycle) { struct libinput *li; - struct libevdev *evdev; struct libevdev_uinput *uinput; int rc; void *userdata = &rc; @@ -793,20 +726,12 @@ START_TEST(path_seat_recycle) int found = 0; void *user_data; - evdev = libevdev_new(); - ck_assert(evdev != NULL); - - libevdev_set_name(evdev, "test device"); - libevdev_enable_event_code(evdev, EV_KEY, BTN_LEFT, NULL); - libevdev_enable_event_code(evdev, EV_KEY, BTN_RIGHT, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_X, NULL); - libevdev_enable_event_code(evdev, EV_REL, REL_Y, NULL); - - rc = libevdev_uinput_create_from_device(evdev, - LIBEVDEV_UINPUT_OPEN_MANAGED, - &uinput); - ck_assert_int_eq(rc, 0); - libevdev_free(evdev); + uinput = litest_create_uinput_device("test device", NULL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_RIGHT, + EV_REL, REL_X, + EV_REL, REL_Y, + -1); li = libinput_path_create_context(&simple_interface, userdata); ck_assert(li != NULL);