libinput/test
Peter Hutterer 4ec2947cc9 test: add per-device udev rule support
Don't rely on a magic version tag, instead let a device define a udev rule and
drop that into the udev runtime directory before the device is created.

There are a couple of caveats with this approach: first, since this changes
system-wide state it may cause issues on the device the test suite is run on.
This can be avoided if the udev rules have filter patterns that ensure only
test devices are affected.

Second, the check test suite aborts but it doesn't run the teardown() function
if a test fails. So far this wasn't a problem since uinput devices disappear
whenever we exit. The rules files will hang around though, so an unchecked
fixture was added to delete all litest-foo.rules files before and after a test
case starts. Unchecked fixtures are run regardless of the exit status of the
test but run in the same address space - i.e. no ck_assert() usage.

Also unchecked fixtures are only run once per test-case, not once per test
function. For us, that means they're only run once per device (we use the
devices as test case), i.e. if a test fails and the udev rule isn't tidied up,
the next test may be unpredictable. This shouldn't matter too much though.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-02-03 10:34:26 +10:00
..
50-litest.conf test: Prefix litest created device names with litest 2014-06-25 11:11:45 +10:00
build-cxx.cc test: Add include from C++ build test 2014-03-29 00:51:44 +01:00
build-pedantic.c build-pedantic: use main(void) 2015-01-12 07:54:12 +10:00
device.c test: fix two compiler warnings 2014-12-11 17:34:05 +10:00
keyboard.c evdev: Release still pressed keys/buttons when removing device 2014-08-18 22:41:16 +02:00
litest-alps-semi-mt.c test: move semi-mt special tracking into the shared litest.c 2015-01-16 07:42:50 +10:00
litest-bcm5974.c test: auto-update for BTN_TOOL_* when using litest_touch_ functions 2014-07-23 15:08:15 +10:00
litest-generic-singletouch.c test: add a generic single-touch device 2014-08-26 13:49:16 +10:00
litest-int.h test: add per-device udev rule support 2015-02-03 10:34:26 +10:00
litest-keyboard.c style fix: Remove duplicate empty lines 2014-07-22 09:00:45 +10:00
litest-mouse.c test: drop empty test device interfaces 2015-01-06 09:53:25 +10:00
litest-ms-surface-cover.c test: rename LITEST_POINTER to LITEST_RELATIVE 2014-11-11 09:55:42 +10:00
litest-qemu-usb-tablet.c test: add QEMU tablet as test device 2014-11-11 09:55:42 +10:00
litest-synaptics-hover.c test: add a semi-mt + hover synaptics touchpad 2015-01-16 07:42:50 +10:00
litest-synaptics-st.c test: auto-update for BTN_TOOL_* when using litest_touch_ functions 2014-07-23 15:08:15 +10:00
litest-synaptics-t440.c test: auto-update for BTN_TOOL_* when using litest_touch_ functions 2014-07-23 15:08:15 +10:00
litest-synaptics-x1-carbon-3rd.c test: add per-device udev rule support 2015-02-03 10:34:26 +10:00
litest-synaptics.c test: auto-update for BTN_TOOL_* when using litest_touch_ functions 2014-07-23 15:08:15 +10:00
litest-trackpoint.c test: drop empty test device interfaces 2015-01-06 09:53:25 +10:00
litest-vmware-virtual-usb-mouse.c test: add VMWare Virtual USB Mouse device 2014-11-11 09:55:42 +10:00
litest-wacom-touch.c test: drop unused includes for libinput-util.h 2014-06-11 09:43:52 +10:00
litest-xen-virtual-pointer.c test: add Xen Virtual Pointer device 2014-11-11 09:55:42 +10:00
litest.c test: add per-device udev rule support 2015-02-03 10:34:26 +10:00
litest.h test: add per-device udev rule support 2015-02-03 10:34:26 +10:00
log.c path: store the udev device instead of just the devnode 2014-11-25 16:33:01 +10:00
Makefile.am test: add a test device for the Lenovo X1 Carbon 3rd 2015-01-29 14:40:26 +10:00
misc.c Parse the MOUSE_WHEEL_CLICK_ANGLE udev property if present 2015-01-13 13:35:42 +10:00
path.c Add libinput_set_user_data 2014-12-23 14:49:39 +10:00
pointer.c Rename functions for left handed device configurations 2015-01-15 10:17:57 +10:00
touch.c Rename functions for left handed device configurations 2015-01-15 10:17:57 +10:00
touchpad.c test: add tests for new lenovo touchpads 2015-01-29 14:44:35 +10:00
trackpoint.c Add pointer axis sources to the API 2014-12-24 10:47:00 +10:00
udev.c Add libinput_set_user_data 2014-12-23 14:49:39 +10:00
valgrind.suppressions test: automatically run the tests against valgrind for leaks 2014-04-10 11:11:56 +10:00