How to make kernel and user space CI for input devices?
summary
Builds a per-commit CI that injects synthetic devices via uinput and parses HID descriptors to generate realistic event reports, runs about 248 manual-style device tests (took two days pre-automation), and automates them in GitLab CI using cached container images, QEMU VM images and self-hosted runners. Tests cover keyboards, mice and touchpads with replayable event suites; result is higher confidence (kernel and userspace commits gated by the suite) though some manual/backport testing still remains.
AI-written summary · about
chapters (12)
- 0:00Introduction to input testing
- 1:35Understanding HID protocols
- 3:21Evolution of touch input
- 5:44User space vs kernel input
- 7:18The limits of manual testing
- 9:03Introducing the Ug tool
- 10:57Defining tests with Ug
- 13:44Automated regression testing
- 17:09Building an integration suite
- 18:54CI pipeline implementation
- 24:36Executing tests in the pipeline
- 29:21Conclusion and takeaways
related talks
34mLinux Kernel Testing: Providing Better Results to the Upstream Community
40mAutomated Full System Testing on Hardware with OpenQA
27mPlugging into the Red Hat kernel CI ecosystem
29mTesting, a Journey from Testing Kernels to Testing Debian and Yocto
18mSimple KernelCI Labs with Labgrid
37mKernel CI – How Far Can It Go?
19mChecking your work: Linux kernel testing and CI
33mKernel CI – How Far Can It Go?
