mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-01-06 15:20:27 +01:00
test: add a litest_with_parameters helper macro
Magic for loop that takes care of the creation and unref for us, hopefully improving readability a bit. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1138>
This commit is contained in:
parent
b566d64c17
commit
d9f121b4d1
9 changed files with 29 additions and 55 deletions
|
|
@ -610,6 +610,11 @@ _litest_parameters_new(const char *name, ...);
|
|||
#define litest_parameters_new(name_, ...) \
|
||||
_litest_parameters_new(name_, __VA_ARGS__, NULL)
|
||||
|
||||
#define litest_with_parameters(params_, ...) \
|
||||
for (struct litest_parameters *params_ = litest_parameters_new(__VA_ARGS__); \
|
||||
params_; \
|
||||
params_ = litest_parameters_unref(params_))
|
||||
|
||||
struct litest_parameters_permutation_value {
|
||||
struct list link;
|
||||
char name[128];
|
||||
|
|
|
|||
|
|
@ -211,11 +211,9 @@ TEST_COLLECTION(log)
|
|||
litest_add_deviceless(log_handler_NULL);
|
||||
litest_add_no_device(log_priority);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("axis", 's', 2, "ABS_X", "ABS_Y");
|
||||
litest_with_parameters(params, "axis", 's', 2, "ABS_X", "ABS_Y") {
|
||||
/* mtdev clips to axis ranges */
|
||||
litest_add_parametrized(log_axisrange_warning, LITEST_TOUCH, LITEST_PROTOCOL_A, params);
|
||||
litest_add_parametrized(log_axisrange_warning, LITEST_TOUCHPAD, LITEST_ANY, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3760,12 +3760,9 @@ TEST_COLLECTION(pointer)
|
|||
|
||||
litest_add(pointer_motion_relative, LITEST_RELATIVE, LITEST_POINTINGSTICK);
|
||||
litest_add_for_device(pointer_motion_relative_zero, LITEST_MOUSE);
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("direction", 's', 8,
|
||||
"N", "E", "S", "W",
|
||||
"NE", "SE", "SW", "NW");
|
||||
litest_with_parameters(params,
|
||||
"direction", 's', 8, "N", "E", "S", "W", "NE", "SE", "SW", "NW") {
|
||||
litest_add_parametrized(pointer_motion_relative_min_decel, LITEST_RELATIVE, LITEST_POINTINGSTICK, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
litest_add(pointer_motion_absolute, LITEST_ABSOLUTE, LITEST_ANY);
|
||||
litest_add(pointer_motion_unaccel, LITEST_RELATIVE, LITEST_ANY);
|
||||
|
|
@ -3776,10 +3773,8 @@ TEST_COLLECTION(pointer)
|
|||
litest_add(pointer_recover_from_lost_button_count, LITEST_BUTTON, LITEST_CLICKPAD);
|
||||
litest_add(pointer_scroll_wheel, LITEST_WHEEL, LITEST_TABLET);
|
||||
litest_add(pointer_scroll_wheel_hires, LITEST_WHEEL, LITEST_TABLET);
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("axis", 's', 2, "vertical", "horizontal");
|
||||
litest_with_parameters(params, "axis", 's', 2, "vertical", "horizontal") {
|
||||
litest_add_parametrized(pointer_scroll_wheel_hires_send_only_lores, LITEST_WHEEL, LITEST_TABLET, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
litest_add(pointer_scroll_wheel_inhibit_small_deltas, LITEST_WHEEL, LITEST_TABLET);
|
||||
litest_add(pointer_scroll_wheel_inhibit_dir_change, LITEST_WHEEL, LITEST_TABLET);
|
||||
|
|
@ -3848,10 +3843,8 @@ TEST_COLLECTION(pointer)
|
|||
litest_add(middlebutton_device_remove_while_down, LITEST_BUTTON, LITEST_CLICKPAD);
|
||||
litest_add(middlebutton_device_remove_while_one_is_down, LITEST_BUTTON, LITEST_CLICKPAD);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("axis", 's', 2, "ABS_X", "ABS_Y");
|
||||
litest_with_parameters(params, "axis", 's', 2, "ABS_X", "ABS_Y") {
|
||||
litest_add_parametrized(pointer_absolute_initial_state, LITEST_ABSOLUTE, LITEST_ANY, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
|
||||
litest_add(pointer_time_usec, LITEST_RELATIVE, LITEST_ANY);
|
||||
|
|
|
|||
|
|
@ -1443,9 +1443,7 @@ TEST_COLLECTION(switch)
|
|||
litest_add(switch_has_tablet_mode_switch, LITEST_SWITCH, LITEST_ANY);
|
||||
litest_add(switch_not_down_on_init, LITEST_SWITCH, LITEST_ANY);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("switch", 's', 2, "lid", "tablet_mode");
|
||||
|
||||
litest_with_parameters(params, "switch", 's', 2, "lid", "tablet_mode") {
|
||||
litest_add_parametrized(switch_toggle, LITEST_SWITCH, LITEST_ANY, params);
|
||||
litest_add_parametrized(switch_toggle_double, LITEST_SWITCH, LITEST_ANY, params);
|
||||
litest_add_parametrized(switch_down_on_init, LITEST_SWITCH, LITEST_ANY, params);
|
||||
|
|
@ -1459,8 +1457,6 @@ TEST_COLLECTION(switch)
|
|||
|
||||
litest_add_parametrized_no_device(switch_suspend_with_keyboard, params);
|
||||
litest_add_parametrized_no_device(switch_suspend_with_touchpad, params);
|
||||
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
|
||||
litest_add(lid_open_on_key, LITEST_SWITCH, LITEST_ANY);
|
||||
|
|
|
|||
|
|
@ -7104,10 +7104,8 @@ TEST_COLLECTION(tablet)
|
|||
litest_add(tip_down_motion, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_up_motion, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_down_up_eraser, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("axis", 's', 2, "ABS_X", "ABS_Y");
|
||||
litest_with_parameters(params, "axis", 's', 2, "ABS_X", "ABS_Y") {
|
||||
litest_add_parametrized(tip_up_motion_one_axis, LITEST_TABLET|LITEST_HOVER, LITEST_ANY, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
litest_add(tip_state_proximity, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_state_axis, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
|
|
@ -7120,10 +7118,8 @@ TEST_COLLECTION(tablet)
|
|||
litest_add(tilt_not_available, LITEST_TABLET, LITEST_TILT);
|
||||
litest_add(tilt_x, LITEST_TABLET|LITEST_TILT, LITEST_ANY);
|
||||
litest_add(tilt_y, LITEST_TABLET|LITEST_TILT, LITEST_ANY);
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("tilt", 's', 3, "minimum", "maximum", "center");
|
||||
litest_with_parameters(params, "tilt", 's', 3, "minimum", "maximum", "center") {
|
||||
litest_add_parametrized(tilt_fixed_points, LITEST_TABLET|LITEST_TILT, LITEST_ANY, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
litest_add(pad_buttons_ignored, LITEST_TABLET, LITEST_TOTEM);
|
||||
litest_add_for_device(stylus_buttons, LITEST_WACOM_CINTIQ_PRO16_PEN);
|
||||
|
|
@ -7146,11 +7142,10 @@ TEST_COLLECTION(tablet)
|
|||
|
||||
litest_add(tablet_area_has_rectangle, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(tablet_area_set_rectangle_invalid, LITEST_TABLET, LITEST_ANY);
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("axis", 's', 2, "vertical", "horizontal",
|
||||
"direction", 's', 2, "down", "up");
|
||||
litest_with_parameters(params,
|
||||
"axis", 's', 2, "vertical", "horizontal",
|
||||
"direction", 's', 2, "down", "up") {
|
||||
litest_add_parametrized(tablet_area_set_rectangle, LITEST_TABLET, LITEST_ANY, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
litest_add(tablet_area_set_rectangle_move_outside, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(tablet_area_set_rectangle_move_outside_to_inside, LITEST_TABLET, LITEST_ANY);
|
||||
|
|
@ -7200,10 +7195,8 @@ TEST_COLLECTION(tablet)
|
|||
litest_add_for_device(huion_static_btn_tool_pen, LITEST_HUION_TABLET);
|
||||
litest_add_for_device(huion_static_btn_tool_pen_no_timeout_during_usage, LITEST_HUION_TABLET);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("btn_tool_pen_timeout", 'b');
|
||||
litest_with_parameters(params, "btn_tool_pen_timeout", 'b') {
|
||||
litest_add_parametrized_for_device(huion_static_btn_tool_pen_disable_quirk_on_prox_out, LITEST_HUION_TABLET, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
|
||||
litest_add_for_device(tablet_smoothing, LITEST_WACOM_HID4800_PEN);
|
||||
|
|
@ -7217,18 +7210,17 @@ TEST_COLLECTION(tablet_left_handed)
|
|||
litest_add_for_device(left_handed_artpen_rotation, LITEST_WACOM_INTUOS);
|
||||
litest_add_for_device(no_left_handed, LITEST_WACOM_CINTIQ);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("tablet_from", 'b',
|
||||
"touch_from", 'b',
|
||||
"tablet_to", 'b',
|
||||
"touch_to", 'b');
|
||||
litest_with_parameters(params,
|
||||
"tablet_from", 'b',
|
||||
"touch_from", 'b',
|
||||
"tablet_to", 'b',
|
||||
"touch_to", 'b') {
|
||||
litest_add_parametrized(tablet_rotation_left_handed, LITEST_TABLET, LITEST_ANY, params);
|
||||
litest_add_parametrized(tablet_rotation_left_handed_configuration, LITEST_TABLET, LITEST_ANY, params);
|
||||
litest_add_parametrized(tablet_rotation_left_handed_while_in_prox, LITEST_TABLET, LITEST_ANY, params);
|
||||
litest_add_parametrized(tablet_rotation_left_handed_while_touch_down, LITEST_TABLET, LITEST_ANY, params);
|
||||
litest_add_parametrized(tablet_rotation_left_handed_add_touchpad, LITEST_TABLET, LITEST_ANY, params);
|
||||
litest_add_parametrized(tablet_rotation_left_handed_add_tablet, LITEST_TOUCHPAD, LITEST_ANY, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1366,10 +1366,8 @@ TEST_COLLECTION(touch)
|
|||
litest_add(touch_protocol_a_touch, LITEST_PROTOCOL_A, LITEST_ANY);
|
||||
litest_add(touch_protocol_a_2fg_touch, LITEST_PROTOCOL_A, LITEST_ANY);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("axis", 's', 2, "ABS_X", "ABS_Y");
|
||||
litest_with_parameters(params, "axis", 's', 2, "ABS_X", "ABS_Y") {
|
||||
litest_add_parametrized(touch_initial_state, LITEST_TOUCH, LITEST_PROTOCOL_A, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
|
||||
litest_add(touch_time_usec, LITEST_TOUCH, LITEST_TOUCHPAD);
|
||||
|
|
|
|||
|
|
@ -2277,15 +2277,13 @@ TEST_COLLECTION(touchpad_buttons)
|
|||
litest_add(touchpad_1fg_clickfinger, LITEST_CLICKPAD, LITEST_ANY);
|
||||
litest_add(touchpad_1fg_clickfinger_no_touch, LITEST_CLICKPAD, LITEST_ANY);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("map", 's', 2, "LRM", "LMR");
|
||||
litest_with_parameters(params, "map", 's', 2, "LRM", "LMR") {
|
||||
litest_add_parametrized(touchpad_2fg_clickfinger, LITEST_CLICKPAD, LITEST_ANY, params);
|
||||
litest_add_parametrized(touchpad_3fg_clickfinger, LITEST_CLICKPAD, LITEST_ANY, params);
|
||||
litest_add_parametrized(touchpad_3fg_clickfinger_btntool, LITEST_CLICKPAD, LITEST_ANY, params);
|
||||
litest_add_parametrized(touchpad_2fg_clickfinger_distance, LITEST_CLICKPAD, LITEST_ANY, params);
|
||||
litest_add_parametrized(touchpad_3fg_clickfinger_distance, LITEST_CLICKPAD, LITEST_ANY, params);
|
||||
litest_add_parametrized(touchpad_3fg_clickfinger_distance_btntool, LITEST_CLICKPAD, LITEST_ANY, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
|
||||
litest_add_for_device(touchpad_2fg_clickfinger_bottom, LITEST_SYNAPTICS_TOPBUTTONPAD);
|
||||
|
|
|
|||
|
|
@ -5749,15 +5749,13 @@ TEST_COLLECTION(touchpad_tap)
|
|||
litest_add(touchpad_5fg_tap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH|LITEST_SEMI_MT);
|
||||
litest_add(touchpad_5fg_tap_quickrelease, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH|LITEST_SEMI_MT);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("map", 's', 2, "LRM", "LMR");
|
||||
litest_with_parameters(params, "map", 's', 2, "LRM", "LMR") {
|
||||
litest_add_parametrized(touchpad_2fg_tap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH|LITEST_SEMI_MT, params);
|
||||
litest_add_parametrized(touchpad_2fg_tap_inverted, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params);
|
||||
litest_add_parametrized(touchpad_3fg_tap_btntool, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params);
|
||||
litest_add_parametrized(touchpad_3fg_tap_btntool_inverted, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params);
|
||||
litest_add_parametrized_for_device(touchpad_3fg_tap_btntool_pointerjump, LITEST_SYNAPTICS_TOPBUTTONPAD, params);
|
||||
litest_add_parametrized(touchpad_3fg_tap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
|
||||
litest_add_ranged(touchpad_move_after_touch, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger);
|
||||
|
|
|
|||
|
|
@ -7359,10 +7359,8 @@ TEST_COLLECTION(touchpad)
|
|||
litest_add_for_device(touchpad_trackpoint_buttons_2fg_scroll, LITEST_SYNAPTICS_TRACKPOINT_BUTTONS);
|
||||
litest_add_for_device(touchpad_trackpoint_no_trackpoint, LITEST_SYNAPTICS_TRACKPOINT_BUTTONS);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("axis", 's', 2, "ABS_X", "ABS_Y");
|
||||
litest_with_parameters(params, "axis", 's', 2, "ABS_X", "ABS_Y") {
|
||||
litest_add_parametrized(touchpad_initial_state, LITEST_TOUCHPAD, LITEST_ANY, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
|
||||
litest_add_ranged(touchpad_fingers_down_before_init, LITEST_TOUCHPAD, LITEST_ANY, &five_fingers);
|
||||
|
|
@ -7407,13 +7405,11 @@ TEST_COLLECTION(touchpad)
|
|||
litest_add(touchpad_speed_ignore_finger_edgescroll, LITEST_CLICKPAD, LITEST_SINGLE_TOUCH|LITEST_SEMI_MT);
|
||||
litest_add_for_device(touchpad_speed_ignore_hovering_finger, LITEST_BCM5974);
|
||||
|
||||
{
|
||||
struct litest_parameters *params = litest_parameters_new("mode", 's', 4,
|
||||
"external_mouse", "sendevents",
|
||||
"lid", "tabletmode");
|
||||
litest_with_parameters(params, "mode", 's', 4,
|
||||
"external_mouse", "sendevents",
|
||||
"lid", "tabletmode") {
|
||||
litest_add_parametrized(touchpad_suspend_abba, LITEST_TOUCHPAD, LITEST_ANY, params);
|
||||
litest_add_parametrized(touchpad_suspend_abab, LITEST_TOUCHPAD, LITEST_ANY, params);
|
||||
litest_parameters_unref(params);
|
||||
}
|
||||
|
||||
/* Happens on the "Wacom Intuos Pro M Finger" but our test device
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue