[PATCH libinput] test: add a bunch of libinput_dispatch() before timeout calls

Jonas Ådahl jadahl at gmail.com
Tue Jul 28 18:56:02 PDT 2015


On Wed, Jul 29, 2015 at 10:35:36AM +1000, Peter Hutterer wrote:
> 98346f6a1aa added a warning about timeouts expiring before now. Those warnings
> are triggered by a bunch of tests where we have events, then a timeout, then a
> libinput_dispatch().
> 
> All these are bugs in the test, since we can't guarantee the order of fds (and
> thus which fd the events are pulled off first) it's just lucky that they worked.
> Insert the required libinput_dispatch() calls.
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

Both Reviewed-by: Jonas Ådahl <jadahl at gmail.com>

> ---
>  test/touchpad.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/test/touchpad.c b/test/touchpad.c
> index 1935d19..8489861 100644
> --- a/test/touchpad.c
> +++ b/test/touchpad.c
> @@ -3165,6 +3165,7 @@ START_TEST(touchpad_thumb_tap_begin)
>  	/* touch down is a thumb */
>  	litest_touch_down_extended(dev, 0, 50, 99, axes);
>  	litest_touch_up(dev, 0);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  
>  	litest_assert_empty_queue(li);
> @@ -3172,6 +3173,7 @@ START_TEST(touchpad_thumb_tap_begin)
>  	/* make sure normal tap still works */
>  	litest_touch_down(dev, 0, 50, 99);
>  	litest_touch_up(dev, 0);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	litest_assert_only_typed_events(li, LIBINPUT_EVENT_POINTER_BUTTON);
>  }
> @@ -3197,12 +3199,14 @@ START_TEST(touchpad_thumb_tap_touch)
>  	litest_touch_down(dev, 0, 50, 50);
>  	litest_touch_move_extended(dev, 0, 51, 99, axes);
>  	litest_touch_up(dev, 0);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	litest_assert_empty_queue(li);
>  
>  	/* make sure normal tap still works */
>  	litest_touch_down(dev, 0, 50, 99);
>  	litest_touch_up(dev, 0);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	litest_assert_only_typed_events(li, LIBINPUT_EVENT_POINTER_BUTTON);
>  }
> @@ -3226,6 +3230,7 @@ START_TEST(touchpad_thumb_tap_hold)
>  
>  	/* event in state HOLD is thumb */
>  	litest_touch_down(dev, 0, 50, 99);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	libinput_dispatch(li);
>  	litest_touch_move_extended(dev, 0, 51, 99, axes);
> @@ -3235,6 +3240,7 @@ START_TEST(touchpad_thumb_tap_hold)
>  	/* make sure normal tap still works */
>  	litest_touch_down(dev, 0, 50, 99);
>  	litest_touch_up(dev, 0);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	litest_assert_only_typed_events(li, LIBINPUT_EVENT_POINTER_BUTTON);
>  }
> @@ -3258,6 +3264,7 @@ START_TEST(touchpad_thumb_tap_hold_2ndfg)
>  
>  	/* event in state HOLD is thumb */
>  	litest_touch_down(dev, 0, 50, 99);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	libinput_dispatch(li);
>  	litest_touch_move_extended(dev, 0, 51, 99, axes);
> @@ -3273,6 +3280,7 @@ START_TEST(touchpad_thumb_tap_hold_2ndfg)
>  	litest_assert_empty_queue(li);
>  
>  	/* timeout -> into HOLD, no event on release */
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	libinput_dispatch(li);
>  	litest_touch_up(dev, 1);
> @@ -3281,6 +3289,7 @@ START_TEST(touchpad_thumb_tap_hold_2ndfg)
>  	/* make sure normal tap still works */
>  	litest_touch_down(dev, 0, 50, 99);
>  	litest_touch_up(dev, 0);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	litest_assert_only_typed_events(li, LIBINPUT_EVENT_POINTER_BUTTON);
>  }
> @@ -3305,6 +3314,7 @@ START_TEST(touchpad_thumb_tap_hold_2ndfg_tap)
>  
>  	/* event in state HOLD is thumb */
>  	litest_touch_down(dev, 0, 50, 99);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	libinput_dispatch(li);
>  	litest_touch_move_extended(dev, 0, 51, 99, axes);
> @@ -3328,6 +3338,7 @@ START_TEST(touchpad_thumb_tap_hold_2ndfg_tap)
>  				       LIBINPUT_BUTTON_STATE_PRESSED);
>  	libinput_event_destroy(libinput_event_pointer_get_base_event(ptrev));
>  
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	libinput_dispatch(li);
>  	event = libinput_get_event(li);
> @@ -3339,6 +3350,7 @@ START_TEST(touchpad_thumb_tap_hold_2ndfg_tap)
>  	/* make sure normal tap still works */
>  	litest_touch_down(dev, 0, 50, 99);
>  	litest_touch_up(dev, 0);
> +	libinput_dispatch(li);
>  	litest_timeout_tap();
>  	litest_assert_only_typed_events(li, LIBINPUT_EVENT_POINTER_BUTTON);
>  }
> -- 
> 2.4.3
> 


More information about the wayland-devel mailing list