summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2014-11-17 12:06:46 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2014-11-18 09:05:14 +1000
commitcc3b81f15a646765f18700b2e2c03fd3341d1a2d (patch)
treec03b8e3b810b3f2d42bb323056cfab8485e3a822
parent1fc31fba9231f01db004d34c651c9863dd8a4711 (diff)
downloadlibevdev-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.c33
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);