Commit b4f4fd94 authored by Alex Tran's avatar Alex Tran Committed by Jiri Kosina
Browse files

selftests: hid: tests: test_wacom_generic: add tests for display devices and opaque devices



Verify Wacom devices set INPUT_PROP_DIRECT on display devices and
INPUT_PROP_POINTER on opaque devices. Verify INPUT_PROP_POINTER
is not set on display devices and INPUT_PROP_DIRECT is not set
on opaque devices.

Moved test_prop_pointer into TestOpaqueTablet. Created a
DirectTabletTest mixin class for test_prop_direct that can be
inherited by display tablet test classes.Used DirectTabletTest
for TestDTH2452Tablet case.

Signed-off-by: default avatarAlex Tran <alex.t.tran@gmail.com>
Tested-by: default avatarErin Skomra <erin.skomra@wacom.com>
Reviewed-by: default avatarErin Skomra <erin.skomra@wacom.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
parent a2e70a89
Loading
Loading
Loading
Loading
+21 −13
Original line number Diff line number Diff line
@@ -598,18 +598,6 @@ class BaseTest:
                if unit_set:
                    assert required[usage].contains(field)

        def test_prop_direct(self):
            """
            Todo: Verify that INPUT_PROP_DIRECT is set on display devices.
            """
            pass

        def test_prop_pointer(self):
            """
            Todo: Verify that INPUT_PROP_POINTER is set on opaque devices.
            """
            pass


class PenTabletTest(BaseTest.TestTablet):
    def assertName(self, uhdev):
@@ -677,6 +665,15 @@ class TestOpaqueTablet(PenTabletTest):
            uhdev.event(130, 240, pressure=0), [], auto_syn=False, strict=True
        )

    def test_prop_pointer(self):
        """
        Verify that INPUT_PROP_POINTER is set and INPUT_PROP_DIRECT
        is not set on opaque devices.
        """
        evdev = self.uhdev.get_evdev()
        assert libevdev.INPUT_PROP_POINTER in evdev.properties
        assert libevdev.INPUT_PROP_DIRECT not in evdev.properties


class TestOpaqueCTLTablet(TestOpaqueTablet):
    def create_device(self):
@@ -862,7 +859,18 @@ class TestPTHX60_Pen(TestOpaqueCTLTablet):
        )


class TestDTH2452Tablet(test_multitouch.BaseTest.TestMultitouch, TouchTabletTest):
class DirectTabletTest():
    def test_prop_direct(self):
        """
        Verify that INPUT_PROP_DIRECT is set and INPUT_PROP_POINTER
        is not set on display devices.
        """
        evdev = self.uhdev.get_evdev()
        assert libevdev.INPUT_PROP_DIRECT in evdev.properties
        assert libevdev.INPUT_PROP_POINTER not in evdev.properties


class TestDTH2452Tablet(test_multitouch.BaseTest.TestMultitouch, TouchTabletTest, DirectTabletTest):
    ContactIds = namedtuple("ContactIds", "contact_id, tracking_id, slot_num")

    def create_device(self):