From 71a303503b5412c5182855fb6b378908a4362a10 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 14 Mar 2017 11:43:18 +1000 Subject: [PATCH libinput 5/7] test: fix tests for kernels without UI_GET_SYSNAME Signed-off-by: Peter Hutterer --- test/litest.h | 14 ++++++++++++++ test/test-switch.c | 3 +++ test/test-tablet.c | 4 ++++ test/test-touch.c | 2 ++ test/test-touchpad.c | 4 ++++ 5 files changed, 27 insertions(+) diff --git a/test/litest.h b/test/litest.h index f51e6812..d47a76a2 100644 --- a/test/litest.h +++ b/test/litest.h @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -83,6 +84,19 @@ struct test_device { #define ck_assert_uint_eq(X, Y) _ck_assert_uint(X, ==, Y) #endif + +/** + * Forces a pause on kernels where we don't have UI_GET_SYSNAME and rely on + * timestamps in the uinput device + */ +static inline void +litest_duplicate_device_pause(void) +{ +#ifndef UI_GET_SYSNAME + sleep(1); +#endif +} + extern void litest_setup_tests_udev(void); extern void litest_setup_tests_path(void); extern void litest_setup_tests_pointer(void); diff --git a/test/test-switch.c b/test/test-switch.c index 65e85102..e615c409 100644 --- a/test/test-switch.c +++ b/test/test-switch.c @@ -767,10 +767,13 @@ START_TEST(lid_update_hw_on_key_multiple_keyboards) if (!switch_has_lid(sw)) return; + litest_duplicate_device_pause(); keyboard1 = litest_add_device(li, LITEST_KEYBOARD_BLADE_STEALTH_VIDEOSWITCH); libinput_dispatch(li); + litest_duplicate_device_pause(); + keyboard2 = litest_add_device(li, LITEST_KEYBOARD_BLADE_STEALTH); libinput_dispatch(li); diff --git a/test/test-tablet.c b/test/test-tablet.c index b32aaad6..cd20383c 100644 --- a/test/test-tablet.c +++ b/test/test-tablet.c @@ -98,6 +98,8 @@ START_TEST(button_seat_count) if (!libevdev_has_event_code(dev->evdev, EV_KEY, BTN_STYLUS)) return; + litest_duplicate_device_pause(); + dev2 = litest_add_device(li, LITEST_WACOM_CINTIQ_13HDT_PEN); litest_tablet_proximity_in(dev, 10, 10, axes); litest_tablet_proximity_in(dev2, 10, 10, axes); @@ -2197,6 +2199,7 @@ START_TEST(tools_with_serials) * available or isn't used by libevdev (1.3, commit 2ff45c73). * Put a sleep(1) here and that usually fixes it. */ + litest_duplicate_device_pause(); litest_push_event_frame(dev[i]); litest_tablet_proximity_in(dev[i], 10, 10, NULL); @@ -2244,6 +2247,7 @@ START_TEST(tools_without_serials) * available or isn't used by libevdev (1.3, commit 2ff45c73). * Put a sleep(1) here and that usually fixes it. */ + litest_duplicate_device_pause(); litest_tablet_proximity_in(dev[i], 10, 10, NULL); diff --git a/test/test-touch.c b/test/test-touch.c index b3a6d0a0..f1524274 100644 --- a/test/test-touch.c +++ b/test/test-touch.c @@ -143,6 +143,8 @@ START_TEST(touch_seat_slot) struct litest_device *dev2; struct libinput *li = dev1->libinput; + litest_duplicate_device_pause(); + dev2 = litest_add_device(li, LITEST_WACOM_TOUCH); litest_drain_events(li); diff --git a/test/test-touchpad.c b/test/test-touchpad.c index d02cd162..15435393 100644 --- a/test/test-touchpad.c +++ b/test/test-touchpad.c @@ -4261,6 +4261,7 @@ START_TEST(touchpad_dwt_multiple_keyboards) enable_dwt(touchpad); k1 = litest_add_device(li, LITEST_KEYBOARD); + litest_duplicate_device_pause(); k2 = litest_add_device(li, LITEST_KEYBOARD); litest_keyboard_key(k1, KEY_A, true); @@ -4301,6 +4302,7 @@ START_TEST(touchpad_dwt_multiple_keyboards_bothkeys) enable_dwt(touchpad); k1 = litest_add_device(li, LITEST_KEYBOARD); + litest_duplicate_device_pause(); k2 = litest_add_device(li, LITEST_KEYBOARD); litest_keyboard_key(k1, KEY_A, true); @@ -4330,6 +4332,7 @@ START_TEST(touchpad_dwt_multiple_keyboards_bothkeys_modifier) enable_dwt(touchpad); k1 = litest_add_device(li, LITEST_KEYBOARD); + litest_duplicate_device_pause(); k2 = litest_add_device(li, LITEST_KEYBOARD); litest_keyboard_key(k1, KEY_RIGHTCTRL, true); @@ -4369,6 +4372,7 @@ START_TEST(touchpad_dwt_multiple_keyboards_remove) enable_dwt(touchpad); keyboards[0] = litest_add_device(li, LITEST_KEYBOARD); + litest_duplicate_device_pause(); keyboards[1] = litest_add_device(li, LITEST_KEYBOARD); litest_keyboard_key(keyboards[0], KEY_A, true); -- 2.14.3