From nobody Sun Feb 8 02:41:36 2026 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B2BC03128DC for ; Sat, 20 Dec 2025 20:48:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766263710; cv=none; b=MddK+sp6Dqv9SjByt6RZm2BBwxFeIeyMsdHZiGHXeKTrr7IYmT3IIM4Z0b8FWF7iJBIoy+afQA397sXj1modExgtHlUfsmtWu1jXHEYECvzkLgPPMmJD1DYGgjXzcXb1lEeAqwwLV05aFJ0X5efLFNzpGIIMadkOvH6nDFXrN9w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766263710; c=relaxed/simple; bh=2AXrSv9Whw8ZnmYI11LonZo2zoxqHUg4PkT1bewu+LY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=nFqxCyN+WLNTzr0+9f+r1VzugBJgFE6V/fr6ju3JMldUw7UwSrd1AaiiUyVQC5C+ixHd1Qh40iMXvnFbXts/t/4vp/CLzSfm3T+yebQangUNkefO+6woM6CN4hsXUA/yCE6ssYJ9Alj1xCAByRi0OsmGSDqVja1kRVJCzwUmnnU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KLTGuJq4; arc=none smtp.client-ip=209.85.214.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KLTGuJq4" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-29f1bc40b35so50657285ad.2 for ; Sat, 20 Dec 2025 12:48:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766263707; x=1766868507; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=FSsLiiSTL2av7klPupKbRan+kIsIZbAf1eXJiOEAwnc=; b=KLTGuJq4EJz1+1neb5hXe48GHji7J4xJD09lMpOhPoNwt8knQqhznwavvHFcz+67KD iswAsidLdhAhEYNdSFKmWmuVZgORKmM1W7c7xSwA6NWLsLfxxB9yDyYNfzYsQrvD5BRV ohvnZuaBmgy8HxdXLks8P3kXLvtDXNZ+rotYKW+PYC0iTzDWP7bsFSl81tze1qtkKeNy 0QtwsNVPPoRrcYkVj3YqLApLsr/0jCJqItYxrwj+ZUPDH1rOUr+0VLx1ogPCHf81+r/r 1rSLmrNiIllhRizqrjv7mlIJQBbkxWpEI69irzGxaC3zx1irDEkIgBWQdxfnYT51OAA6 b/Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766263707; x=1766868507; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FSsLiiSTL2av7klPupKbRan+kIsIZbAf1eXJiOEAwnc=; b=Fx25koMlDl+zKX0F234TGGzVJKMXmjhvyRRn2zAkbUS5zu8gB3M+BiTnD46/OlDe2w WjwbtQ8bOopCWXhtuw/dEDFnsQjjKka3BmIw1KwzSBM9jo0++J1/WQFs5JzjFZgrOu4V nvOIFxEeRa6q40Wq03szBHuGTxvee6IDEoM9Dgm76sl5/qbZRGuS05y23EGMAskUmb4C wN+tdyt/UO7oF5FFAwSMKpJQaFlRPUCsUmmg+/pw/Yq/QLvqTEvmSAaCzpq5l5uRm2WY Lskf/ga4JFppOVb7K2566LmeusLS3q9/1satA+ky89RAMEow3njobrVobZ1K8aqwsjam jydw== X-Forwarded-Encrypted: i=1; AJvYcCVPHZwXgPSfqC0HsD5bOLl1kTFcnB039Dbc8AEQ8bPCGiCj18FA4PPBoFtMcoA65QppViHkYYf1kVvIxsw=@vger.kernel.org X-Gm-Message-State: AOJu0Yxdg1QDJ7h/pUAQm3FxTZvB7JP+HzMm6aOjcxM/JtJC9yybwAEK Ku44Rpepx6xlnCJSIyTVcXk74sjI/a58rIj4KCWzSDRn5v7pZcBcaJ3P X-Gm-Gg: AY/fxX42tDWpgRWuzkAnhHTLu2QiDg1UeHKiM4eX9xc2oJBDVkmPw4TM3+NrxzycnCF U3hggK4WTfKzA78DDCCtkvVB7eNxbkzbw9FlMPfR5zdnqnVXJvkxpQSooErckqAnMFv5vEfhAwb 0kz5dzmgQ4RzoAbsUZLi+zM74Hdd+1dWq0L7CqxUSDtR0efLTvHJvqlp0XodVgJt4N8gWGJazw2 j1dgBuDbFlZ8EbxBkVbzgfBQYa4jqulxsMyCzfePwiD9hwgsqiFRvSF8CcsbAoX5WgIvPdWZob/ UvTQHY47Rmt9fq2xWEdvNF43dLbqTtWKdxky+5uDIVIS59046nV7L32kEQ/DREkmuamgp1yJBcO 4JKMJDvK2zuD8tK5/W4NcRyKfOvcPTS/v0gTzaSkOXvpn+1BWDZB94a5m1dW6Lcopu4WhgrrNgu 6kBmG+8b9S8bauir8Wd58fiA== X-Google-Smtp-Source: AGHT+IHJ9TDxVg4JDg/3TYZVX5GS4uVFekWGVR8sJr7Lo3J8+b+7PTIbB121gqzYNlncKBx3kNGuRQ== X-Received: by 2002:a05:7022:68a3:b0:119:e56b:c75f with SMTP id a92af1059eb24-121722f7fd4mr9036656c88.36.1766263706893; Sat, 20 Dec 2025 12:48:26 -0800 (PST) Received: from fedora ([172.59.162.202]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1217253bfe2sm18097539c88.10.2025.12.20.12.48.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Dec 2025 12:48:26 -0800 (PST) From: Alex Tran To: jikos@kernel.org, bentiss@kernel.org, shuah@kernel.org Cc: linux-input@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Alex Tran Subject: [PATCH v2 RESEND] selftests: hid: tests: test_wacom_generic: add tests for display devices and opaque devices Date: Sat, 20 Dec 2025 12:48:11 -0800 Message-ID: <20251220204811.3539836-1-alex.t.tran@gmail.com> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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=20 test_prop_direct that can be inherited by display tablet test classes. Used DirectTabletTest for TestDTH2452Tablet case. Signed-off-by: Alex Tran --- 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/tool= s/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) =20 - 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 - =20 class PenTabletTest(BaseTest.TestTablet): def assertName(self, uhdev): @@ -677,6 +665,13 @@ class TestOpaqueTablet(PenTabletTest): uhdev.event(130, 240, pressure=3D0), [], auto_syn=3DFalse, str= ict=3DTrue ) =20 + def test_prop_pointer(self): + """ + Verify that INPUT_PROP_POINTER is set on opaque devices. + """ + evdev =3D self.uhdev.get_evdev() + assert libevdev.INPUT_PROP_POINTER in evdev.properties + =20 class TestOpaqueCTLTablet(TestOpaqueTablet): def create_device(self): @@ -862,7 +857,16 @@ class TestPTHX60_Pen(TestOpaqueCTLTablet): ) =20 =20 -class TestDTH2452Tablet(test_multitouch.BaseTest.TestMultitouch, TouchTabl= etTest): +class DirectTabletTest(): + def test_prop_direct(self): + """ + Verify that INPUT_PROP_DIRECT is set on display devices. + """ + evdev =3D self.uhdev.get_evdev() + assert libevdev.INPUT_PROP_DIRECT in evdev.properties + + +class TestDTH2452Tablet(test_multitouch.BaseTest.TestMultitouch, TouchTabl= etTest, DirectTabletTest): ContactIds =3D namedtuple("ContactIds", "contact_id, tracking_id, slot= _num") =20 def create_device(self): --=20 2.51.0