- 03 Feb, 2023 2 commits
-
-
Benjamin Tissoires authored
This way we have only one entry point, which ensures the device is ready from the kernel point of view before we start injecting events. Also add a few typing information and fixes here and there. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
We should not pre-instantiate the full class as it sets up udev and whatnot. Keeping just the class type is enough. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
- 02 Feb, 2023 24 commits
-
-
Benjamin Tissoires authored
The new code is now way more reliable, but we never know. Instead of manually retrying tests and messing up with the junit outputs, use --retries to automatically retry them in the same pytest run. And bump ci-templates while at it. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
This gives us a significant improvements in the tests for not a lot of wasted CPU. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
This way we can switch backend. Instead of relying on udev, we can use BPF to get the same information, but quicker. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
Instead of parsing all devices one by one, we can rely on udev to only know when the device has been initialized in the kernel through the "bind" property. Now we know that no more input nodes will be added. Note: this rely on the fact that the module driving the uhid device has been pre-loaded before the tests or that it was builtin the vmlinux Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
So we can have a `_BaseDevice` class completely without udev Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
We can check on the sysfs to get quite some information without having wait for all the udev events. This speeds up the creation of uhid devices without loss of functionality. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
Not a lot of changes, but that helps. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
The objective is to strip out the udev requirement and speed things up. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
Turns out that we wait 10 ms everywhere but here, and this reduces the global time of tests by a fair chunk: For test_wacom_generic.py, with 100: ``` ==== 46 passed, 5 xfailed in 20.98s ===== ``` With 10: ``` ==== 46 passed, 5 xfailed in 16.38s ===== ``` Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
Mostly asserts. There are still a few mypy errors, but we keep that for later.
-
Benjamin Tissoires authored
Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
self.current_report was never set, meaning that all of this code was dead. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
The special marker case was ignored. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
turns out that there were no type checking for the input data, which might blow up to the caller. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
Those are the "easy" ones. No code is changing except for a few assert to teach mypy that the value can not be None. _HidRDescItem.dump_rdesc_lsusb() is removed as it was not used (and wrong because "item = self.item() -> Object of type "str" is not callable" Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
I couldn't get the Match type to return either an str or a U16, so I just ignored the type checking on lines 384 - 404. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
And ensure the CI is happy too Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
`black` is nice but for report descriptors it doesn't make sense to reformat them, as the comments have a given signification Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
We are at kernel 6.1 now, almost 6.2, so we better test this one now. As for flake8, it's always painful to run when black is so much simpler. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
The kernel expects an SPDX license instead of a full text blob. Let's migrate the tests that are going to be synced with SPDX Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
Benjamin Tissoires authored
The goal is to be able to easily sync that directory with the sources of the kernel tree where the tests are going to live. So by splitting the hid-tools specific tests from the device (kernel) ones we make that way more easier to sync. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
- 22 Jan, 2023 1 commit
-
-
- 24 Nov, 2022 1 commit
-
-
Benjamin Tissoires authored
Compared to libinput, we are using master, not main. Keep main around in case we switch to it. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
- 22 Nov, 2022 1 commit
-
-
Peter Hutterer authored
Copied from libinput's CI Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
- 17 Nov, 2022 1 commit
-
-
Ping Cheng authored
Benjamin reported that the patches [1] added for wacom.ko testcases had an issue. The input device exported to userspace is not caught by the local udev rule, meaning that events are actually forwarded to the session. This patch fixes that issue, as suggested by Benjamin. [1] !128 (comment 1505073) Signed-off-by:
Ping Cheng <ping.cheng@wacom.com>
-
- 15 Nov, 2022 1 commit
-
-
Roderick Colenbrander authored
Signed-off-by:
Roderick Colenbrander <roderick.colenbrander@sony.com>
-
- 29 Oct, 2022 1 commit
-
-
Roderick Colenbrander authored
This patch adds support for an additional DualShock4 feature report, which is commonly used to retrieve the MAC address in USB mode. Signed-off-by:
Roderick Colenbrander <roderick.colenbrander@sony.com>
-
- 11 Oct, 2022 1 commit
-
-
Benjamin Tissoires authored
Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
- 05 Oct, 2022 1 commit
-
-
Tero Kristo authored
Fixes couple of missing dependencies when installing via setuptools. Signed-off-by:
Tero Kristo <tero.kristo@linux.intel.com>
-
- 02 Sep, 2022 1 commit
-
-
Benjamin Tissoires authored
boot2container gives us several benefits over plain qemu: - we don't start a full system which we need to ssh in - we don't have to build a specific container - we don't have to scp the files in and out Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
- 18 Aug, 2022 1 commit
-
-
Benjamin Tissoires authored
When running in an environment without udev, we might want to start it manually. Signed-off-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
-
- 11 Aug, 2022 4 commits
-
-
The PTH-460 has its HID descriptor implemented slightly differently to its siblings the 660 and 860. Specifically, each of the functions of the pad are encapsulated in their own physical collections. This causes a little bit of trouble for the current Wacom driver which typically treats multiple collections of the same tool as multiple snapshots of a single tool's state (mainly to support BT devices that send e.g. 5 pen updates in a single packet). We check to make sure that we don't get partial/empty pad syncs when they shouldn't exist. The easiest way to trigger this behavior is to simultaneously use the touchring and expresskeys since they are in different collections. This behavior was fixed in the upstream Linux kernel by commit d4b8efeb46d9 ("HID: wacom: generic: Correct pad syncing"). Signed-off-by:
Jason Gerecke <jason.gerecke@wacom.com>
-
At the moment the function offers no middle-ground between returning "true" and associating an evdev device with a specific type, or returning "false" and associating it with *no* types. The Wacom tests require us to have access to both e.g. Pen and Pad devices, but we need to be careful to ensure that the pen evdev device is actually associated with the "Pen" type, and pad device with the "Pad" type. The "udev_input_event" function does a pretty good job with this normally, but because all pad devices are also pen devices, things go a little off the rails. This commit allows the caller to return 'false' for only the specific combinations of device and application that don't make sense, but still return 'true' in other situations. Signed-off-by:
Jason Gerecke <jason.gerecke@wacom.com>
-
Commit d4b8efeb46d9 introduced an issue which causes a BTN_TOUCH=0 event to be sent out whenever a heartbeat report is received. We have a fix for this bug, but lets make sure it does not come back. Signed-off-by:
Jason Gerecke <jason.gerecke@wacom.com>
-
Adds descriptors for the PTH-660, PTH-860, and PTH-460, as well as the necessary device / test definitions to exercise them. Updates `test_descriptor_physicals()` to better handle these tablets (new usages listed among the required, filtering of mouse collection). Also notes errata with the descriptors that cause the physicals test to fail. Signed-off-by:
Jason Gerecke <jason.gerecke@wacom.com>
-