On Sat, 20 Dec 2025, Alex Tran wrote:
Verify Wacom devices set INPUT_PROP_DIRECT on display devices and INPUT_PROP_POINTER 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
Let me CC Benjamin and Wacom folks to take a look here as well.
Changes in v2:
- Removed the tests from the BaseTest class
- Removed disabling tests for certain subclasses
- Moved test_prop_pointer under TestOpaqueTablet
- Created DirectTabletTest mixin class
- Moved test_prop_direct under TestDTH2452Tablet
.../selftests/hid/tests/test_wacom_generic.py | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-)
diff --git a/tools/testing/selftests/hid/tests/test_wacom_generic.py b/tools/testing/selftests/hid/tests/test_wacom_generic.py index 2d6d04f0f..9d0b0802d 100644 --- a/tools/testing/selftests/hid/tests/test_wacom_generic.py +++ b/tools/testing/selftests/hid/tests/test_wacom_generic.py @@ -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."""passdef test_prop_pointer(self):"""Todo: Verify that INPUT_PROP_POINTER is set on opaque devices."""passclass PenTabletTest(BaseTest.TestTablet): def assertName(self, uhdev): @@ -677,6 +665,13 @@ 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 on opaque devices."""evdev = self.uhdev.get_evdev()assert libevdev.INPUT_PROP_POINTER in evdev.propertiesclass TestOpaqueCTLTablet(TestOpaqueTablet): def create_device(self): @@ -862,7 +857,16 @@ 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 on display devices."""evdev = self.uhdev.get_evdev()assert libevdev.INPUT_PROP_DIRECT in evdev.properties+class TestDTH2452Tablet(test_multitouch.BaseTest.TestMultitouch, TouchTabletTest, DirectTabletTest): ContactIds = namedtuple("ContactIds", "contact_id, tracking_id, slot_num") def create_device(self): -- 2.51.0