test: make litest_drain_events_of_type auto-terminating

Wrap this in a macro so we cannot forget to pass -1

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1048>
This commit is contained in:
Peter Hutterer 2024-09-11 16:19:33 +10:00
parent 0014400253
commit d0bec3843a
5 changed files with 14 additions and 12 deletions

View file

@ -3056,7 +3056,7 @@ litest_drain_events(struct libinput *li)
void
litest_drain_events_of_type(struct libinput *li, ...)
_litest_drain_events_of_type(struct libinput *li, ...)
{
enum libinput_event_type type;
enum libinput_event_type types[32] = {LIBINPUT_EVENT_NONE};
@ -3075,7 +3075,7 @@ litest_drain_events_of_type(struct libinput *li, ...)
libinput_dispatch(li);
type = libinput_next_event_type(li);
while (type != LIBINPUT_EVENT_NONE) {
while (type != LIBINPUT_EVENT_NONE) {
struct libinput_event *event;
bool found = false;

View file

@ -770,7 +770,10 @@ void
litest_drain_events(struct libinput *li);
void
litest_drain_events_of_type(struct libinput *li, ...);
_litest_drain_events_of_type(struct libinput *li, ...);
#define litest_drain_events_of_type(li_, ...) \
_litest_drain_events_of_type(li_, __VA_ARGS__, -1)
void
litest_assert_event_type(struct libinput_event *event,

View file

@ -1733,7 +1733,7 @@ START_TEST(gestures_hold_and_motion_before_timeout)
litest_timeout_gesture_quick_hold();
litest_drain_events_of_type(li, LIBINPUT_EVENT_POINTER_MOTION, -1);
litest_drain_events_of_type(li, LIBINPUT_EVENT_POINTER_MOTION);
litest_assert_gesture_event(li,
LIBINPUT_EVENT_GESTURE_HOLD_BEGIN,

View file

@ -1060,8 +1060,7 @@ START_TEST(tablet_mode_enable_touchpad_on_resume)
litest_touch_up(touchpad, 0);
litest_drain_events_of_type(li,
LIBINPUT_EVENT_GESTURE_HOLD_BEGIN,
LIBINPUT_EVENT_GESTURE_HOLD_END,
-1);
LIBINPUT_EVENT_GESTURE_HOLD_END);
litest_assert_only_typed_events(li, LIBINPUT_EVENT_POINTER_MOTION);
litest_switch_action(sw,

View file

@ -1058,7 +1058,7 @@ START_TEST(proximity_in_button_down)
litest_assert_tablet_proximity_event(li,
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN);
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP, -1);
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP);
litest_assert_tablet_button_event(li,
button,
LIBINPUT_BUTTON_STATE_PRESSED);
@ -1094,7 +1094,7 @@ START_TEST(proximity_out_button_up)
litest_assert_tablet_button_event(li,
button,
LIBINPUT_BUTTON_STATE_RELEASED);
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP, -1);
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP);
litest_assert_tablet_proximity_event(li,
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT);
litest_assert_empty_queue(li);
@ -1234,7 +1234,7 @@ START_TEST(proximity_has_axes)
litest_assert_double_ne(y, 0);
}
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP, -1);
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP);
litest_assert_empty_queue(li);
libinput_event_destroy(event);
@ -1273,7 +1273,7 @@ START_TEST(proximity_has_axes)
litest_timeout_tablet_proxout();
libinput_dispatch(li);
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP, -1);
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP);
event = libinput_get_event(li);
tablet_event = litest_is_tablet_event(event,
@ -2933,7 +2933,7 @@ START_TEST(tool_in_prox_before_start)
li = litest_create_context();
libinput_path_add_device(li, devnode);
litest_drain_events_of_type(li, LIBINPUT_EVENT_DEVICE_ADDED, -1);
litest_drain_events_of_type(li, LIBINPUT_EVENT_DEVICE_ADDED);
litest_assert_empty_queue(li);
@ -2946,7 +2946,7 @@ START_TEST(tool_in_prox_before_start)
serial = libinput_tablet_tool_get_serial(tool);
libinput_event_destroy(event);
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP, -1);
litest_drain_events_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_TIP);
litest_tablet_motion(dev, 30, 40, axes);
libinput_dispatch(li);