libevdev
0.6
A wrapper library for evdev devices
|
libevdev's internal test suite uses the Check unit testing framework.
Tests are divided into test suites and test cases. Most tests create a uinput device, so you'll need to run as root.
To run a specific suite only:
export CK_RUN_SUITE="suite name"
To run a specific test case only:
export CK_RUN_TEST="test case name"
To get a list of all suites or tests:
git grep "suite_create" git grep "tcase_create"
By default, check forks, making debugging harder. Run gdb as below to avoid forking.
sudo CK_FORK=no CK_RUN_TEST="test case name" gdb ./test/test-libevdev
A special target make gcov-report.txt
exists that runs gcov and leaves a libevdev.c.gcov
file. Check that for test coverage.
make check
is hooked up to run the test and gcov (again, needs root).
The test suite creates a lot of devices, very quickly. Add the following xorg.conf.d snippet to avoid the devices being added as X devices (at the time of writing, mutter can't handle these devices and exits after getting a BadDevice error).
$ cat /etc/X11/xorg.conf.d/99-ignore-libevdev-devices.conf Section "InputClass" Identifier "Ignore libevdev test devices" MatchProduct "libevdev test device" Option "Ignore" "on" EndSection