The litest features overlap with the litest device specifiers, so it's easy to pass in LITEST_MOUSE where LITEST_POINTER should be passed in, and vice versa. Lacking proper type checking the best we can do here is simply move the devices into the negative range and check for that.
Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> --- test/litest.c | 5 +++++ test/litest.h | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/test/litest.c b/test/litest.c index 00db464..0341e9a 100644 --- a/test/litest.c +++ b/test/litest.c @@ -157,6 +157,9 @@ litest_add_tcase(struct suite *suite, void *func, { struct litest_test_device **dev = devices; + assert(required >= LITEST_DISABLE_DEVICE); + assert(excluded >= LITEST_DISABLE_DEVICE); + if (required == LITEST_DISABLE_DEVICE && excluded == LITEST_DISABLE_DEVICE) { litest_add_tcase_no_device(suite, func); @@ -221,6 +224,8 @@ litest_add_for_device(const char *name, struct suite *s; struct litest_test_device **dev = devices; + assert(type < LITEST_NO_DEVICE); + s = get_suite(name); while (*dev) { if ((*dev)->type == type) { diff --git a/test/litest.h b/test/litest.h index 2dcb7b2..aac71e4 100644 --- a/test/litest.h +++ b/test/litest.h @@ -35,15 +35,15 @@ enum litest_device_type { LITEST_NO_DEVICE = -1, - LITEST_SYNAPTICS_CLICKPAD, - LITEST_SYNAPTICS_TOUCHPAD, - LITEST_SYNAPTICS_TOPBUTTONPAD, - LITEST_BCM5974, - LITEST_KEYBOARD, - LITEST_TRACKPOINT, - LITEST_MOUSE, - LITEST_WACOM_TOUCH, - LITEST_ALPS_SEMI_MT, + LITEST_SYNAPTICS_CLICKPAD = -2, + LITEST_SYNAPTICS_TOUCHPAD = -3, + LITEST_SYNAPTICS_TOPBUTTONPAD = -4, + LITEST_BCM5974 = -5, + LITEST_KEYBOARD = -6, + LITEST_TRACKPOINT = -7, + LITEST_MOUSE = -8, + LITEST_WACOM_TOUCH = -9, + LITEST_ALPS_SEMI_MT = -10, }; enum litest_device_feature { -- 1.9.3 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel