diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2020-05-28 16:41:09 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2020-06-03 22:32:56 +0000 |
commit | 4058c43579f23b3abe288b7480fe2a4e70aaea20 (patch) | |
tree | 5a6052d14fe0de5a70dc6b1e0070e26ca00eb6e6 /test/test-device.c | |
parent | 84fda690bdf92ee44550f553a7262192c57aaa84 (diff) | |
download | libinput-4058c43579f23b3abe288b7480fe2a4e70aaea20.tar.gz |
evdev: a device without any seat caps is an unhandled device
If we don't have any caps, assume the device is unhandled and ignore it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'test/test-device.c')
-rw-r--r-- | test/test-device.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/test-device.c b/test/test-device.c index df6bb22d..5fc79cdc 100644 --- a/test/test-device.c +++ b/test/test-device.c @@ -1472,6 +1472,27 @@ START_TEST(device_capability_check_invalid) } END_TEST +START_TEST(device_capability_nocaps_ignored) +{ + struct libevdev_uinput *uinput; + struct libinput *li; + struct libinput_device *device; + + /* SW_MAX isn't handled in libinput so the device is processed but + * ends up without seat capabilities and is ignored. */ + uinput = litest_create_uinput_device("test device", NULL, + EV_SW, SW_MAX, + -1); + li = litest_create_context(); + device = libinput_path_add_device(li, + libevdev_uinput_get_devnode(uinput)); + litest_assert_ptr_null(device); + + libinput_unref(li); + libevdev_uinput_destroy(uinput); +} +END_TEST + START_TEST(device_has_size) { struct litest_device *dev = litest_current_device(); @@ -1667,6 +1688,7 @@ TEST_COLLECTION(device) litest_add("device:capability", device_capability_at_least_one, LITEST_ANY, LITEST_ANY); litest_add("device:capability", device_capability_check_invalid, LITEST_ANY, LITEST_ANY); + litest_add_no_device("device:capability", device_capability_nocaps_ignored); litest_add("device:size", device_has_size, LITEST_TOUCHPAD, LITEST_ANY); litest_add("device:size", device_has_size, LITEST_TABLET, LITEST_ANY); |