diff --git a/test/litest.h b/test/litest.h index 993355d8..380c9e44 100644 --- a/test/litest.h +++ b/test/litest.h @@ -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]; diff --git a/test/test-log.c b/test/test-log.c index 914d224c..59ec9e06 100644 --- a/test/test-log.c +++ b/test/test-log.c @@ -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); } } diff --git a/test/test-pointer.c b/test/test-pointer.c index 34f18225..6b662d4d 100644 --- a/test/test-pointer.c +++ b/test/test-pointer.c @@ -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); diff --git a/test/test-switch.c b/test/test-switch.c index daeaab43..1361bac6 100644 --- a/test/test-switch.c +++ b/test/test-switch.c @@ -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); diff --git a/test/test-tablet.c b/test/test-tablet.c index f803f8de..a88b7e59 100644 --- a/test/test-tablet.c +++ b/test/test-tablet.c @@ -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); } diff --git a/test/test-touch.c b/test/test-touch.c index 2ba7078e..bc33bbb5 100644 --- a/test/test-touch.c +++ b/test/test-touch.c @@ -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); diff --git a/test/test-touchpad-buttons.c b/test/test-touchpad-buttons.c index fbc87c47..5f1d2999 100644 --- a/test/test-touchpad-buttons.c +++ b/test/test-touchpad-buttons.c @@ -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); diff --git a/test/test-touchpad-tap.c b/test/test-touchpad-tap.c index 0b160059..a316e81c 100644 --- a/test/test-touchpad-tap.c +++ b/test/test-touchpad-tap.c @@ -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); diff --git a/test/test-touchpad.c b/test/test-touchpad.c index b28b82c2..7c9d90d2 100644 --- a/test/test-touchpad.c +++ b/test/test-touchpad.c @@ -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