mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-26 21:30:13 +01:00
test: add missing proximity timeouts to the tablet tests
A bunch of tests that left proximity but didn't wait for the proximity timeout. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1169>
This commit is contained in:
parent
7a9f4f1c38
commit
b3471a960e
1 changed files with 69 additions and 1 deletions
|
|
@ -1135,6 +1135,8 @@ START_TEST(proximity_out_clear_buttons)
|
|||
litest_event(dev, EV_SYN, SYN_REPORT, 0);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
|
||||
event = libinput_get_event(li);
|
||||
litest_assert_notnull(event);
|
||||
|
|
@ -1400,6 +1402,9 @@ START_TEST(proximity_range_in_out)
|
|||
litest_event(dev, EV_KEY, BTN_TOOL_MOUSE, 0);
|
||||
litest_unfilter_event(dev, EV_KEY, BTN_TOOL_PEN);
|
||||
litest_pop_event_frame(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_assert_tablet_proximity_event(li,
|
||||
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT);
|
||||
litest_assert_empty_queue(li);
|
||||
|
|
@ -1438,6 +1443,9 @@ START_TEST(proximity_range_button_click)
|
|||
litest_event(dev, EV_KEY, BTN_TOOL_MOUSE, 0);
|
||||
litest_unfilter_event(dev, EV_KEY, BTN_TOOL_PEN);
|
||||
litest_pop_event_frame(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_assert_empty_queue(li);
|
||||
}
|
||||
END_TEST
|
||||
|
|
@ -1488,6 +1496,9 @@ START_TEST(proximity_range_button_press)
|
|||
litest_event(dev, EV_KEY, BTN_TOOL_MOUSE, 0);
|
||||
litest_unfilter_event(dev, EV_KEY, BTN_TOOL_PEN);
|
||||
litest_pop_event_frame(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_assert_empty_queue(li);
|
||||
}
|
||||
END_TEST
|
||||
|
|
@ -1538,6 +1549,9 @@ START_TEST(proximity_range_button_release)
|
|||
litest_event(dev, EV_KEY, BTN_TOOL_MOUSE, 0);
|
||||
litest_unfilter_event(dev, EV_KEY, BTN_TOOL_PEN);
|
||||
litest_pop_event_frame(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_assert_tablet_proximity_event(li,
|
||||
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT);
|
||||
}
|
||||
|
|
@ -1897,6 +1911,8 @@ START_TEST(left_handed)
|
|||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_drain_events(li);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
|
||||
/* Since we've drained the events and libinput's aware the tool is out
|
||||
* of proximity, it should have finally transitioned into left-handed
|
||||
|
|
@ -2306,6 +2322,8 @@ START_TEST(bad_distance_events)
|
|||
|
||||
litest_tablet_proximity_in(dev, 10, 10, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
absinfo = libevdev_get_abs_info(dev->evdev, ABS_DISTANCE);
|
||||
|
|
@ -2898,6 +2916,8 @@ START_TEST(tool_type)
|
|||
litest_assert_empty_queue(li);
|
||||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
x++;
|
||||
|
|
@ -3141,6 +3161,8 @@ START_TEST(tool_direct_switch_with_forced_proxout)
|
|||
/* actual prox out for tablets that don't do forced prox out */
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
|
||||
event = libinput_get_event(li);
|
||||
litest_is_proximity_event(event,
|
||||
|
|
@ -3777,6 +3799,8 @@ START_TEST(tablet_calibration_set_matrix_delta)
|
|||
dy = libinput_event_tablet_tool_get_y(tablet_event) - y;
|
||||
libinput_event_destroy(event);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_wait_for_event_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
||||
litest_drain_events(li);
|
||||
|
||||
|
|
@ -3858,8 +3882,13 @@ START_TEST(tablet_calibration_set_matrix)
|
|||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_tablet_proximity_in(dev, 50, 50, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_wait_for_event_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
||||
litest_wait_for_event_of_type(li, LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
||||
litest_drain_events(li);
|
||||
|
|
@ -3886,6 +3915,9 @@ START_TEST(tablet_calibration_set_matrix)
|
|||
litest_assert(y < 51.0);
|
||||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
}
|
||||
END_TEST
|
||||
|
||||
|
|
@ -4084,6 +4116,7 @@ START_TEST(tablet_area_set_rectangle)
|
|||
litest_drain_events(li);
|
||||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
get_tool_xy(li, &x, &y);
|
||||
|
|
@ -4162,6 +4195,7 @@ START_TEST(tablet_area_set_rectangle_move_outside)
|
|||
litest_tablet_tip_up(dev, x, y, axes);
|
||||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_assert_empty_queue(li);
|
||||
|
|
@ -4210,6 +4244,7 @@ START_TEST(tablet_area_set_rectangle_move_outside_to_inside)
|
|||
litest_axis_set_value(axes, ABS_PRESSURE, 0);
|
||||
litest_tablet_tip_up(dev, x, y, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_assert_empty_queue(li);
|
||||
|
|
@ -4229,7 +4264,7 @@ START_TEST(tablet_area_set_rectangle_move_outside_to_inside)
|
|||
litest_axis_set_value(axes, ABS_PRESSURE, 0);
|
||||
litest_tablet_tip_up(dev, x, y, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_assert_empty_queue(li);
|
||||
|
|
@ -4397,6 +4432,8 @@ START_TEST(tablet_pressure_offset_set)
|
|||
assert_pressure(li, LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY, 0.20);
|
||||
assert_pressure(li, LIBINPUT_EVENT_TABLET_TOOL_TIP, 0.20);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
}
|
||||
}
|
||||
|
|
@ -4469,6 +4506,8 @@ START_TEST(tablet_pressure_offset_decrease)
|
|||
/* offset 20 on prox in */
|
||||
litest_tablet_proximity_in(dev, 5, 100, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
/* offset 15 on prox in - this one is so we trigger on the next prox
|
||||
|
|
@ -4476,12 +4515,16 @@ START_TEST(tablet_pressure_offset_decrease)
|
|||
litest_axis_set_value(axes, ABS_PRESSURE, 15);
|
||||
litest_tablet_proximity_in(dev, 5, 100, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
/* a reduced pressure value must reduce the offset */
|
||||
litest_axis_set_value(axes, ABS_PRESSURE, 10);
|
||||
litest_tablet_proximity_in(dev, 5, 100, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
litest_tablet_proximity_in(dev, 5, 100, axes);
|
||||
|
|
@ -4535,12 +4578,16 @@ START_TEST(tablet_pressure_offset_increase)
|
|||
/* offset 20 on first prox in */
|
||||
litest_tablet_proximity_in(dev, 5, 100, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
/* offset 25 on second prox in - must not change the offset */
|
||||
litest_axis_set_value(axes, ABS_PRESSURE, 25);
|
||||
litest_tablet_proximity_in(dev, 5, 100, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
/* offset 30 on third prox in - must not change the offset */
|
||||
|
|
@ -4747,6 +4794,7 @@ START_TEST(tablet_pressure_config_set_minimum)
|
|||
}
|
||||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
|
|
@ -4835,6 +4883,7 @@ START_TEST(tablet_pressure_config_set_maximum)
|
|||
}
|
||||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
|
||||
|
|
@ -4932,6 +4981,7 @@ START_TEST(tablet_pressure_config_set_range)
|
|||
}
|
||||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
|
|
@ -4993,6 +5043,8 @@ START_TEST(tablet_pressure_offset_exceed_threshold)
|
|||
litest_tablet_proximity_in(dev, 5, 100, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5899,6 +5951,8 @@ assert_touch_is_arbitrated(struct litest_device *dev, struct litest_device *fing
|
|||
litest_assert_only_typed_events(li,
|
||||
LIBINPUT_EVENT_TABLET_TOOL_AXIS);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_assert_only_typed_events(li,
|
||||
LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY);
|
||||
|
||||
|
|
@ -5982,6 +6036,9 @@ START_TEST(touch_arbitration_outside_rect)
|
|||
/* disable prox-out timer quirk */
|
||||
litest_tablet_proximity_in(dev, x, y - 1, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
|
||||
litest_tablet_proximity_in(dev, x, y - 1, axes);
|
||||
litest_drain_events(li);
|
||||
|
|
@ -6013,6 +6070,8 @@ START_TEST(touch_arbitration_outside_rect)
|
|||
x = 20;
|
||||
y = 10;
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_tablet_motion(dev, x, y, axes);
|
||||
litest_tablet_proximity_in(dev, x, y - 1, axes);
|
||||
litest_drain_events(li);
|
||||
|
|
@ -6060,6 +6119,8 @@ START_TEST(touch_arbitration_remove_after)
|
|||
litest_drain_events(li);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
|
||||
/* Delete the device immediately after the tablet goes out of prox.
|
||||
* This merely tests that the arbitration timer gets cleaned up */
|
||||
|
|
@ -6094,6 +6155,8 @@ START_TEST(touch_arbitration_stop_touch)
|
|||
/* disable prox-out timer quirk */
|
||||
litest_tablet_proximity_in(dev, 30, 30, axes);
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
litest_touch_down(finger, 0, 30, 30);
|
||||
|
|
@ -6355,6 +6418,8 @@ START_TEST(touch_arbitration_keep_ignoring)
|
|||
litest_drain_events(li);
|
||||
|
||||
litest_tablet_proximity_out(tablet);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_drain_events(li);
|
||||
|
||||
/* a touch during pen interaction stays a palm after the pen lifts.
|
||||
|
|
@ -7178,6 +7243,9 @@ START_TEST(tablet_smoothing)
|
|||
}
|
||||
|
||||
litest_tablet_proximity_out(dev);
|
||||
litest_dispatch(li);
|
||||
litest_timeout_tablet_proxout();
|
||||
litest_dispatch(li);
|
||||
litest_tablet_proximity_in(dev, 10, 10, axes);
|
||||
litest_dispatch(li);
|
||||
litest_drain_events(li);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue