test: fix the lowres-only wheel event tests
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 7 Jun 2022 01:56:04 +0000 (11:56 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 7 Jun 2022 02:42:50 +0000 (12:42 +1000)
These tests gave us false positives for devices without a REL_WHEEL or
REL_HWHEEL because one of the helper functions papered over missing
events.

We have two tests here, one for horizontal, one for vertical but they
mixed WHEEL and HWHEEL in both tests. Fix this by splitting them
properly, so each test only checks that axis.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test/test-pointer.c

index e5043edf5aa4c6eedfa038a6cba14b3e5cac8bd5..4e410d1e6ac48d797c7ff849605923d8fabb3f15 100644 (file)
@@ -760,8 +760,8 @@ START_TEST(pointer_scroll_wheel_hires_send_only_lores_vertical)
        struct litest_device *dev = litest_current_device();
        struct libinput *li = dev->libinput;
 
-       if (!libevdev_has_event_code(dev->evdev, EV_REL, REL_WHEEL_HI_RES) &&
-           !libevdev_has_event_code(dev->evdev, EV_REL, REL_HWHEEL_HI_RES))
+       if (!libevdev_has_event_code(dev->evdev, EV_REL, REL_WHEEL) &&
+           !libevdev_has_event_code(dev->evdev, EV_REL, REL_WHEEL_HI_RES))
                return;
 
        litest_drain_events(dev->libinput);
@@ -777,11 +777,6 @@ START_TEST(pointer_scroll_wheel_hires_send_only_lores_vertical)
        libinput_dispatch(li);
        test_high_and_low_wheel_events_value(dev, REL_WHEEL, 120);
 
-       litest_event(dev, EV_REL, REL_HWHEEL, 1);
-       litest_event(dev, EV_SYN, SYN_REPORT, 0);
-       libinput_dispatch(li);
-       test_high_and_low_wheel_events_value(dev, REL_HWHEEL, 120);
-
        litest_assert_empty_queue(li);
        litest_restore_log_handler(li);
 }
@@ -792,7 +787,7 @@ START_TEST(pointer_scroll_wheel_hires_send_only_lores_horizontal)
        struct litest_device *dev = litest_current_device();
        struct libinput *li = dev->libinput;
 
-       if (!libevdev_has_event_code(dev->evdev, EV_REL, REL_WHEEL_HI_RES) &&
+       if (!libevdev_has_event_code(dev->evdev, EV_REL, REL_HWHEEL) &&
            !libevdev_has_event_code(dev->evdev, EV_REL, REL_HWHEEL_HI_RES))
                return;
 
@@ -804,10 +799,10 @@ START_TEST(pointer_scroll_wheel_hires_send_only_lores_horizontal)
        libinput_dispatch(li);
        test_high_and_low_wheel_events_value(dev, REL_HWHEEL, 240);
 
-       litest_event(dev, EV_REL, REL_WHEEL, -1);
+       litest_event(dev, EV_REL, REL_HWHEEL, -1);
        litest_event(dev, EV_SYN, SYN_REPORT, 0);
        libinput_dispatch(li);
-       test_high_and_low_wheel_events_value(dev, REL_WHEEL, 120);
+       test_high_and_low_wheel_events_value(dev, REL_HWHEEL, -120);
 
        litest_event(dev, EV_REL, REL_HWHEEL, 1);
        litest_event(dev, EV_SYN, SYN_REPORT, 0);