From: Peter Hutterer Date: Sun, 30 Jun 2013 05:24:46 +0000 (+1000) Subject: test: add test for kernel-enabling bits X-Git-Tag: libevdev-0.2~53 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ca4b63d2b58cc3b06bdec2b4f26c1bd87b7e7d25;p=platform%2Fupstream%2Flibevdev.git test: add test for kernel-enabling bits This test fails because we can't actually enable bits at runtime, guess I should've thought of that before. Either way, commit this test (and revert it again) so the test is in the repository in case we do get this ability later. Signed-off-by: Peter Hutterer --- diff --git a/test/test-libevdev-has-event.c b/test/test-libevdev-has-event.c index 72eba2c..a769f25 100644 --- a/test/test-libevdev-has-event.c +++ b/test/test-libevdev-has-event.c @@ -465,6 +465,53 @@ START_TEST(test_device_disable_bit_invalid) } END_TEST +START_TEST(test_device_enable_kernel_bit) +{ + struct uinput_device* uidev; + struct libevdev *dev, *dev2; + struct input_absinfo abs; + int rc; + + rc = test_create_device(&uidev, &dev, + EV_ABS, ABS_X, + -1); + ck_assert_msg(rc == 0, "Failed to create device: %s", strerror(-rc)); + + ck_assert(!libevdev_has_event_code(dev, EV_ABS, ABS_Y)); + ck_assert(!libevdev_has_event_type(dev, EV_REL)); + ck_assert(!libevdev_has_event_code(dev, EV_REL, REL_X)); + + abs.value = 0; + abs.minimum = 0; + abs.maximum = 100; + abs.fuzz = 1; + abs.flat = 2; + abs.resolution = 3; + + ck_assert_int_eq(libevdev_kernel_enable_event_code(dev, EV_ABS, ABS_Y, &abs), 0); + ck_assert(libevdev_has_event_code(dev, EV_ABS, ABS_Y)); + + ck_assert_msg(libevdev_kernel_enable_event_type(dev, EV_REL), 0); + ck_assert(libevdev_has_event_type(dev, EV_REL)); + ck_assert(!libevdev_has_event_code(dev, EV_REL, REL_X)); + + ck_assert_int_eq(libevdev_kernel_enable_event_code(dev, EV_REL, REL_X, NULL), 0); + ck_assert(libevdev_has_event_code(dev, EV_REL, REL_X)); + + /* make sure kernel device is unchanged */ + rc = libevdev_new_from_fd(uinput_device_get_fd(uidev), &dev2); + ck_assert_msg(rc == 0, "Failed to init device: %s", strerror(-rc)); + ck_assert(libevdev_has_event_code(dev2, EV_ABS, ABS_X)); + ck_assert(libevdev_has_event_code(dev2, EV_ABS, ABS_Y)); + ck_assert(libevdev_has_event_type(dev2, EV_REL)); + ck_assert(libevdev_has_event_code(dev2, EV_REL, REL_X)); + libevdev_free(dev2); + + uinput_device_free(uidev); + libevdev_free(dev); +} +END_TEST + Suite * libevdev_has_event_test(void) { @@ -503,6 +550,7 @@ libevdev_has_event_test(void) tcase_add_test(tc, test_device_enable_bit_invalid); tcase_add_test(tc, test_device_disable_bit); tcase_add_test(tc, test_device_disable_bit_invalid); + tcase_add_test(tc, test_device_enable_kernel_bit); suite_add_tcase(s, tc); return s;