libinput/test
Peter Hutterer a55dd604e1 util: add a newtype macro
In a valiant approach to introduce some type-safety (after spending time
debugging a int vs double confusion) this adds a DECLARE_NEWTYPE()
macro that declares a named struct with a single typed value field.

This is basically the C version of Rusts "struct Foo(u32)" with
a few accessors auto-generated by the macro.

C is happy to silently convert between base types but it doesn't do
so for structs so this allows us to have some type safety
when we accidentally assign two incompatible fields to each other (e.g.
an axis value in device units vs a percentage value).

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1171>
2025-04-04 11:05:20 +00:00
..
50-litest.conf test: rename the identifier in the 50-litest.conf 2020-07-15 09:36:48 +10:00
build-cxx.cc meson.build: drop the separate cpp flags 2020-09-09 13:57:39 +10:00
build-pedantic.c Fix a couple of coding style issues 2015-05-01 12:09:57 +10:00
check-leftover-udev-rules.sh test: add a script to check for leftover litest rules 2018-03-23 12:41:23 +10:00
generate-gcov-report.sh Hook up gcov for coverage reports 2017-01-20 10:35:37 +10:00
helper-copy-and-exec-from-tmp.sh tools: move the builddir lookup function out to a separate file 2019-03-14 11:28:05 +10:00
libinput-test-suite.man test: rename the identifier in the 50-litest.conf 2020-07-15 09:36:48 +10:00
litest-device-absinfo-override.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-acer-hawaii-keyboard.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-acer-hawaii-touchpad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-aiptek-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-alps-3fg.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-alps-dualpoint.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-alps-semi-mt.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-anker-mouse-kbd.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-apple-appletouch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-apple-internal-keyboard.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-apple-magicmouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-asus-rog-gladius.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-atmel-hover.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-bcm5974.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-calibrated-touchscreen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-cyborg-rat-5.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-dell-canvas-totem-touch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-dell-canvas-totem.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-elan-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-elantech-touchpad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-format-string.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-generic-pressurepad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-generic-singletouch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-gpio-keys.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-hp-wmi-hotkeys.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-huion-pentablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-huion-q620m-dial.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-ignored-mouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-all-codes.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-quirked.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-razer-blackwidow.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-razer-blade-stealth-videoswitch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard-razer-blade-stealth.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-keyboard.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-lenovo-scrollpoint.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-lid-switch-surface3.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-lid-switch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-logitech-media-keyboard-elite.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-logitech-trackball.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-magic-trackpad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-low-dpi.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-roccat.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-wheel-click-angle.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-wheel-click-count.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse-wheel-tilt.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-mouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-ms-nano-transceiver-mouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-ms-surface-cover.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-nexus4-touch-screen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-protocol-a-touch-screen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-qemu-usb-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-sony-vaio-keys.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-hover.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-i2c.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-phantomclicks.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-pressurepad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-rmi4.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-st.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-t440.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-x1-carbon-3rd.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-synaptics-x220.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-tablet-doubledial.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-tablet-mode-switch.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-tablet-rel-dial.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-thinkpad-extrabuttons.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touch-screen.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touchpad-palm-threshold-zero.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touchscreen-fuzz.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touchscreen-invalid-range.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-touchscreen-mt-tool.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-trackpoint.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-uclogic-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-vmware-virtual-usb-mouse.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-bamboo-2fg-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-bamboo-2fg-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-bamboo-2fg-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-bamboo-16fg-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-calibrated-tablet.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-cintiq-12wx-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-cintiq-13hdt-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-13hdt-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-13hdt-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-cintiq-24hd-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-cintiq-24hdt-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-pro-16-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-pro-16-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-cintiq-pro-16-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-ekr.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-hid4800-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-intuos3-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-intuos5-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-intuos5-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-intuos5-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-isdv4-524c-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-isdv4-4200-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-isdv4-e6-finger.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wacom-isdv4-e6-pen.c test: fix wacom test devices to use pressure 0 on proximity out 2025-04-04 05:13:00 +00:00
litest-device-wacom-mobilestudio-pro-pad.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-waltop-tablet.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-wheel-only.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-xen-virtual-pointer.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-device-yubikey.c test: stringify the LITEST_ value as the device's name 2025-03-13 05:57:37 +00:00
litest-int.h test: split litest's main() into a separate file 2025-04-04 06:28:07 +00:00
litest-main.c test: split litest's main() into a separate file 2025-04-04 06:28:07 +00:00
litest-runner.c test: add extra highlighting for the backtrace 2025-03-14 09:52:30 +10:00
litest-runner.h test: fix litest_test_param_get_double 2025-02-18 14:58:28 +10:00
litest-selftest.c test: re-enable the selftests 2025-04-04 12:09:49 +10:00
litest.c test: split litest's main() into a separate file 2025-04-04 06:28:07 +00:00
litest.h test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
symbols-leak-test test: print the usage from the symbols-leak-test 2022-11-22 19:02:03 +00:00
test-builddir-lookup.c tools: move the builddir lookup function out to a separate file 2019-03-14 11:28:05 +10:00
test-device.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-gestures.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-keyboard.c Replace strneq() with hardcoded lengths with strstartswith() 2025-01-20 10:29:47 +00:00
test-library-version.c test: split the library version test out 2019-03-14 11:28:05 +10:00
test-log.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-misc.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-pad.c pad: fix handling of direct mode switch buttons 2025-03-27 04:57:33 +00:00
test-path.c test: remove duplicate empty lines from the test/ directory 2025-03-11 11:41:34 +00:00
test-pointer.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-quirks.c test: convert most ranged tests to parametrized ones 2025-02-20 09:34:14 +01:00
test-switch.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-tablet.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-totem.c test: don't include an internal header in the totem tests 2025-03-13 05:57:37 +00:00
test-touch.c test: standardize the wacom device names 2025-03-13 05:57:37 +00:00
test-touchpad-buttons.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-touchpad-tap.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-touchpad.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-trackball.c test: add litest-runner as test suite runner 2024-10-30 23:20:42 +00:00
test-trackpoint.c test: make the timeout functions auto-dispatching 2025-04-04 05:13:00 +00:00
test-udev.c Replace strneq() with hardcoded lengths with strstartswith() 2025-01-20 10:29:47 +00:00
test-util-includes.c Split utility functions into separate source files 2019-09-11 12:23:04 +10:00
test-utils.c util: add a newtype macro 2025-04-04 11:05:20 +00:00
test_quirks_files.py test: add a test to make sure we don't accidentally add Logitech receivers 2023-03-23 12:13:23 +10:00
valgrind.suppressions test: grab the device before any lid or tablet mode switches 2020-07-07 18:51:33 +10:00