test: avoid erroneous devices to be passed into the test suites

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.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
Peter Hutterer 2014-08-04 12:49:59 +10:00
parent e9239d81a9
commit 647b2ba18d
2 changed files with 15 additions and 10 deletions

View file

@ -159,6 +159,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);
@ -223,6 +226,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) {

View file

@ -35,16 +35,16 @@
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_GENERIC_SINGLETOUCH,
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,
LITEST_GENERIC_SINGLETOUCH = -11,
};
enum litest_device_feature {