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: Alex Tran <alex.t.tran@gmail.com>
Tested-by: Erin Skomra <erin.skomra@wacom.com>
Reviewed-by: Erin Skomra <erin.skomra@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
This commit is contained in:
Alex Tran 2026-01-31 15:57:43 -08:00 committed by Jiri Kosina
parent a2e70a89fa
commit b4f4fd947a

View file

@ -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):