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 e5043ed..4e410d1 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);