mbox series

[00/11] selftests: hid: import the tests from hid-tools

Message ID 20230217-import-hid-tools-tests-v1-0-d1c48590d0ee@redhat.com
Headers show
Series selftests: hid: import the tests from hid-tools | expand

Message

Benjamin Tissoires Feb. 17, 2023, 4:17 p.m. UTC
I have been running hid-tools for a while, but it was in its own
separate repository for multiple reasons. And the past few weeks
I finally managed to make the kernel tests in that repo in a
state where we can merge them in the kernel tree directly:

- the tests run in ~2 to 3 minutes
- the tests are way more reliable than previously
- the tests are mostly self-contained now (to the exception
  of the Sony ones)

To be able to run the tests we need to use the latest release
of hid-tools, as this project still keeps the HID parsing logic
and is capable of generating the HID events.

The series also ensures we can run the tests with vmtest.sh,
allowing for a quick development and test in the tree itself.

This should allow us to require tests to be added to a series
when we see fit and keep them alive properly instead of having
to deal with 2 repositories.

In Cc are all of the people who participated in the elaboration
of those tests, so please send back a signed-off-by for each
commit you are part of.

This series applies on top of the for-6.3/hid-bpf branch, which
is the one that added the tools/testing/selftests/hid directory.
Given that this is unlikely this series will make the cut for
6.3, we might just consider this series to be based on top of
the future 6.3-rc1.

Cheers,
Benjamin

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
---
Benjamin Tissoires (11):
      selftests: hid: make vmtest rely on make
      selftests: hid: import hid-tools hid-core tests
      selftests: hid: import hid-tools hid-gamepad tests
      selftests: hid: import hid-tools hid-keyboards tests
      selftests: hid: import hid-tools hid-mouse tests
      selftests: hid: import hid-tools hid-multitouch and hid-tablets tests
      selftests: hid: import hid-tools wacom tests
      selftests: hid: import hid-tools hid-apple tests
      selftests: hid: import hid-tools hid-ite tests
      selftests: hid: import hid-tools hid-sony and hid-playstation tests
      selftests: hid: import hid-tools usb-crash tests

 tools/testing/selftests/hid/Makefile               |   12 +
 tools/testing/selftests/hid/config                 |   11 +
 tools/testing/selftests/hid/hid-apple.sh           |    7 +
 tools/testing/selftests/hid/hid-core.sh            |    7 +
 tools/testing/selftests/hid/hid-gamepad.sh         |    7 +
 tools/testing/selftests/hid/hid-ite.sh             |    7 +
 tools/testing/selftests/hid/hid-keyboard.sh        |    7 +
 tools/testing/selftests/hid/hid-mouse.sh           |    7 +
 tools/testing/selftests/hid/hid-multitouch.sh      |    7 +
 tools/testing/selftests/hid/hid-sony.sh            |    7 +
 tools/testing/selftests/hid/hid-tablet.sh          |    7 +
 tools/testing/selftests/hid/hid-usb_crash.sh       |    7 +
 tools/testing/selftests/hid/hid-wacom.sh           |    7 +
 tools/testing/selftests/hid/run-hid-tools-tests.sh |   28 +
 tools/testing/selftests/hid/settings               |    3 +
 tools/testing/selftests/hid/tests/__init__.py      |    2 +
 tools/testing/selftests/hid/tests/base.py          |  345 ++++
 tools/testing/selftests/hid/tests/conftest.py      |   81 +
 .../selftests/hid/tests/descriptors_wacom.py       | 1360 +++++++++++++
 .../selftests/hid/tests/test_apple_keyboard.py     |  440 +++++
 tools/testing/selftests/hid/tests/test_gamepad.py  |  209 ++
 tools/testing/selftests/hid/tests/test_hid_core.py |  154 ++
 .../selftests/hid/tests/test_ite_keyboard.py       |  166 ++
 tools/testing/selftests/hid/tests/test_keyboard.py |  485 +++++
 tools/testing/selftests/hid/tests/test_mouse.py    |  977 +++++++++
 .../testing/selftests/hid/tests/test_multitouch.py | 2088 ++++++++++++++++++++
 tools/testing/selftests/hid/tests/test_sony.py     |  282 +++
 tools/testing/selftests/hid/tests/test_tablet.py   |  872 ++++++++
 .../testing/selftests/hid/tests/test_usb_crash.py  |  103 +
 .../selftests/hid/tests/test_wacom_generic.py      |  844 ++++++++
 tools/testing/selftests/hid/vmtest.sh              |   25 +-
 31 files changed, 8554 insertions(+), 10 deletions(-)
---
base-commit: 2f7f4efb9411770b4ad99eb314d6418e980248b4
change-id: 20230217-import-hid-tools-tests-dc0cd4f3c8a8

Best regards,

Comments

Benjamin Tissoires April 3, 2023, 4:20 p.m. UTC | #1
On Feb 17 2023, Benjamin Tissoires wrote:
> I have been running hid-tools for a while, but it was in its own
> separate repository for multiple reasons. And the past few weeks
> I finally managed to make the kernel tests in that repo in a
> state where we can merge them in the kernel tree directly:
> 
> - the tests run in ~2 to 3 minutes
> - the tests are way more reliable than previously
> - the tests are mostly self-contained now (to the exception
>   of the Sony ones)
> 
> To be able to run the tests we need to use the latest release
> of hid-tools, as this project still keeps the HID parsing logic
> and is capable of generating the HID events.
> 
> The series also ensures we can run the tests with vmtest.sh,
> allowing for a quick development and test in the tree itself.
> 
> This should allow us to require tests to be added to a series
> when we see fit and keep them alive properly instead of having
> to deal with 2 repositories.
> 
> In Cc are all of the people who participated in the elaboration
> of those tests, so please send back a signed-off-by for each
> commit you are part of.
> 
> This series applies on top of the for-6.3/hid-bpf branch, which
> is the one that added the tools/testing/selftests/hid directory.
> Given that this is unlikely this series will make the cut for
> 6.3, we might just consider this series to be based on top of
> the future 6.3-rc1.
> 
> Cheers,
> Benjamin
> 
> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> ---

Jiri, do you mind if I push that code in the hid tree with the following
changes:
- Peter privately gave me his signed-off-by
- I included changes from https://gitlab.freedesktop.org/libevdev/hid-tools/-/merge_requests/143
  to fix the failing sony tests in v6.3

I am not a big fan of sending a v2 because the ML are not happy with the
amount of changes...

Cheers,
Benjamin

> Benjamin Tissoires (11):
>       selftests: hid: make vmtest rely on make
>       selftests: hid: import hid-tools hid-core tests
>       selftests: hid: import hid-tools hid-gamepad tests
>       selftests: hid: import hid-tools hid-keyboards tests
>       selftests: hid: import hid-tools hid-mouse tests
>       selftests: hid: import hid-tools hid-multitouch and hid-tablets tests
>       selftests: hid: import hid-tools wacom tests
>       selftests: hid: import hid-tools hid-apple tests
>       selftests: hid: import hid-tools hid-ite tests
>       selftests: hid: import hid-tools hid-sony and hid-playstation tests
>       selftests: hid: import hid-tools usb-crash tests
> 
>  tools/testing/selftests/hid/Makefile               |   12 +
>  tools/testing/selftests/hid/config                 |   11 +
>  tools/testing/selftests/hid/hid-apple.sh           |    7 +
>  tools/testing/selftests/hid/hid-core.sh            |    7 +
>  tools/testing/selftests/hid/hid-gamepad.sh         |    7 +
>  tools/testing/selftests/hid/hid-ite.sh             |    7 +
>  tools/testing/selftests/hid/hid-keyboard.sh        |    7 +
>  tools/testing/selftests/hid/hid-mouse.sh           |    7 +
>  tools/testing/selftests/hid/hid-multitouch.sh      |    7 +
>  tools/testing/selftests/hid/hid-sony.sh            |    7 +
>  tools/testing/selftests/hid/hid-tablet.sh          |    7 +
>  tools/testing/selftests/hid/hid-usb_crash.sh       |    7 +
>  tools/testing/selftests/hid/hid-wacom.sh           |    7 +
>  tools/testing/selftests/hid/run-hid-tools-tests.sh |   28 +
>  tools/testing/selftests/hid/settings               |    3 +
>  tools/testing/selftests/hid/tests/__init__.py      |    2 +
>  tools/testing/selftests/hid/tests/base.py          |  345 ++++
>  tools/testing/selftests/hid/tests/conftest.py      |   81 +
>  .../selftests/hid/tests/descriptors_wacom.py       | 1360 +++++++++++++
>  .../selftests/hid/tests/test_apple_keyboard.py     |  440 +++++
>  tools/testing/selftests/hid/tests/test_gamepad.py  |  209 ++
>  tools/testing/selftests/hid/tests/test_hid_core.py |  154 ++
>  .../selftests/hid/tests/test_ite_keyboard.py       |  166 ++
>  tools/testing/selftests/hid/tests/test_keyboard.py |  485 +++++
>  tools/testing/selftests/hid/tests/test_mouse.py    |  977 +++++++++
>  .../testing/selftests/hid/tests/test_multitouch.py | 2088 ++++++++++++++++++++
>  tools/testing/selftests/hid/tests/test_sony.py     |  282 +++
>  tools/testing/selftests/hid/tests/test_tablet.py   |  872 ++++++++
>  .../testing/selftests/hid/tests/test_usb_crash.py  |  103 +
>  .../selftests/hid/tests/test_wacom_generic.py      |  844 ++++++++
>  tools/testing/selftests/hid/vmtest.sh              |   25 +-
>  31 files changed, 8554 insertions(+), 10 deletions(-)
> ---
> base-commit: 2f7f4efb9411770b4ad99eb314d6418e980248b4
> change-id: 20230217-import-hid-tools-tests-dc0cd4f3c8a8
> 
> Best regards,
> -- 
> Benjamin Tissoires <benjamin.tissoires@redhat.com>
>
Peter Hutterer April 4, 2023, 1:37 a.m. UTC | #2
On Mon, Apr 03, 2023 at 06:20:24PM +0200, Benjamin Tissoires wrote:
> On Feb 17 2023, Benjamin Tissoires wrote:
> > I have been running hid-tools for a while, but it was in its own
> > separate repository for multiple reasons. And the past few weeks
> > I finally managed to make the kernel tests in that repo in a
> > state where we can merge them in the kernel tree directly:
> > 
> > - the tests run in ~2 to 3 minutes
> > - the tests are way more reliable than previously
> > - the tests are mostly self-contained now (to the exception
> >   of the Sony ones)
> > 
> > To be able to run the tests we need to use the latest release
> > of hid-tools, as this project still keeps the HID parsing logic
> > and is capable of generating the HID events.
> > 
> > The series also ensures we can run the tests with vmtest.sh,
> > allowing for a quick development and test in the tree itself.
> > 
> > This should allow us to require tests to be added to a series
> > when we see fit and keep them alive properly instead of having
> > to deal with 2 repositories.
> > 
> > In Cc are all of the people who participated in the elaboration
> > of those tests, so please send back a signed-off-by for each
> > commit you are part of.
> > 
> > This series applies on top of the for-6.3/hid-bpf branch, which
> > is the one that added the tools/testing/selftests/hid directory.
> > Given that this is unlikely this series will make the cut for
> > 6.3, we might just consider this series to be based on top of
> > the future 6.3-rc1.
> > 
> > Cheers,
> > Benjamin
> > 
> > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> > ---
> 
> Jiri, do you mind if I push that code in the hid tree with the following
> changes:
> - Peter privately gave me his signed-off-by

Apologies, this fell off my list after the initial ack in a meeting with
Benjamin. This time publicly:
  Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
for the relevant commits.

Cheers,
  Peter


> - I included changes from https://gitlab.freedesktop.org/libevdev/hid-tools/-/merge_requests/143
>   to fix the failing sony tests in v6.3
> 
> I am not a big fan of sending a v2 because the ML are not happy with the
> amount of changes...
> 
> Cheers,
> Benjamin
> 
> > Benjamin Tissoires (11):
> >       selftests: hid: make vmtest rely on make
> >       selftests: hid: import hid-tools hid-core tests
> >       selftests: hid: import hid-tools hid-gamepad tests
> >       selftests: hid: import hid-tools hid-keyboards tests
> >       selftests: hid: import hid-tools hid-mouse tests
> >       selftests: hid: import hid-tools hid-multitouch and hid-tablets tests
> >       selftests: hid: import hid-tools wacom tests
> >       selftests: hid: import hid-tools hid-apple tests
> >       selftests: hid: import hid-tools hid-ite tests
> >       selftests: hid: import hid-tools hid-sony and hid-playstation tests
> >       selftests: hid: import hid-tools usb-crash tests
> > 
> >  tools/testing/selftests/hid/Makefile               |   12 +
> >  tools/testing/selftests/hid/config                 |   11 +
> >  tools/testing/selftests/hid/hid-apple.sh           |    7 +
> >  tools/testing/selftests/hid/hid-core.sh            |    7 +
> >  tools/testing/selftests/hid/hid-gamepad.sh         |    7 +
> >  tools/testing/selftests/hid/hid-ite.sh             |    7 +
> >  tools/testing/selftests/hid/hid-keyboard.sh        |    7 +
> >  tools/testing/selftests/hid/hid-mouse.sh           |    7 +
> >  tools/testing/selftests/hid/hid-multitouch.sh      |    7 +
> >  tools/testing/selftests/hid/hid-sony.sh            |    7 +
> >  tools/testing/selftests/hid/hid-tablet.sh          |    7 +
> >  tools/testing/selftests/hid/hid-usb_crash.sh       |    7 +
> >  tools/testing/selftests/hid/hid-wacom.sh           |    7 +
> >  tools/testing/selftests/hid/run-hid-tools-tests.sh |   28 +
> >  tools/testing/selftests/hid/settings               |    3 +
> >  tools/testing/selftests/hid/tests/__init__.py      |    2 +
> >  tools/testing/selftests/hid/tests/base.py          |  345 ++++
> >  tools/testing/selftests/hid/tests/conftest.py      |   81 +
> >  .../selftests/hid/tests/descriptors_wacom.py       | 1360 +++++++++++++
> >  .../selftests/hid/tests/test_apple_keyboard.py     |  440 +++++
> >  tools/testing/selftests/hid/tests/test_gamepad.py  |  209 ++
> >  tools/testing/selftests/hid/tests/test_hid_core.py |  154 ++
> >  .../selftests/hid/tests/test_ite_keyboard.py       |  166 ++
> >  tools/testing/selftests/hid/tests/test_keyboard.py |  485 +++++
> >  tools/testing/selftests/hid/tests/test_mouse.py    |  977 +++++++++
> >  .../testing/selftests/hid/tests/test_multitouch.py | 2088 ++++++++++++++++++++
> >  tools/testing/selftests/hid/tests/test_sony.py     |  282 +++
> >  tools/testing/selftests/hid/tests/test_tablet.py   |  872 ++++++++
> >  .../testing/selftests/hid/tests/test_usb_crash.py  |  103 +
> >  .../selftests/hid/tests/test_wacom_generic.py      |  844 ++++++++
> >  tools/testing/selftests/hid/vmtest.sh              |   25 +-
> >  31 files changed, 8554 insertions(+), 10 deletions(-)
> > ---
> > base-commit: 2f7f4efb9411770b4ad99eb314d6418e980248b4
> > change-id: 20230217-import-hid-tools-tests-dc0cd4f3c8a8
> > 
> > Best regards,
> > -- 
> > Benjamin Tissoires <benjamin.tissoires@redhat.com>
> > 
>
Roderick Colenbrander April 4, 2023, 11:22 p.m. UTC | #3
Hi Benjamin,

I like the direction of bundling the tests with the kernel and should
make it easier in case there are driver changes breaking tests as
well.

Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com>

Thanks,
Roderick Colenbrander

On Mon, Apr 3, 2023 at 6:54 PM Peter Hutterer <peter.hutterer@who-t.net> wrote:
>
> On Mon, Apr 03, 2023 at 06:20:24PM +0200, Benjamin Tissoires wrote:
> > On Feb 17 2023, Benjamin Tissoires wrote:
> > > I have been running hid-tools for a while, but it was in its own
> > > separate repository for multiple reasons. And the past few weeks
> > > I finally managed to make the kernel tests in that repo in a
> > > state where we can merge them in the kernel tree directly:
> > >
> > > - the tests run in ~2 to 3 minutes
> > > - the tests are way more reliable than previously
> > > - the tests are mostly self-contained now (to the exception
> > >   of the Sony ones)
> > >
> > > To be able to run the tests we need to use the latest release
> > > of hid-tools, as this project still keeps the HID parsing logic
> > > and is capable of generating the HID events.
> > >
> > > The series also ensures we can run the tests with vmtest.sh,
> > > allowing for a quick development and test in the tree itself.
> > >
> > > This should allow us to require tests to be added to a series
> > > when we see fit and keep them alive properly instead of having
> > > to deal with 2 repositories.
> > >
> > > In Cc are all of the people who participated in the elaboration
> > > of those tests, so please send back a signed-off-by for each
> > > commit you are part of.
> > >
> > > This series applies on top of the for-6.3/hid-bpf branch, which
> > > is the one that added the tools/testing/selftests/hid directory.
> > > Given that this is unlikely this series will make the cut for
> > > 6.3, we might just consider this series to be based on top of
> > > the future 6.3-rc1.
> > >
> > > Cheers,
> > > Benjamin
> > >
> > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
> > > ---
> >
> > Jiri, do you mind if I push that code in the hid tree with the following
> > changes:
> > - Peter privately gave me his signed-off-by
>
> Apologies, this fell off my list after the initial ack in a meeting with
> Benjamin. This time publicly:
>   Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
> for the relevant commits.
>
> Cheers,
>   Peter
>
>
> > - I included changes from https://gitlab.freedesktop.org/libevdev/hid-tools/-/merge_requests/143
> >   to fix the failing sony tests in v6.3
> >
> > I am not a big fan of sending a v2 because the ML are not happy with the
> > amount of changes...
> >
> > Cheers,
> > Benjamin
> >
> > > Benjamin Tissoires (11):
> > >       selftests: hid: make vmtest rely on make
> > >       selftests: hid: import hid-tools hid-core tests
> > >       selftests: hid: import hid-tools hid-gamepad tests
> > >       selftests: hid: import hid-tools hid-keyboards tests
> > >       selftests: hid: import hid-tools hid-mouse tests
> > >       selftests: hid: import hid-tools hid-multitouch and hid-tablets tests
> > >       selftests: hid: import hid-tools wacom tests
> > >       selftests: hid: import hid-tools hid-apple tests
> > >       selftests: hid: import hid-tools hid-ite tests
> > >       selftests: hid: import hid-tools hid-sony and hid-playstation tests
> > >       selftests: hid: import hid-tools usb-crash tests
> > >
> > >  tools/testing/selftests/hid/Makefile               |   12 +
> > >  tools/testing/selftests/hid/config                 |   11 +
> > >  tools/testing/selftests/hid/hid-apple.sh           |    7 +
> > >  tools/testing/selftests/hid/hid-core.sh            |    7 +
> > >  tools/testing/selftests/hid/hid-gamepad.sh         |    7 +
> > >  tools/testing/selftests/hid/hid-ite.sh             |    7 +
> > >  tools/testing/selftests/hid/hid-keyboard.sh        |    7 +
> > >  tools/testing/selftests/hid/hid-mouse.sh           |    7 +
> > >  tools/testing/selftests/hid/hid-multitouch.sh      |    7 +
> > >  tools/testing/selftests/hid/hid-sony.sh            |    7 +
> > >  tools/testing/selftests/hid/hid-tablet.sh          |    7 +
> > >  tools/testing/selftests/hid/hid-usb_crash.sh       |    7 +
> > >  tools/testing/selftests/hid/hid-wacom.sh           |    7 +
> > >  tools/testing/selftests/hid/run-hid-tools-tests.sh |   28 +
> > >  tools/testing/selftests/hid/settings               |    3 +
> > >  tools/testing/selftests/hid/tests/__init__.py      |    2 +
> > >  tools/testing/selftests/hid/tests/base.py          |  345 ++++
> > >  tools/testing/selftests/hid/tests/conftest.py      |   81 +
> > >  .../selftests/hid/tests/descriptors_wacom.py       | 1360 +++++++++++++
> > >  .../selftests/hid/tests/test_apple_keyboard.py     |  440 +++++
> > >  tools/testing/selftests/hid/tests/test_gamepad.py  |  209 ++
> > >  tools/testing/selftests/hid/tests/test_hid_core.py |  154 ++
> > >  .../selftests/hid/tests/test_ite_keyboard.py       |  166 ++
> > >  tools/testing/selftests/hid/tests/test_keyboard.py |  485 +++++
> > >  tools/testing/selftests/hid/tests/test_mouse.py    |  977 +++++++++
> > >  .../testing/selftests/hid/tests/test_multitouch.py | 2088 ++++++++++++++++++++
> > >  tools/testing/selftests/hid/tests/test_sony.py     |  282 +++
> > >  tools/testing/selftests/hid/tests/test_tablet.py   |  872 ++++++++
> > >  .../testing/selftests/hid/tests/test_usb_crash.py  |  103 +
> > >  .../selftests/hid/tests/test_wacom_generic.py      |  844 ++++++++
> > >  tools/testing/selftests/hid/vmtest.sh              |   25 +-
> > >  31 files changed, 8554 insertions(+), 10 deletions(-)
> > > ---
> > > base-commit: 2f7f4efb9411770b4ad99eb314d6418e980248b4
> > > change-id: 20230217-import-hid-tools-tests-dc0cd4f3c8a8
> > >
> > > Best regards,
> > > --
> > > Benjamin Tissoires <benjamin.tissoires@redhat.com>
> > >
> >