Skip to content

xfree86: Implement a test input driver

This PR implements a emulated input driver that can be used for X server testing. The driver is being included into the X server instead of living in a separate driver repository due to a recommendation by @whot here.

When included into the server configuration, the emulated input driver creates a named socked at a path specified in the configuration. Each emulated input device uses a separate named socket. The test code can then connect to the socket and issue commands that correspond directly to xf86Post{InputEvent} function calls. A synchronization primitive is included which allows the controlling code to wait until the X server processes an event completely.

The xorg-gtest framework has been improved to support this X server control interface: xorg/test/xorg-gtest!2 (closed)

Many existing Xorg tests have been refactored to use this interface: xorg/test/xorg-integration-tests!1 (merged)

Most of the tests run at around 0.1s per test. Currently no test takes more than a second to run. This could be improved further by adding an option to only probe the devices that are specified in the config file. According to the logs probing takes most of the 0.1s test run time on the fastest tests.

Edited by Povilas Kanapickas

Merge request reports