You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

146 lines
4.4 KiB

From 71a303503b5412c5182855fb6b378908a4362a10 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
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 <peter.hutterer@who-t.net>
---
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 <stdbool.h>
#include <stdarg.h>
#include <check.h>
+#include <unistd.h>
#include <libevdev/libevdev.h>
#include <libevdev/libevdev-uinput.h>
#include <libinput.h>
@@ -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