diff --git a/test/test-gestures.c b/test/test-gestures.c index ff775366..79be3d91 100644 --- a/test/test-gestures.c +++ b/test/test-gestures.c @@ -39,7 +39,7 @@ enum hold_gesture_behaviour { }; static void -test_gesture_swipe_3fg(int cardinal, enum hold_gesture_behaviour hold) +test_gesture_swipe_3fg(enum cardinal cardinal, enum hold_gesture_behaviour hold) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; @@ -150,7 +150,7 @@ test_gesture_swipe_3fg(int cardinal, enum hold_gesture_behaviour hold) } static void -test_gesture_swipe_4fg(int cardinal, enum hold_gesture_behaviour hold) +test_gesture_swipe_4fg(enum cardinal cardinal, enum hold_gesture_behaviour hold) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; @@ -288,7 +288,7 @@ test_gesture_swipe_4fg(int cardinal, enum hold_gesture_behaviour hold) } static void -test_gesture_pinch_2fg(int cardinal, enum hold_gesture_behaviour hold) +test_gesture_pinch_2fg(enum cardinal cardinal, enum hold_gesture_behaviour hold) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; @@ -411,7 +411,7 @@ test_gesture_pinch_2fg(int cardinal, enum hold_gesture_behaviour hold) } static void -test_gesture_pinch_3fg(int cardinal, enum hold_gesture_behaviour hold) +test_gesture_pinch_3fg(enum cardinal cardinal, enum hold_gesture_behaviour hold) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; @@ -526,7 +526,7 @@ test_gesture_pinch_3fg(int cardinal, enum hold_gesture_behaviour hold) } static void -test_gesture_pinch_4fg(int cardinal, enum hold_gesture_behaviour hold) +test_gesture_pinch_4fg(enum cardinal cardinal, enum hold_gesture_behaviour hold) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; @@ -648,7 +648,7 @@ test_gesture_pinch_4fg(int cardinal, enum hold_gesture_behaviour hold) } static void -test_gesture_spread(int cardinal, enum hold_gesture_behaviour hold) +test_gesture_spread(enum cardinal cardinal, enum hold_gesture_behaviour hold) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; @@ -946,7 +946,7 @@ END_TEST START_TEST(gestures_swipe_3fg) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_swipe_3fg(cardinal, HOLD_GESTURE_IGNORE); } END_TEST @@ -958,7 +958,7 @@ START_TEST(gestures_swipe_3fg_btntool) struct libinput_event *event; struct libinput_event_gesture *gevent; double dx, dy; - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); double dir_x, dir_y; int cardinals[NCARDINALS][2] = { { 0, 30 }, @@ -1106,7 +1106,7 @@ END_TEST START_TEST(gestures_swipe_4fg) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_swipe_4fg(cardinal, HOLD_GESTURE_IGNORE); } END_TEST @@ -1118,7 +1118,7 @@ START_TEST(gestures_swipe_4fg_btntool) struct libinput_event *event; struct libinput_event_gesture *gevent; double dx, dy; - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); double dir_x, dir_y; int cardinals[NCARDINALS][2] = { { 0, 30 }, @@ -1216,28 +1216,28 @@ END_TEST START_TEST(gestures_pinch) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_pinch_2fg(cardinal, HOLD_GESTURE_IGNORE); } END_TEST START_TEST(gestures_pinch_3fg) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_pinch_3fg(cardinal, HOLD_GESTURE_IGNORE); } END_TEST START_TEST(gestures_pinch_4fg) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_pinch_4fg(cardinal, HOLD_GESTURE_IGNORE); } END_TEST START_TEST(gestures_spread) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_spread(cardinal, HOLD_GESTURE_IGNORE); } END_TEST @@ -1483,7 +1483,7 @@ START_TEST(gestures_hold) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); litest_disable_tap(dev->libinput_device); litest_drain_events(li); @@ -1496,7 +1496,7 @@ START_TEST(gestures_hold_tap_enabled) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); litest_enable_tap(dev->libinput_device); litest_drain_events(li); @@ -1509,7 +1509,7 @@ START_TEST(gestures_hold_cancel) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); litest_disable_tap(dev->libinput_device); litest_drain_events(li); @@ -1522,7 +1522,7 @@ START_TEST(gestures_hold_cancel_tap_enabled) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); litest_enable_tap(dev->libinput_device); litest_drain_events(li); @@ -1533,42 +1533,42 @@ END_TEST START_TEST(gestures_hold_then_swipe_3fg) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_swipe_3fg(cardinal, HOLD_GESTURE_REQUIRE); } END_TEST START_TEST(gestures_hold_then_swipe_4fg) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_swipe_4fg(cardinal, HOLD_GESTURE_REQUIRE); } END_TEST START_TEST(gestures_hold_then_pinch_2fg) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_pinch_2fg(cardinal, HOLD_GESTURE_REQUIRE); } END_TEST START_TEST(gestures_hold_then_pinch_3fg) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_pinch_3fg(cardinal, HOLD_GESTURE_REQUIRE); } END_TEST START_TEST(gestures_hold_then_pinch_4fg) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_pinch_4fg(cardinal, HOLD_GESTURE_REQUIRE); } END_TEST START_TEST(gestures_hold_then_spread) { - int cardinal = _i; /* ranged test */ + enum cardinal cardinal = litest_test_param_get_i32(test_env->params, "direction"); test_gesture_spread(cardinal, HOLD_GESTURE_REQUIRE); } END_TEST @@ -1629,7 +1629,7 @@ START_TEST(gestures_hold_once_tap_n_drag) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -2195,7 +2195,7 @@ START_TEST(gestures_3fg_drag_lock_resume_1fg_tap) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int finger_count = _i; /* ranged test */ + int finger_count = litest_test_param_get_i32(test_env->params, "fingers"); if (litest_slot_count(dev) < 3) return LITEST_NOT_APPLICABLE; @@ -2263,23 +2263,10 @@ END_TEST TEST_COLLECTION(gestures) { - struct range cardinals = { N, N + NCARDINALS }; - struct range range_hold = { 1, 5 }; - struct range range_multifinger_tap = {1, 4}; - struct range range_3fg_drag = { 3, 5 }; - litest_add(gestures_cap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH); litest_add(gestures_nocap, LITEST_ANY, LITEST_TOUCHPAD); - litest_add_ranged(gestures_swipe_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_swipe_3fg_btntool, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); litest_add(gestures_swipe_3fg_btntool_pinch_like, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH); - litest_add_ranged(gestures_swipe_4fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_swipe_4fg_btntool, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_pinch, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_pinch_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_pinch_4fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_spread, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); litest_add(gestures_3fg_buttonarea_scroll, LITEST_CLICKPAD, LITEST_SINGLE_TOUCH); litest_add(gestures_3fg_buttonarea_scroll_btntool, LITEST_CLICKPAD, LITEST_SINGLE_TOUCH); @@ -2292,20 +2279,40 @@ TEST_COLLECTION(gestures) litest_add(gestures_hold_config_is_available, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH|LITEST_SEMI_MT); litest_add(gestures_hold_config_is_not_available, LITEST_TOUCHPAD|LITEST_SEMI_MT, LITEST_ANY); - litest_add_ranged(gestures_hold, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_hold); - litest_add_ranged(gestures_hold_tap_enabled, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_hold); - litest_add_ranged(gestures_hold_cancel, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_hold); - litest_add_ranged(gestures_hold_cancel_tap_enabled, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_hold); - litest_add_ranged(gestures_hold_then_swipe_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_hold_then_swipe_4fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_hold_then_pinch_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_hold_then_pinch_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_hold_then_pinch_4fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); - litest_add_ranged(gestures_hold_then_spread, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &cardinals); + litest_with_parameters(params, "fingers", 'i', 4, 1, 2, 3, 4) { + litest_add_parametrized(gestures_hold, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_hold_tap_enabled, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_hold_cancel, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_hold_cancel_tap_enabled, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + } + + litest_with_parameters(params, "direction", 'I', 8, litest_named_i32(N), litest_named_i32(NE), + litest_named_i32(E), litest_named_i32(SE), + litest_named_i32(S), litest_named_i32(SW), + litest_named_i32(W), litest_named_i32(NW)) { + litest_add_parametrized(gestures_swipe_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_swipe_3fg_btntool, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_swipe_4fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_swipe_4fg_btntool, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_pinch, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_pinch_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_pinch_4fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_spread, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + + litest_add_parametrized(gestures_hold_then_swipe_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_hold_then_swipe_4fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_hold_then_pinch_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_hold_then_pinch_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_hold_then_pinch_4fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(gestures_hold_then_spread, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + } + litest_add(gestures_hold_then_3fg_buttonarea_scroll, LITEST_CLICKPAD, LITEST_SINGLE_TOUCH); litest_add(gestures_hold_once_on_double_tap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH); - litest_add_ranged(gestures_hold_once_tap_n_drag, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3) { + litest_add_parametrized(gestures_hold_once_tap_n_drag, LITEST_TOUCHPAD, LITEST_ANY, params); + } litest_add(gestures_hold_and_motion_before_timeout, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH); litest_add(gestures_hold_and_motion_after_timeout, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH); @@ -2333,7 +2340,9 @@ TEST_COLLECTION(gestures) litest_add_parametrized(gestures_3fg_drag_lock_resume_2fg_scroll, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); litest_parameters_unref(params); } - litest_add_ranged(gestures_3fg_drag_lock_resume_1fg_tap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_3fg_drag); + litest_with_parameters(params, "fingers", 'i', 2, 3, 4) { + litest_add_parametrized(gestures_3fg_drag_lock_resume_1fg_tap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + } /* Timing-sensitive test, valgrind is too slow */ diff --git a/test/test-pointer.c b/test/test-pointer.c index 3c1c3712..a063b0e0 100644 --- a/test/test-pointer.c +++ b/test/test-pointer.c @@ -1089,7 +1089,7 @@ START_TEST(pointer_scroll_with_rotation) struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; struct libinput_device *device = dev->libinput_device; - double angle = _i * 20; /* ranged test */ + double angle = litest_test_param_get_double(test_env->params, "angle"); litest_drain_events(li); libinput_device_config_rotation_set_angle(device, angle); @@ -1951,15 +1951,14 @@ enum mb_buttonorder { LRRL, RRLL, RLRL, - RLLR, - _MB_BUTTONORDER_COUNT + RLLR }; START_TEST(pointer_scroll_button_lock_middlebutton) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - enum mb_buttonorder buttonorder = _i; /* ranged test */ + enum mb_buttonorder buttonorder = litest_test_param_get_i32(test_env->params, "buttonorder"); if (!libinput_device_config_middle_emulation_is_available(dev->libinput_device)) return LITEST_NOT_APPLICABLE; @@ -3163,7 +3162,7 @@ START_TEST(debounce_bounce) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - unsigned int button = _i; /* ranged test */ + unsigned int button = litest_test_param_get_i32(test_env->params, "button"); if (!libinput_device_pointer_has_button(dev->libinput_device, button)) @@ -3210,7 +3209,7 @@ START_TEST(debounce_bounce_high_delay) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - unsigned int button = _i; /* ranged test */ + unsigned int button = litest_test_param_get_i32(test_env->params, "button"); if (!libinput_device_pointer_has_button(dev->libinput_device, button)) @@ -3343,7 +3342,7 @@ START_TEST(debounce_spurious) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - unsigned int button = _i; /* ranged test */ + unsigned int button = litest_test_param_get_i32(test_env->params, "button"); if (!libinput_device_pointer_has_button(dev->libinput_device, button)) @@ -3763,10 +3762,6 @@ END_TEST TEST_COLLECTION(pointer) { - struct range buttons = {BTN_LEFT, BTN_TASK + 1}; - struct range buttonorder = {0, _MB_BUTTONORDER_COUNT}; - struct range rotation_20deg = {0, 18}; /* steps of 20 degrees */ - litest_add(pointer_motion_relative, LITEST_RELATIVE, LITEST_POINTINGSTICK); litest_add_for_device(pointer_motion_relative_zero, LITEST_MOUSE); litest_with_parameters(params, @@ -3806,7 +3801,14 @@ TEST_COLLECTION(pointer) litest_add(pointer_scroll_button_lock_enable_while_down_just_lock, LITEST_RELATIVE|LITEST_BUTTON, LITEST_ANY); litest_add(pointer_scroll_button_lock_otherbutton, LITEST_RELATIVE|LITEST_BUTTON, LITEST_ANY); litest_add(pointer_scroll_button_lock_enable_while_otherbutton_down, LITEST_RELATIVE|LITEST_BUTTON, LITEST_ANY); - litest_add_ranged(pointer_scroll_button_lock_middlebutton, LITEST_RELATIVE|LITEST_BUTTON, LITEST_ANY, &buttonorder); + litest_with_parameters(params, "buttonorder", 'I', 6, litest_named_i32(LLRR), + litest_named_i32(LRLR), + litest_named_i32(LRRL), + litest_named_i32(RRLL), + litest_named_i32(RLRL), + litest_named_i32(RLLR)) { + litest_add_parametrized(pointer_scroll_button_lock_middlebutton, LITEST_RELATIVE|LITEST_BUTTON, LITEST_ANY, params); + } litest_add(pointer_scroll_button_lock_doubleclick_nomove, LITEST_RELATIVE|LITEST_BUTTON, LITEST_ANY); litest_add(pointer_scroll_nowheel_defaults, LITEST_RELATIVE|LITEST_BUTTON, LITEST_WHEEL); @@ -3816,7 +3818,10 @@ TEST_COLLECTION(pointer) litest_add(pointer_scroll_natural_enable_config, LITEST_WHEEL, LITEST_TABLET); litest_add(pointer_scroll_natural_wheel, LITEST_WHEEL, LITEST_TABLET); litest_add(pointer_scroll_has_axis_invalid, LITEST_WHEEL, LITEST_TABLET); - litest_add_ranged(pointer_scroll_with_rotation, LITEST_WHEEL, LITEST_TABLET, &rotation_20deg); + litest_with_parameters(params, "angle", 'd', 18, 0.0, 20.0, 40.0, 60.0, 80.0, 100.0, 120.0, 140.0, 160.0, + 180.0, 200.0, 220.0, 240.0, 260.0, 280.0, 300.0, 320.0, 340.0) { + litest_add_parametrized(pointer_scroll_with_rotation, LITEST_WHEEL, LITEST_TABLET, params); + } litest_add(pointer_no_calibration, LITEST_ANY, LITEST_TOUCH|LITEST_SINGLE_TOUCH|LITEST_ABSOLUTE|LITEST_PROTOCOL_A|LITEST_TABLET); @@ -3862,12 +3867,21 @@ TEST_COLLECTION(pointer) litest_add(pointer_time_usec, LITEST_RELATIVE, LITEST_ANY); - litest_add_ranged(debounce_bounce, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, &buttons); - /* Timing-sensitive test, valgrind is too slow */ - if (!RUNNING_ON_VALGRIND) - litest_add_ranged(debounce_bounce_high_delay, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, &buttons); + litest_with_parameters(params, "button", 'I', 8, litest_named_i32(BTN_LEFT), + litest_named_i32(BTN_RIGHT), + litest_named_i32(BTN_MIDDLE), + litest_named_i32(BTN_SIDE), + litest_named_i32(BTN_EXTRA), + litest_named_i32(BTN_FORWARD), + litest_named_i32(BTN_BACK), + litest_named_i32(BTN_TASK)) { + litest_add_parametrized(debounce_bounce, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, params); + litest_add_parametrized(debounce_spurious, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, params); + /* Timing-sensitive test, valgrind is too slow */ + if (!RUNNING_ON_VALGRIND) + litest_add_parametrized(debounce_bounce_high_delay, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, params); + } litest_add(debounce_bounce_check_immediate, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); - litest_add_ranged(debounce_spurious, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE, &buttons); litest_add(debounce_spurious_multibounce, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); if (!RUNNING_ON_VALGRIND) litest_add(debounce_spurious_trigger_high_delay, LITEST_BUTTON, LITEST_TOUCHPAD|LITEST_NO_DEBOUNCE); diff --git a/test/test-quirks.c b/test/test-quirks.c index 7a1571ea..fa6bdccc 100644 --- a/test/test-quirks.c +++ b/test/test-quirks.c @@ -1447,7 +1447,7 @@ START_TEST(quirks_model_override) struct data_dir dd; struct quirks *q; bool isset; - bool set = _i; /* ranged test */ + bool set = litest_test_param_get_bool(test_env->params, "enable_model"); /* Test model quirks override by setting, then unsetting (or the other way round) */ @@ -1605,8 +1605,6 @@ END_TEST TEST_COLLECTION(quirks) { - struct range boolean = {0, 2}; - litest_add_deviceless(quirks_invalid_dir); litest_add_deviceless(quirks_empty_dir); @@ -1658,7 +1656,9 @@ TEST_COLLECTION(quirks) litest_add_for_device(quirks_model_one, LITEST_MOUSE); litest_add_for_device(quirks_model_zero, LITEST_MOUSE); - litest_add_ranged_for_device(quirks_model_override, LITEST_MOUSE, &boolean); + litest_with_parameters(params, "enable_model", 'b') { + litest_add_parametrized_for_device(quirks_model_override, LITEST_MOUSE, params); + } litest_add(quirks_model_alps, LITEST_TOUCHPAD, LITEST_ANY); litest_add(quirks_model_wacom, LITEST_TOUCHPAD, LITEST_ANY); diff --git a/test/test-touchpad-buttons.c b/test/test-touchpad-buttons.c index 09699eb9..b40b26c8 100644 --- a/test/test-touchpad-buttons.c +++ b/test/test-touchpad-buttons.c @@ -1069,7 +1069,7 @@ START_TEST(touchpad_clickfinger_click_drag) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button; int nslots = litest_slot_count(dev); @@ -2242,8 +2242,6 @@ END_TEST TEST_COLLECTION(touchpad_buttons) { - struct range finger_count = {1, 4}; - litest_add(touchpad_button, LITEST_TOUCHPAD, LITEST_CLICKPAD); litest_add(touchpad_1fg_clickfinger, LITEST_CLICKPAD, LITEST_ANY); @@ -2279,7 +2277,9 @@ TEST_COLLECTION(touchpad_buttons) litest_add_for_device(touchpad_1fg_clickfinger_no_touch_phantomclicks, LITEST_SYNAPTICS_PHANTOMCLICKS); - litest_add_ranged(touchpad_clickfinger_click_drag, LITEST_CLICKPAD, LITEST_ANY, &finger_count); + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3) { + litest_add_parametrized(touchpad_clickfinger_click_drag, LITEST_CLICKPAD, LITEST_ANY, params); + } litest_add(touchpad_click_defaults_clickfinger, LITEST_APPLE_CLICKPAD, LITEST_ANY); litest_add(touchpad_click_default_clickfinger_map, LITEST_APPLE_CLICKPAD, LITEST_ANY); diff --git a/test/test-touchpad-tap.c b/test/test-touchpad-tap.c index be5fabf5..a3975055 100644 --- a/test/test-touchpad-tap.c +++ b/test/test-touchpad-tap.c @@ -62,8 +62,8 @@ START_TEST(touchpad_doubletap) struct libinput_event *event; struct libinput_event_pointer *ptrev; uint32_t oldtime, curtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - nfingers2 = _i / 3; + int nfingers = litest_test_param_get_i32(test_env->params, "fingers_1st"), + nfingers2 = litest_test_param_get_i32(test_env->params, "fingers_2nd"); unsigned int button = 0, button2 = 0; @@ -203,8 +203,8 @@ START_TEST(touchpad_multitap) struct libinput_event_pointer *ptrev; uint32_t oldtime = 0, curtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -293,8 +293,8 @@ START_TEST(touchpad_multitap_n_drag_move) struct libinput_event_pointer *ptrev; uint32_t oldtime = 0, curtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -402,8 +402,8 @@ START_TEST(touchpad_multitap_n_drag_2fg) struct libinput_event_pointer *ptrev; uint32_t oldtime = 0, curtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -519,8 +519,8 @@ START_TEST(touchpad_multitap_n_drag_click) struct libinput_event_pointer *ptrev; uint32_t oldtime = 0, curtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -620,8 +620,8 @@ START_TEST(touchpad_multitap_timeout) struct libinput_event *event; struct libinput_event_pointer *ptrev; uint32_t ptime, rtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -710,8 +710,8 @@ START_TEST(touchpad_multitap_n_drag_timeout) struct libinput_event_pointer *ptrev; uint32_t oldtime = 0, curtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -821,8 +821,8 @@ START_TEST(touchpad_multitap_n_drag_high_delay) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -917,8 +917,8 @@ START_TEST(touchpad_multitap_n_drag_tap) struct libinput_event_pointer *ptrev; uint32_t oldtime = 0, curtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -1032,8 +1032,8 @@ START_TEST(touchpad_multitap_n_drag_tap_click) struct libinput_event_pointer *ptrev; uint32_t oldtime = 0, curtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -1156,7 +1156,7 @@ START_TEST(touchpad_tap_n_drag) struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; struct libinput_event *event; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -1238,7 +1238,7 @@ START_TEST(touchpad_tap_n_drag_draglock) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -1319,8 +1319,8 @@ START_TEST(touchpad_tap_n_drag_draglock_tap) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = (_i % 3) + 1, /* ranged test */ - nfingers2 = _i / 3; + int nfingers = litest_test_param_get_i32(test_env->params, "fingers_1st"), + nfingers2 = litest_test_param_get_i32(test_env->params, "fingers_2nd"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -1426,7 +1426,7 @@ START_TEST(touchpad_tap_n_drag_draglock_tap_click) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -1511,7 +1511,7 @@ START_TEST(touchpad_tap_n_drag_draglock_timeout) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -1582,7 +1582,7 @@ START_TEST(touchpad_tap_n_drag_draglock_sticky) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -1665,7 +1665,7 @@ START_TEST(touchpad_tap_n_drag_2fg) */ struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -1743,7 +1743,7 @@ START_TEST(touchpad_tap_n_drag_2fg_scroll) */ struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -1823,7 +1823,7 @@ START_TEST(touchpad_tap_n_drag_draglock_2fg_scroll) */ struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -1908,7 +1908,7 @@ START_TEST(touchpad_tap_n_drag_3fg_btntool) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (litest_slot_count(dev) > 2 || @@ -2007,7 +2007,7 @@ START_TEST(touchpad_tap_n_drag_3fg) */ struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (litest_slot_count(dev) < 3) @@ -2093,7 +2093,7 @@ START_TEST(touchpad_tap_n_drag_3fg_swipe) */ struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (litest_slot_count(dev) < 3) @@ -2184,7 +2184,7 @@ START_TEST(touchpad_tap_n_drag_draglock_3fg_swipe) */ struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (litest_slot_count(dev) < 3) @@ -2710,7 +2710,7 @@ START_TEST(touchpad_double_tap_click) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -2786,7 +2786,7 @@ START_TEST(touchpad_tap_n_drag_click) struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -3499,7 +3499,7 @@ START_TEST(touchpad_move_after_touch) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); if (nfingers > litest_slot_count(dev)) return LITEST_NOT_APPLICABLE; @@ -3959,7 +3959,7 @@ START_TEST(touchpad_drag_disabled) { struct litest_device *dev = litest_current_device(); struct libinput *li = dev->libinput; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -4034,7 +4034,7 @@ START_TEST(touchpad_drag_disabled_immediate) struct libinput_event *ev; struct libinput_event_pointer *ptrev; uint64_t press_time, release_time; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (nfingers > litest_slot_count(dev)) @@ -4112,8 +4112,8 @@ START_TEST(touchpad_drag_disabled_multitap_no_drag) struct libinput_event_pointer *ptrev; uint32_t oldtime = 0, curtime; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -4413,7 +4413,7 @@ START_TEST(touchpad_tap_palm_on_tapped) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (!touchpad_has_palm_pressure(dev)) @@ -4495,7 +4495,7 @@ START_TEST(touchpad_tap_palm_on_tapped_palm_down) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (!touchpad_has_palm_pressure(dev)) @@ -4577,8 +4577,8 @@ START_TEST(touchpad_tap_palm_on_tapped_doubletap) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int nfingers = (_i % 3) + 1, /* ranged test */ - nfingers2 = _i / 3; + int nfingers = litest_test_param_get_i32(test_env->params, "fingers_1st"), + nfingers2 = litest_test_param_get_i32(test_env->params, "fingers_2nd"); unsigned int button = 0, button2 = 0; @@ -4708,7 +4708,7 @@ START_TEST(touchpad_tap_palm_on_drag) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (!touchpad_has_palm_pressure(dev)) @@ -4791,9 +4791,10 @@ START_TEST(touchpad_tap_palm_on_drag_2fg) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int this = _i % 2, /* ranged test */ - other = (_i + 1) % 2, - nfingers = _i / 2; + int which = litest_test_param_get_i32(test_env->params, "which"), + this = which % 2, + other = (which + 1) % 2, + nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (!touchpad_has_palm_pressure(dev)) @@ -4883,8 +4884,8 @@ START_TEST(touchpad_tap_palm_on_touch_2) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int which = _i; /* ranged test */ - int this = which % 2, + int which = litest_test_param_get_i32(test_env->params, "which"), + this = which % 2, other = (which + 1) % 2; if (!touchpad_has_palm_pressure(dev)) @@ -4924,8 +4925,8 @@ START_TEST(touchpad_tap_palm_on_touch_2_retouch) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int which = _i; /* ranged test */ - int this = which % 2, + int which = litest_test_param_get_i32(test_env->params, "which"), + this = which % 2, other = (which + 1) % 2; if (!touchpad_has_palm_pressure(dev)) @@ -4969,8 +4970,8 @@ START_TEST(touchpad_tap_palm_on_touch_3) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int which = _i; /* ranged test */ - int this = which % 3; + int which = litest_test_param_get_i32(test_env->params, "which"), + this = which % 3; if (litest_slot_count(dev) < 3) return LITEST_NOT_APPLICABLE; @@ -5016,8 +5017,8 @@ START_TEST(touchpad_tap_palm_on_touch_3_retouch) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int which = _i; /* ranged test */ - int this = which % 3; + int which = litest_test_param_get_i32(test_env->params, "which"), + this = which % 3; if (litest_slot_count(dev) < 3) return LITEST_NOT_APPLICABLE; @@ -5068,8 +5069,8 @@ START_TEST(touchpad_tap_palm_on_touch_4) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int which = _i; /* ranged test */ - int this = which % 4; + int which = litest_test_param_get_i32(test_env->params, "which"), + this = which % 4; if (litest_slot_count(dev) < 4) return LITEST_NOT_APPLICABLE; @@ -5108,7 +5109,7 @@ START_TEST(touchpad_tap_palm_after_tap) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int nfingers = _i; /* ranged test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int button = 0; if (!touchpad_has_palm_pressure(dev)) @@ -5187,8 +5188,8 @@ START_TEST(touchpad_tap_palm_multitap) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -5273,8 +5274,8 @@ START_TEST(touchpad_tap_palm_multitap_timeout) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -5358,8 +5359,8 @@ START_TEST(touchpad_tap_palm_multitap_down_again) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -5474,8 +5475,8 @@ START_TEST(touchpad_tap_palm_multitap_click) { ABS_MT_PRESSURE, 75 }, { -1, 0 } }; - int nfingers = (_i % 3) + 1, /* ranged test */ - range = _i / 3, /* looped test */ + int nfingers = litest_test_param_get_i32(test_env->params, "fingers"), + range = litest_test_param_get_i32(test_env->params, "taps"), ntaps; unsigned int button = 0; @@ -5694,15 +5695,17 @@ END_TEST TEST_COLLECTION(touchpad_tap) { - struct range multitap_range = {9, 15}; - struct range range_multifinger = {2, 5}; - struct range range_multifinger_tap = {1, 4}; - struct range range_multifinger_doubletap = {3, 12}; - litest_add(touchpad_1fg_tap, LITEST_TOUCHPAD, LITEST_ANY); - litest_add_ranged(touchpad_doubletap, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_doubletap); - litest_add_ranged(touchpad_multitap, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_multitap_timeout, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); + litest_with_parameters(params, "fingers_1st", 'i', 3, 1, 2, 3, + "fingers_2nd", 'i', 3, 1, 2, 3) { + litest_add_parametrized(touchpad_doubletap, LITEST_TOUCHPAD, LITEST_ANY, params); + } + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3, + "taps", 'i', 2, 3, 4) { + litest_add_parametrized(touchpad_multitap, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_multitap_timeout, LITEST_TOUCHPAD, LITEST_ANY, params); + } + litest_add(touchpad_2fg_tap_move_on_release, LITEST_TOUCHPAD|LITEST_SEMI_MT, LITEST_SINGLE_TOUCH); litest_add(touchpad_2fg_tap_n_hold_first, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH); litest_add(touchpad_2fg_tap_n_hold_second, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH); @@ -5736,11 +5739,15 @@ TEST_COLLECTION(touchpad_tap) litest_add_parametrized(touchpad_3fg_tap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); } - litest_add_ranged(touchpad_move_after_touch, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger); + litest_with_parameters(params, "fingers", 'i', 3, 2, 3, 4) { + litest_add_parametrized(touchpad_move_after_touch, LITEST_TOUCHPAD, LITEST_ANY, params); + } /* Real buttons don't interfere with tapping, so don't run those for pads with buttons */ - litest_add_ranged(touchpad_double_tap_click, LITEST_CLICKPAD, LITEST_ANY, &range_multifinger_tap); + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3) { + litest_add_parametrized(touchpad_double_tap_click, LITEST_CLICKPAD, LITEST_ANY, params); + } litest_add(touchpad_tap_default_disabled, LITEST_TOUCHPAD|LITEST_BUTTON, LITEST_ANY); litest_add(touchpad_tap_default_enabled, LITEST_TOUCHPAD, LITEST_BUTTON); @@ -5761,78 +5768,107 @@ TEST_COLLECTION(touchpad_tap) TEST_COLLECTION(touchpad_tap_drag) { - struct range any_tap_range = {3, 12}; - struct range multitap_range = {9, 15}; - struct range range_multifinger_tap = {1, 4}; - struct range range_multifinger_doubletap = {3, 12}; - litest_add(touchpad_drag_lock_default_disabled, LITEST_TOUCHPAD, LITEST_ANY); litest_add(touchpad_drag_lock_default_unavailable, LITEST_ANY, LITEST_TOUCHPAD); - litest_add_ranged(touchpad_tap_n_drag_click, LITEST_CLICKPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_multitap_n_drag_tap_click, LITEST_CLICKPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_tap_n_drag_draglock_tap_click, LITEST_CLICKPAD, LITEST_ANY, &range_multifinger_tap); + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3, + "taps", 'i', 2, 3, 4) { + litest_add_parametrized(touchpad_multitap_n_drag_tap_click, LITEST_CLICKPAD, LITEST_ANY, params); - litest_add_ranged(touchpad_multitap_n_drag_timeout, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_multitap_n_drag_high_delay, LITEST_TOUCHPAD, LITEST_ANY, &any_tap_range); - litest_add_ranged(touchpad_multitap_n_drag_tap, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_multitap_n_drag_move, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_multitap_n_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &multitap_range); - litest_add_ranged(touchpad_multitap_n_drag_click, LITEST_CLICKPAD, LITEST_ANY, &multitap_range); + litest_add_parametrized(touchpad_multitap_n_drag_timeout, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_multitap_n_drag_tap, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_multitap_n_drag_move, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_multitap_n_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_multitap_n_drag_click, LITEST_CLICKPAD, LITEST_ANY, params); - litest_add_ranged(touchpad_tap_n_drag, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_2fg_scroll, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock_2fg_scroll, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_3fg_btntool, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH|LITEST_APPLE_CLICKPAD, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_3fg_swipe, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock_3fg_swipe, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock_tap, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_doubletap); - litest_add_ranged(touchpad_tap_n_drag_draglock_timeout, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_n_drag_draglock_sticky, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); + litest_add_parametrized(touchpad_drag_disabled_multitap_no_drag, LITEST_TOUCHPAD, LITEST_ANY, params); + } + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3, + "taps", 'i', 3, 1, 2, 3) { + litest_add_parametrized(touchpad_multitap_n_drag_high_delay, LITEST_TOUCHPAD, LITEST_ANY, params); + } + + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3) { + litest_add_parametrized(touchpad_tap_n_drag_click, LITEST_CLICKPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_tap_n_drag_draglock_tap_click, LITEST_CLICKPAD, LITEST_ANY, params); + + litest_add_parametrized(touchpad_tap_n_drag, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_tap_n_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_tap_n_drag_2fg_scroll, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_tap_n_drag_draglock_2fg_scroll, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_tap_n_drag_3fg_btntool, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH|LITEST_APPLE_CLICKPAD, params); + litest_add_parametrized(touchpad_tap_n_drag_3fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_tap_n_drag_3fg_swipe, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_tap_n_drag_draglock_3fg_swipe, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_tap_n_drag_draglock, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_tap_n_drag_draglock_timeout, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_tap_n_drag_draglock_sticky, LITEST_TOUCHPAD, LITEST_ANY, params); + + litest_add_parametrized(touchpad_drag_disabled, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_drag_disabled_immediate, LITEST_TOUCHPAD, LITEST_ANY, params); + } + + litest_with_parameters(params, "fingers_1st", 'i', 3, 1, 2, 3, + "fingers_2nd", 'i', 3, 1, 2, 3) { + litest_add_parametrized(touchpad_tap_n_drag_draglock_tap, LITEST_TOUCHPAD, LITEST_ANY, params); + } litest_add(touchpad_drag_default_disabled, LITEST_ANY, LITEST_TOUCHPAD); litest_add(touchpad_drag_default_enabled, LITEST_TOUCHPAD, LITEST_BUTTON); litest_add(touchpad_drag_config_invalid, LITEST_TOUCHPAD, LITEST_ANY); litest_add(touchpad_drag_config_unsupported, LITEST_ANY, LITEST_TOUCHPAD); litest_add(touchpad_drag_config_enabledisable, LITEST_TOUCHPAD, LITEST_ANY); - litest_add_ranged(touchpad_drag_disabled, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_drag_disabled_immediate, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_drag_disabled_multitap_no_drag, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); } TEST_COLLECTION(touchpad_tap_palm) { - struct range multitap_range = {9, 15}; - struct range range_multifinger_tap = {1, 4}; - struct range range_multifinger_doubletap = {3, 12}; - struct range range_2fg = {0, 2}; - struct range range_2fg_multifinger_tap = {2, 8}; - struct range range_3fg = {0, 3}; - struct range range_4fg = {0, 4}; - litest_add(touchpad_tap_palm_on_idle, LITEST_TOUCHPAD, LITEST_ANY); litest_add(touchpad_tap_palm_on_touch, LITEST_TOUCHPAD, LITEST_ANY); litest_add(touchpad_tap_palm_on_touch_hold_timeout, LITEST_TOUCHPAD, LITEST_ANY); litest_add(touchpad_tap_palm_on_touch_hold_move, LITEST_TOUCHPAD, LITEST_ANY); - litest_add_ranged(touchpad_tap_palm_on_tapped, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_palm_on_tapped_palm_down, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_palm_on_tapped_doubletap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_multifinger_doubletap); - litest_add_ranged(touchpad_tap_palm_on_drag, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_palm_on_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_2fg_multifinger_tap); - litest_add_ranged(touchpad_tap_palm_on_touch_2, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_2fg); - litest_add_ranged(touchpad_tap_palm_on_touch_2_retouch, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_2fg); - litest_add_ranged(touchpad_tap_palm_on_touch_3, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_3fg); - litest_add_ranged(touchpad_tap_palm_on_touch_3_retouch, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_3fg); - litest_add_ranged(touchpad_tap_palm_on_touch_4, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &range_4fg); - litest_add_ranged(touchpad_tap_palm_after_tap, LITEST_TOUCHPAD, LITEST_ANY, &range_multifinger_tap); - litest_add_ranged(touchpad_tap_palm_multitap, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_tap_palm_multitap_timeout, LITEST_TOUCHPAD, LITEST_ANY, &multitap_range); - litest_add_ranged(touchpad_tap_palm_multitap_down_again, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, &multitap_range); - litest_add_ranged(touchpad_tap_palm_multitap_click, LITEST_CLICKPAD, LITEST_ANY, &multitap_range); + + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3) { + litest_add_parametrized(touchpad_tap_palm_on_tapped, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_tap_palm_on_tapped_palm_down, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_tap_palm_on_drag, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_tap_palm_after_tap, LITEST_TOUCHPAD, LITEST_ANY, params); + } + + litest_with_parameters(params, "fingers_1st", 'i', 3, 1, 2, 3, + "fingers_2nd", 'i', 3, 1, 2, 3) { + litest_add_parametrized(touchpad_tap_palm_on_tapped_doubletap, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + } + + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3, + "which", 'I', 2, litest_named_i32(0, "first"), litest_named_i32(1, "second")) { + litest_add_parametrized(touchpad_tap_palm_on_drag_2fg, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + } + + litest_with_parameters(params, "which", 'I', 2, litest_named_i32(0, "first"), litest_named_i32(1, "second")) { + litest_add_parametrized(touchpad_tap_palm_on_touch_2, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_tap_palm_on_touch_2_retouch, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + } + + litest_with_parameters(params, "which", 'I', 3, litest_named_i32(0, "first"), litest_named_i32(1, "second"), + litest_named_i32(2, "third")) { + litest_add_parametrized(touchpad_tap_palm_on_touch_3, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_tap_palm_on_touch_3_retouch, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + } + + litest_with_parameters(params, "which", 'I', 4, litest_named_i32(0, "first"), litest_named_i32(1, "second"), + litest_named_i32(2, "third"), litest_named_i32(3, "fourth")) { + litest_add_parametrized(touchpad_tap_palm_on_touch_4, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + } + + litest_with_parameters(params, "fingers", 'i', 3, 1, 2, 3, + "taps", 'i', 3, 3, 4, 5) { + litest_add_parametrized(touchpad_tap_palm_multitap, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_tap_palm_multitap_timeout, LITEST_TOUCHPAD, LITEST_ANY, params); + litest_add_parametrized(touchpad_tap_palm_multitap_down_again, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH, params); + litest_add_parametrized(touchpad_tap_palm_multitap_click, LITEST_CLICKPAD, LITEST_ANY, params); + } + litest_add(touchpad_tap_palm_click_then_tap, LITEST_CLICKPAD, LITEST_ANY); litest_add(touchpad_tap_palm_dwt_tap, LITEST_TOUCHPAD, LITEST_ANY); litest_add(touchpad_tap_palm_3fg_start, LITEST_TOUCHPAD, LITEST_ANY); diff --git a/test/test-touchpad.c b/test/test-touchpad.c index 8c089660..f88ed03f 100644 --- a/test/test-touchpad.c +++ b/test/test-touchpad.c @@ -3679,7 +3679,7 @@ START_TEST(touchpad_fingers_down_before_init) struct litest_device *dev = litest_current_device(); struct libinput *li; - int finger_count = _i; /* looped test */ + int finger_count = litest_test_param_get_i32(test_env->params, "fingers"); unsigned int map[] = {0, BTN_TOOL_PEN, BTN_TOOL_DOUBLETAP, BTN_TOOL_TRIPLETAP, BTN_TOOL_QUADTAP, BTN_TOOL_QUINTTAP}; @@ -5317,7 +5317,7 @@ START_TEST(touchpad_dwt_multiple_keyboards_remove) struct litest_device *touchpad = litest_current_device(); struct litest_device *keyboards[2]; struct libinput *li = touchpad->libinput; - int which = _i; /* ranged test */ + int which = litest_test_param_get_i32(test_env->params, "which"); struct litest_device *removed, *remained; litest_assert_int_le(which, 1); @@ -7264,8 +7264,6 @@ END_TEST TEST_COLLECTION(touchpad) { - struct range five_fingers = {1, 6}; - litest_add(touchpad_1fg_motion, LITEST_TOUCHPAD, LITEST_ANY); litest_add(touchpad_2fg_no_motion, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH); @@ -7338,7 +7336,9 @@ TEST_COLLECTION(touchpad) litest_add_parametrized(touchpad_initial_state, LITEST_TOUCHPAD, LITEST_ANY, params); } - litest_add_ranged(touchpad_fingers_down_before_init, LITEST_TOUCHPAD, LITEST_ANY, &five_fingers); + litest_with_parameters(params, "fingers", 'i', 5, 1, 2, 3, 4, 5) { + litest_add_parametrized(touchpad_fingers_down_before_init, LITEST_TOUCHPAD, LITEST_ANY, params); + } litest_add(touchpad_state_after_syn_dropped_2fg_change, LITEST_TOUCHPAD, LITEST_SINGLE_TOUCH); litest_add(touchpad_thumb_lower_area_movement, LITEST_CLICKPAD, LITEST_ANY); @@ -7397,8 +7397,6 @@ TEST_COLLECTION(touchpad) TEST_COLLECTION(touchpad_dwt) { - struct range twice = {0, 2 }; - litest_add(touchpad_dwt, LITEST_TOUCHPAD, LITEST_ANY); litest_add_for_device(touchpad_dwt_ext_and_int_keyboard, LITEST_SYNAPTICS_I2C); litest_add(touchpad_dwt_enable_touch, LITEST_TOUCHPAD, LITEST_ANY); @@ -7438,7 +7436,9 @@ TEST_COLLECTION(touchpad_dwt) litest_add_for_device(touchpad_dwt_multiple_keyboards, LITEST_SYNAPTICS_I2C); litest_add_for_device(touchpad_dwt_multiple_keyboards_bothkeys, LITEST_SYNAPTICS_I2C); litest_add_for_device(touchpad_dwt_multiple_keyboards_bothkeys_modifier, LITEST_SYNAPTICS_I2C); - litest_add_ranged_for_device(touchpad_dwt_multiple_keyboards_remove, LITEST_SYNAPTICS_I2C, &twice); + litest_with_parameters(params, "which", 'I', 2, litest_named_i32(0, "first"), litest_named_i32(1, "second")) { + litest_add_parametrized_for_device(touchpad_dwt_multiple_keyboards_remove, LITEST_SYNAPTICS_I2C, params); + } litest_add_for_device(touchpad_dwt_remove_before_keyboard, LITEST_KEYBOARD); }