mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-02-03 18:10:28 +01:00
test: split some tablet tests into new groups
Our CI pipeline fails 9 times out of 10 on the valgrind tests. The tests seem to finish in either 35 min or exceed the 60 min timeout limit, with nothing in between. To avoid this let's split into more groups so we can a) run those more in parallel and b) are less likely to hit the timeout when run slowly. Analysis of recent logs shows the eraser button tests to be the worst offender, taking 752s (due to the combinatorial explosion) alone. The various tip and proximity tests together also take some time so let's group those out. Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1274>
This commit is contained in:
parent
c24ad64d18
commit
18b34d0bc0
4 changed files with 123 additions and 40 deletions
|
|
@ -705,6 +705,32 @@ vm-tablet_left_handed-no-libwacom:
|
|||
variables:
|
||||
MESON_ARGS: '-Dlibwacom=false'
|
||||
|
||||
vm-tablet_proximity_tip:
|
||||
extends:
|
||||
- .fedora:42@test-suite-vm
|
||||
variables:
|
||||
SUITE_NAMES: 'tablet_proximity tablet_tip'
|
||||
|
||||
vm-tablet_proximity_tip-no-libwacom:
|
||||
extends:
|
||||
- vm-tablet_proximity_tip
|
||||
stage: test-suite-no-libwacom
|
||||
variables:
|
||||
MESON_ARGS: '-Dlibwacom=false'
|
||||
|
||||
vm-tablet_eraser:
|
||||
extends:
|
||||
- .fedora:42@test-suite-vm
|
||||
variables:
|
||||
SUITE_NAMES: 'tablet_eraser'
|
||||
|
||||
vm-tablet_eraser-no-libwacom:
|
||||
extends:
|
||||
- vm-tablet_eraser
|
||||
stage: test-suite-no-libwacom
|
||||
variables:
|
||||
MESON_ARGS: '-Dlibwacom=false'
|
||||
|
||||
vm-gestures:
|
||||
extends:
|
||||
- .fedora:42@test-suite-vm
|
||||
|
|
@ -888,6 +914,32 @@ vm-valgrind-tablet_left_handed:
|
|||
rules:
|
||||
- if: $GITLAB_USER_LOGIN != "marge-bot"
|
||||
|
||||
vm-valgrind-tablet_proximity_tip:
|
||||
stage: valgrind
|
||||
extends:
|
||||
- vm-tablet_proximity_tip
|
||||
- .policy-retry-on-failure
|
||||
variables:
|
||||
MESON_TEST_ARGS: '--setup=valgrind'
|
||||
LITEST_JOBS: 0
|
||||
retry:
|
||||
max: 2
|
||||
rules:
|
||||
- if: $GITLAB_USER_LOGIN != "marge-bot"
|
||||
|
||||
vm-valgrind-tablet_eraser:
|
||||
stage: valgrind
|
||||
extends:
|
||||
- vm-tablet_eraser
|
||||
- .policy-retry-on-failure
|
||||
variables:
|
||||
MESON_TEST_ARGS: '--setup=valgrind'
|
||||
LITEST_JOBS: 0
|
||||
retry:
|
||||
max: 2
|
||||
rules:
|
||||
- if: $GITLAB_USER_LOGIN != "marge-bot"
|
||||
|
||||
vm-valgrind-gestures:
|
||||
stage: valgrind
|
||||
extends:
|
||||
|
|
@ -1093,6 +1145,9 @@ check-test-suites:
|
|||
libinput-test-suite-touchpad_buttons
|
||||
libinput-test-suite-tablet
|
||||
libinput-test-suite-tablet_left_handed
|
||||
libinput-test-suite-tablet_proximity
|
||||
libinput-test-suite-tablet_tip
|
||||
libinput-test-suite-tablet_eraser
|
||||
libinput-test-suite-gestures
|
||||
libinput-test-suite-path
|
||||
libinput-test-suite-udev
|
||||
|
|
|
|||
|
|
@ -195,6 +195,13 @@ test_suites:
|
|||
- name: tablet_left_handed
|
||||
suites:
|
||||
- tablet_left_handed
|
||||
- name: tablet_proximity_tip
|
||||
suites:
|
||||
- tablet_proximity
|
||||
- tablet_tip
|
||||
- name: tablet_eraser
|
||||
suites:
|
||||
- tablet_eraser
|
||||
- name: gestures
|
||||
suites:
|
||||
- gestures
|
||||
|
|
|
|||
|
|
@ -1023,7 +1023,10 @@ if get_option('tests')
|
|||
'quirks',
|
||||
'switch',
|
||||
'tablet',
|
||||
'tablet_eraser',
|
||||
'tablet_left_handed',
|
||||
'tablet_proximity',
|
||||
'tablet_tip',
|
||||
'totem',
|
||||
'touch',
|
||||
'touchpad',
|
||||
|
|
|
|||
|
|
@ -7473,41 +7473,10 @@ TEST_COLLECTION(tablet)
|
|||
litest_add_no_device(tools_with_serials);
|
||||
litest_add_no_device(tools_without_serials);
|
||||
litest_add_for_device(tool_delayed_serial, LITEST_WACOM_HID4800_PEN);
|
||||
litest_add(proximity_out_clear_buttons, LITEST_TABLET, LITEST_FORCED_PROXOUT);
|
||||
litest_add(proximity_in_out, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(proximity_in_button_down, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(proximity_out_button_up, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(proximity_has_axes, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(bad_distance_events, LITEST_TABLET | LITEST_DISTANCE, LITEST_ANY);
|
||||
litest_add(proximity_range_enter, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_range_in_out, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_range_button_click, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_range_button_press, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_range_button_release, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_out_slow_event, LITEST_TABLET | LITEST_DISTANCE, LITEST_ANY);
|
||||
litest_add(proximity_out_not_during_contact, LITEST_TABLET | LITEST_DISTANCE, LITEST_ANY);
|
||||
litest_add(proximity_out_not_during_buttonpress, LITEST_TABLET | LITEST_DISTANCE, LITEST_ANY);
|
||||
litest_add(proximity_out_disables_forced, LITEST_TABLET, LITEST_FORCED_PROXOUT|LITEST_TOTEM);
|
||||
litest_add(proximity_out_disables_forced_after_forced, LITEST_TABLET, LITEST_FORCED_PROXOUT|LITEST_TOTEM);
|
||||
litest_add_no_device(proximity_out_on_delete);
|
||||
litest_add(button_down_up, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(button_seat_count, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add_no_device(button_up_on_delete);
|
||||
litest_add(tip_down_up, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_down_prox_in, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(tip_up_prox_out, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(tip_down_btn_change, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_up_btn_change, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
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);
|
||||
litest_with_parameters(params, "axis", 'I', 2, litest_named_i32(ABS_X), litest_named_i32(ABS_Y)) {
|
||||
litest_add_parametrized(tip_up_motion_one_axis, LITEST_TABLET|LITEST_HOVER, LITEST_ANY, params);
|
||||
}
|
||||
litest_add(tip_state_proximity, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_state_axis, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_state_button, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add_no_device(tip_up_on_delete);
|
||||
litest_add(motion, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(motion_event_state, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add_for_device(motion_outside_bounds, LITEST_WACOM_CINTIQ_24HD_PEN);
|
||||
|
|
@ -7526,6 +7495,7 @@ TEST_COLLECTION(tablet)
|
|||
litest_add(mouse_buttons, LITEST_TABLET | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(mouse_rotation, LITEST_TABLET | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(mouse_wheel, LITEST_TABLET | LITEST_TOOL_MOUSE, LITEST_WHEEL);
|
||||
|
||||
litest_add(airbrush_tool, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(airbrush_slider, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(artpen_tool, LITEST_TABLET, LITEST_ANY);
|
||||
|
|
@ -7604,15 +7574,6 @@ TEST_COLLECTION(tablet)
|
|||
}
|
||||
|
||||
litest_add_for_device(tablet_smoothing, LITEST_WACOM_HID4800_PEN);
|
||||
|
||||
litest_with_parameters(params,
|
||||
"with-tip-down", 'b',
|
||||
"configure-while-out-of-prox", 'b',
|
||||
"down-when-in-prox", 'b',
|
||||
"down-when-out-of-prox", 'b',
|
||||
"with-motion-events", 'b') {
|
||||
litest_add_parametrized(tablet_eraser_button_disabled, LITEST_TABLET, LITEST_TOTEM|LITEST_FORCED_PROXOUT, params);
|
||||
}
|
||||
/* clang-format on */
|
||||
}
|
||||
|
||||
|
|
@ -7639,3 +7600,60 @@ TEST_COLLECTION(tablet_left_handed)
|
|||
}
|
||||
/* clang-format on */
|
||||
}
|
||||
|
||||
TEST_COLLECTION(tablet_eraser)
|
||||
{
|
||||
/* clang-format off */
|
||||
litest_with_parameters(params,
|
||||
"with-tip-down", 'b',
|
||||
"configure-while-out-of-prox", 'b',
|
||||
"down-when-in-prox", 'b',
|
||||
"down-when-out-of-prox", 'b',
|
||||
"with-motion-events", 'b') {
|
||||
litest_add_parametrized(tablet_eraser_button_disabled, LITEST_TABLET, LITEST_TOTEM|LITEST_FORCED_PROXOUT, params);
|
||||
}
|
||||
/* clang-format on */
|
||||
}
|
||||
|
||||
TEST_COLLECTION(tablet_proximity)
|
||||
{
|
||||
/* clang-format off */
|
||||
litest_add(proximity_out_clear_buttons, LITEST_TABLET, LITEST_FORCED_PROXOUT);
|
||||
litest_add(proximity_in_out, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(proximity_in_button_down, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(proximity_out_button_up, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(proximity_has_axes, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(bad_distance_events, LITEST_TABLET | LITEST_DISTANCE, LITEST_ANY);
|
||||
litest_add(proximity_range_enter, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_range_in_out, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_range_button_click, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_range_button_press, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_range_button_release, LITEST_TABLET | LITEST_DISTANCE | LITEST_TOOL_MOUSE, LITEST_ANY);
|
||||
litest_add(proximity_out_slow_event, LITEST_TABLET | LITEST_DISTANCE, LITEST_ANY);
|
||||
litest_add(proximity_out_not_during_contact, LITEST_TABLET | LITEST_DISTANCE, LITEST_ANY);
|
||||
litest_add(proximity_out_not_during_buttonpress, LITEST_TABLET | LITEST_DISTANCE, LITEST_ANY);
|
||||
litest_add(proximity_out_disables_forced, LITEST_TABLET, LITEST_FORCED_PROXOUT|LITEST_TOTEM);
|
||||
litest_add(proximity_out_disables_forced_after_forced, LITEST_TABLET, LITEST_FORCED_PROXOUT|LITEST_TOTEM);
|
||||
/* clang-format on */
|
||||
}
|
||||
|
||||
TEST_COLLECTION(tablet_tip)
|
||||
{
|
||||
/* clang-format off */
|
||||
litest_add(tip_down_up, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_down_prox_in, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(tip_up_prox_out, LITEST_TABLET, LITEST_ANY);
|
||||
litest_add(tip_down_btn_change, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_up_btn_change, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
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);
|
||||
litest_with_parameters(params, "axis", 'I', 2, litest_named_i32(ABS_X), litest_named_i32(ABS_Y)) {
|
||||
litest_add_parametrized(tip_up_motion_one_axis, LITEST_TABLET|LITEST_HOVER, LITEST_ANY, params);
|
||||
}
|
||||
litest_add(tip_state_proximity, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_state_axis, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add(tip_state_button, LITEST_TABLET|LITEST_HOVER, LITEST_ANY);
|
||||
litest_add_no_device(tip_up_on_delete);
|
||||
/* clang-format on */
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue