From 626b5bd00f7c8b8fc075876db03c03874c7c2286 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 12 Feb 2019 11:36:20 +1000 Subject: [PATCH] test: fix the tablet motion test This test had a loop around the proximity events, so in theory we could've sent two proximity-in events and still get a positive test. Signed-off-by: Peter Hutterer --- test/test-tablet.c | 38 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/test/test-tablet.c b/test/test-tablet.c index cedf3bae..258cdc2c 100644 --- a/test/test-tablet.c +++ b/test/test-tablet.c @@ -1484,6 +1484,8 @@ START_TEST(motion) { ABS_PRESSURE, 0 }, { -1, -1 } }; + bool x_changed, y_changed; + double reported_x, reported_y; litest_drain_events(li); @@ -1491,34 +1493,22 @@ START_TEST(motion) libinput_dispatch(li); event = libinput_get_event(li); + tablet_event = litest_is_tablet_event(event, + LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY); + x_changed = libinput_event_tablet_tool_x_has_changed(tablet_event); + y_changed = libinput_event_tablet_tool_y_has_changed(tablet_event); + ck_assert(x_changed); + ck_assert(y_changed); - do { - bool x_changed, y_changed; - double reported_x, reported_y; + reported_x = libinput_event_tablet_tool_get_x(tablet_event); + reported_y = libinput_event_tablet_tool_get_y(tablet_event); - tablet_event = libinput_event_get_tablet_tool_event(event); - ck_assert_int_eq(libinput_event_get_type(event), - LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY); + litest_assert_double_lt(reported_x, reported_y); - x_changed = libinput_event_tablet_tool_x_has_changed( - tablet_event); - y_changed = libinput_event_tablet_tool_y_has_changed( - tablet_event); + last_reported_x = reported_x; + last_reported_y = reported_y; - ck_assert(x_changed); - ck_assert(y_changed); - - reported_x = libinput_event_tablet_tool_get_x(tablet_event); - reported_y = libinput_event_tablet_tool_get_y(tablet_event); - - litest_assert_double_lt(reported_x, reported_y); - - last_reported_x = reported_x; - last_reported_y = reported_y; - - libinput_event_destroy(event); - event = libinput_get_event(li); - } while (event != NULL); + libinput_event_destroy(event); for (test_x = 10, test_y = 90; test_x <= 100;