libinput
0.18.0
A wrapper library for input devices
|
The libinput test suite is based on Check and runs automatically during make check
.
Check itself is wrapped into a libinput-specific test suite called litest. Tests are found in $srcdir/test/
, the test binaries are prefixed with test-
and can be run individually.
uinput devices created by the test suite are usually recognised by X as input devices. All events sent through these devices will generate X events and interfere with your desktop.
Copy the file $srcdir/test/50-litest.conf
into your /etc/X11/xorg.conf.d
and restart X. This will ignore any litest devices and thus not interfere with your desktop.
Most tests require the creation of uinput devices and access to the resulting /dev/input/eventX
nodes. Some tests require temporary udev rules. This usually requires the tests to be run as root.
litest's tests are grouped by test groups and devices. A test group is e.g. "touchpad:tap" and incorporates all tapping-related tests for touchpads. Each test function is (usually) run with one or more specific devices. The --list
commandline argument shows the list of suites and tests.
In the above example, the "device:wheel" suite is run for the "wheel only" and the "blackwidow" device. Both devices are automatically instantiated through uinput by litest. The "no device" entry signals that litest does not instantiate a uinput device for a specific test (though the test itself may instantiate one).
The --filter-test
argument enables selective running of tests through basic shell-style function name matching. For example:
The --filter-device
argument enables selective running of tests through basic shell-style device name matching. The device names matched are the litest-specific shortnames, see the output of --list
. For example:
The --filter-group
argument enables selective running of test groups through basic shell-style test group matching. The test groups matched are litest-specific test groups, see the output of --list
. For example:
The --filter-device
and --filter-group
arguments can be combined with --list
to show which groups and devices will be affected.
Each test supports the --verbose
commandline option to enable debugging output, see libinput_log_set_priority() for details. The LITEST_VERBOSE
environment variable, if set, also enables verbose mode.