diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2014-11-17 12:06:46 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2014-11-18 09:05:14 +1000 |
commit | cc3b81f15a646765f18700b2e2c03fd3341d1a2d (patch) | |
tree | c03b8e3b810b3f2d42bb323056cfab8485e3a822 | |
parent | 1fc31fba9231f01db004d34c651c9863dd8a4711 (diff) | |
download | libevdev-cc3b81f15a646765f18700b2e2c03fd3341d1a2d.tar.gz |
test: add test for clock id setting on an invalid device
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | test/test-libevdev-init.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/test-libevdev-init.c b/test/test-libevdev-init.c index 06b924e..62f539f 100644 --- a/test/test-libevdev-init.c +++ b/test/test-libevdev-init.c @@ -498,6 +498,38 @@ START_TEST(test_set_clock_id) } END_TEST +START_TEST(test_set_clock_id_invalid_fd) +{ + struct uinput_device* uidev; + struct libevdev *dev; + int rc; + + libevdev_set_log_function(test_logfunc_ignore_error, NULL); + + dev = libevdev_new(); + rc = libevdev_set_clock_id(dev, CLOCK_MONOTONIC); + ck_assert_int_eq(rc, -EBADF); + libevdev_free(dev); + + test_create_device(&uidev, &dev, + EV_SYN, SYN_REPORT, + EV_REL, REL_X, + EV_REL, REL_Y, + EV_REL, REL_WHEEL, + EV_KEY, BTN_LEFT, + EV_KEY, BTN_MIDDLE, + EV_KEY, BTN_RIGHT, + -1); + libevdev_change_fd(dev, -2); + rc = libevdev_set_clock_id(dev, CLOCK_MONOTONIC); + ck_assert_int_eq(rc, -EBADF); + + uinput_device_free(uidev); + libevdev_free(dev); +} +END_TEST + + START_TEST(test_clock_id_events) { struct uinput_device* uidev; @@ -598,6 +630,7 @@ libevdev_init_test(void) tc = tcase_create("clock id"); tcase_add_test(tc, test_set_clock_id); + tcase_add_test(tc, test_set_clock_id_invalid_fd); tcase_add_test(tc, test_clock_id_events); suite_add_tcase(s, tc); |